Mercurial > hg
view tests/test-churn @ 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 | ffd85ab578be |
children | 2e7647d25458 |
line wrap: on
line source
#!/bin/sh echo "[extensions]" >> $HGRCPATH echo "churn=" >> $HGRCPATH echo % create test repository hg init repo cd repo echo a > a hg ci -Am adda -u user1 -d 6:00 echo b >> a echo b > b hg ci -m changeba -u user2 -d 9:00 a hg ci -Am addb -u user2 -d 9:30 echo c >> a echo c >> b echo c > c hg ci -m changeca -u user3 -d 12:00 a hg ci -m changecb -u user3 -d 12:15 b hg ci -Am addc -u user3 -d 12:30 mkdir -p d/e echo abc > d/e/f1.txt hg ci -Am "add d/e/f1.txt" -u user1 -d 12:45 d/e/f1.txt mkdir -p d/g echo def > d/g/f2.txt hg ci -Am "add d/g/f2.txt" -u user1 -d 13:00 d/g/f2.txt echo % churn separate directories cd d hg churn e echo % churn all hg churn echo % churn excluding one dir hg churn -X e echo % churn up to rev 2 hg churn -r :2 cd .. echo % churn with aliases cat > ../aliases <<EOF user1 alias1 user3 alias3 EOF hg churn --aliases ../aliases echo % churn with .hgchurn mv ../aliases .hgchurn hg churn rm .hgchurn echo % churn with column specifier COLUMNS=40 hg churn echo % churn by hour hg churn -f '%H' -s echo % churn with separated added/removed lines hg rm d/g/f2.txt hg ci -Am "removed d/g/f2.txt" -u user1 -d 14:00 d/g/f2.txt hg churn --diffstat echo % churn --diffstat with color hg --config extensions.color= churn --config color.mode=ansi \ --diffstat --color=always echo % changeset number churn hg churn -c echo 'with space = no-space' >> ../aliases echo a >> a hg commit -m a -u 'with space' -d 15:00 echo % churn with space in alias hg churn --aliases ../aliases -r tip cd .. # issue 833: ZeroDivisionError hg init issue-833 cd issue-833 touch foo hg ci -Am foo # this was failing with a ZeroDivisionError hg churn cd ..