Mercurial > hg
view tests/test-globalopts @ 11765:aff419e260f9 stable
templatefilters: make json filter handle multibyte characters correctly
It aims to fix javascript error of hgweb's graph view in Japanese 'cp932'
encoding.
'cp932' contains multibyte characters ending with '\x5c' (backslash),
e.g. '\x94\x5c' for Japanese Kanji 'Noh'.
Due to json filter escapes '\' to '\\', multibyte string ending with
'\x5c' is translated to "xxx\", resulting javascript parse error on
a web browser.
This patch changes json() to pass unicode to jsonescape().
Unicode decoding error handler changed to 'replace' by Patrick Mézard.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 07 Aug 2010 16:27:16 +0900 |
parents | dbc40381620e |
children |
line wrap: on
line source
#!/bin/sh "$TESTDIR/hghave" no-outer-repo || exit 80 hg init a cd a echo a > a hg ci -A -d'1 0' -m a cd .. hg init b cd b echo b > b hg ci -A -d'1 0' -m b cd .. hg clone a c cd c hg pull -f ../b hg merge cd .. echo %% -R/--repository hg -R a tip hg --repository b tip echo %% implicit -R hg ann a/a hg ann a/a a/a hg ann a/a b/b hg -R b ann a/a hg log echo %% abbrev of long option hg --repo c tip echo "%% earlygetopt with duplicate options (36d23de02da1)" hg --cwd a --cwd b --cwd c tip hg --repo c --repository b -R a tip echo "%% earlygetopt short option without following space" hg -q -Rb tip echo "%% earlygetopt with illegal abbreviations" hg --confi "foo.bar=baz" hg --cw a tip hg --rep a tip hg --repositor a tip hg -qR a tip hg -qRa tip echo %% --cwd hg --cwd a parents echo %% -y/--noninteractive - just be sure it is parsed hg --cwd a tip -q --noninteractive hg --cwd a tip -q -y echo %% -q/--quiet hg -R a -q tip hg -R b -q tip hg -R c --quiet parents echo %% -v/--verbose hg --cwd c head -v hg --cwd b tip --verbose echo %% --config hg --cwd c --config paths.quuxfoo=bar paths | grep quuxfoo > /dev/null && echo quuxfoo hg --cwd c --config '' tip -q hg --cwd c --config a.b tip -q hg --cwd c --config a tip -q hg --cwd c --config a.= tip -q hg --cwd c --config .b= tip -q echo %% --debug hg --cwd c log --debug echo %% --traceback hg --cwd c --config x --traceback tip 2>&1 | grep -i 'traceback' echo %% --time hg --cwd a --time tip 2>&1 | grep '^Time:' | sed 's/[0-9][0-9]*/x/g' echo %% --version hg --version -q | sed 's/version [^)]*/version xxx/' echo %% -h/--help hg -h hg --help echo %% not tested: --debugger