Mercurial > hg
view tests/test-merge-default @ 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 | 95c7c4b7e67a |
children |
line wrap: on
line source
#!/bin/sh hg init echo a > a hg commit -A -ma echo b >> a hg commit -mb echo c >> a hg commit -mc hg up 1 echo d >> a hg commit -md hg up 1 echo e >> a hg commit -me hg up 1 echo % should fail because not at a head hg merge hg up echo % should fail because \> 2 heads HGMERGE=internal:other; export HGMERGE hg merge echo % should succeed hg merge 2 hg commit -mm1 echo % should succeed - 2 heads hg merge -P hg merge hg commit -mm2 echo % should fail because at tip hg merge hg up 0 echo % should fail because 1 head hg merge hg up 3 echo f >> a hg branch foobranch hg commit -mf echo % should fail because merge with other branch hg merge # Test for issue2043: ensure that 'merge -P' shows ancestors of 6 that # are not ancestors of 7, regardless of where their least common # ancestor is. echo % merge preview not affected by common ancestor hg up -q 7 hg merge -q -P 6 # expect: 2, 4, 5, 6 true