view tests/test-audit-path.out @ 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 e9d3a11eacad
children
line wrap: on
line source

% should fail
abort: path contains illegal component: .hg/00changelog.i
adding a/a
% should fail
abort: path 'b/b' traverses symbolic link 'b'
% should succeed
% should still fail - maybe
abort: path 'b/b' traverses symbolic link 'b'
% unbundle tampered bundle
adding changesets
adding manifests
adding file changes
added 5 changesets with 6 changes to 6 files (+4 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
% attack .hg/test
.hg/test
abort: path contains illegal component: .hg/test
% attack foo/.hg/test
foo/.hg/test
abort: path 'foo/.hg/test' is inside repo 'foo'
% attack back/test where back symlinks to ..
back
back/test
abort: path 'back/test' traverses symbolic link 'back'
% attack ../test
../test
abort: path contains illegal component: ../test
% attack /tmp/test
/tmp/test
abort: No such file or directory: [HGTMP]/test-audit-path/target//tmp/test