Mercurial > hg
view tests/test-convert-hg-startrev @ 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 | bb5ea66789e3 |
children |
line wrap: on
line source
#!/bin/sh echo '[extensions]' >> $HGRCPATH echo 'graphlog =' >> $HGRCPATH echo 'convert =' >> $HGRCPATH glog() { hg -R "$1" glog --template '{rev} "{desc}" files: {files}\n' } hg init source cd source echo a > a echo b > b hg ci -d '0 0' -qAm '0: add a b' echo c > c hg ci -d '1 0' -qAm '1: add c' hg copy a e echo b >> b hg ci -d '2 0' -qAm '2: copy e from a, change b' hg up -C 0 echo a >> a hg ci -d '3 0' -qAm '3: change a' hg merge hg copy b d hg ci -d '4 0' -qAm '4: merge 2 and 3, copy d from b' echo a >> a hg ci -d '5 0' -qAm '5: change a' cd .. echo % convert from null revision hg convert --config convert.hg.startrev=null source empty glog empty echo % convert from zero revision hg convert --config convert.hg.startrev=0 source full glog full echo % convert from merge parent hg convert --config convert.hg.startrev=1 source conv1 glog conv1 cd conv1 echo % check copy preservation hg log --follow --copies e echo % check copy removal on missing parent hg log --follow --copies d hg cat -r tip a b hg -q verify cd .. echo % convert from merge hg convert --config convert.hg.startrev=4 source conv4 glog conv4 cd conv4 hg up -C hg cat -r tip a b hg -q verify cd ..