view tests/test-fncache @ 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 2816239e0020
children
line wrap: on
line source

#!/bin/sh

echo "% init repo1"
hg init repo1
cd repo1

echo
echo "% add a; ci"
echo "some text" > a
hg add
hg ci -m first

echo
echo "% cat .hg/store/fncache"
cat .hg/store/fncache

echo
echo "% add a.i/b; ci"
mkdir a.i
echo "some other text" > a.i/b
hg add
hg ci -m second

echo
echo "% cat .hg/store/fncache"
cat .hg/store/fncache

echo
echo "% add a.i.hg/c; ci"
mkdir a.i.hg
echo "yet another text" > a.i.hg/c
hg add
hg ci -m third

echo
echo "% cat .hg/store/fncache"
cat .hg/store/fncache

echo
echo "% hg verify"
hg verify

echo
echo "% rm .hg/store/fncache"
rm .hg/store/fncache

echo
echo "% hg verify"
hg verify

# try non store repo encoding
cd ..
echo % non store repo
hg --config format.usestore=False init foo
cd foo
mkdir tst.d
echo foo > tst.d/foo
hg ci -Amfoo
find .hg | sort

cd ..
echo % non fncache repo
hg --config format.usefncache=False init bar
cd bar
mkdir tst.d
echo foo > tst.d/Foo
hg ci -Amfoo
find .hg | sort

exit 0