Mercurial > hg
view tests/test-bisect @ 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 | c52057614c72 |
children |
line wrap: on
line source
#!/bin/sh set -e echo % init hg init echo % committing changes count=0 echo > a while test $count -lt 32 ; do echo 'a' >> a test $count -eq 0 && hg add hg ci -m "msg $count" -d "$count 0" echo % committed changeset $count count=`expr $count + 1` done echo % log hg log echo % hg up -C hg up -C echo % bisect test hg bisect -r hg bisect -b hg bisect -g 1 hg bisect -g echo skip hg bisect -s hg bisect -g hg bisect -g hg bisect -b hg bisect -g echo % bisect reverse test hg bisect -r hg bisect -b null hg bisect -g tip hg bisect -g echo skip hg bisect -s hg bisect -g hg bisect -g hg bisect -b hg bisect -g hg bisect -r hg bisect -g tip hg bisect -b tip || echo error hg bisect -r hg bisect -g null hg bisect -bU tip hg id echo % reproduce AssertionError, issue1228 and issue1182 hg bisect -r hg bisect -b 4 hg bisect -g 0 hg bisect -s hg bisect -s hg bisect -s echo % reproduce non converging bisect, issue1182 hg bisect -r hg bisect -g 0 hg bisect -b 2 hg bisect -s echo % test no action hg bisect -r hg bisect || echo failure echo % reproduce AssertionError, issue1445 hg bisect -r hg bisect -b 6 hg bisect -g 0 hg bisect -s hg bisect -s hg bisect -s hg bisect -s hg bisect -g set +e echo % test invalid command # assuming that the shell returns 127 if command not found ... hg bisect -r hg bisect --command 'exit 127' echo % test bisecting command cat > script.py <<EOF #!/usr/bin/env python import sys from mercurial import ui, hg repo = hg.repository(ui.ui(), '.') if repo['.'].rev() < 6: sys.exit(1) EOF chmod +x script.py hg bisect -r hg bisect --good tip hg bisect --bad 0 hg bisect --command "'`pwd`/script.py' and some parameters" true