view tests/test-encoding @ 9622:9d1a480ca6ea

gendoc: fix synopsis The synopsis is used as an inline literal when generating the manpage. There should not be any whitespace on the inside of the quotation marks in inline literals. Commands with an empty synopsis (such as tags) produces ``tags `` as synopsis, which triggers a warning.
author Martin Geisler <mg@lazybytes.net>
date Tue, 20 Oct 2009 22:42:49 +0200
parents 29d2a7e3a88b
children 4c94b6d0fb1c
line wrap: on
line source

#!/bin/sh

hg init t
cd t

# we need a repo with some legacy latin-1 changesets
hg unbundle $TESTDIR/legacy-encoding.hg
hg co

python << EOF
f = file('latin-1', 'w'); f.write("latin-1 e' encoded: \xe9"); f.close()
f = file('utf-8', 'w'); f.write("utf-8 e' encoded: \xc3\xa9"); f.close()
f = file('latin-1-tag', 'w'); f.write("\xe9"); f.close()
EOF

echo % should fail with encoding error
echo "plain old ascii" > a
hg st
HGENCODING=ascii hg ci -l latin-1 -d "1000000 0"

echo % these should work
echo "latin-1" > a
HGENCODING=latin-1 hg ci -l latin-1 -d "1000000 0"
echo "utf-8" > a
HGENCODING=utf-8 hg ci -l utf-8 -d "1000000 0"

HGENCODING=latin-1 hg tag -d "1000000 0" `cat latin-1-tag`
HGENCODING=latin-1 hg branch `cat latin-1-tag`
HGENCODING=latin-1 hg ci -d "1000000 0" -m 'latin1 branch'
rm .hg/branch

echo "% hg log (ascii)"
hg --encoding ascii log
echo "% hg log (latin-1)"
hg --encoding latin-1 log
echo "% hg log (utf-8)"
hg --encoding utf-8 log
echo "% hg tags (ascii)"
HGENCODING=ascii hg tags
echo "% hg tags (latin-1)"
HGENCODING=latin-1 hg tags
echo "% hg tags (utf-8)"
HGENCODING=utf-8 hg tags
echo "% hg branches (ascii)"
HGENCODING=ascii hg branches
echo "% hg branches (latin-1)"
HGENCODING=latin-1 hg branches
echo "% hg branches (utf-8)"
HGENCODING=utf-8 hg branches

echo '[ui]' >> .hg/hgrc
echo 'fallbackencoding = koi8-r' >> .hg/hgrc
echo "% hg log (utf-8)"
HGENCODING=utf-8 hg log

echo "% hg log (dolphin)"
HGENCODING=dolphin hg log

HGENCODING=ascii hg branch `cat latin-1-tag`
cp latin-1-tag .hg/branch
HGENCODING=latin-1 hg ci -d "1000000 0" -m 'should fail'
exit 0