view tests/test-encoding @ 12403:ba8850911703

test-serve: fix test for binding to low named port on solaris Solaris do not know the service called http, so we use echo instead. Trying to define KILLQUIETLY when running the hgserve function didn't set the value within the function. Now we set the variable before calling the function.
author Mads Kiilerich <mads@kiilerich.com>
date Sat, 25 Sep 2010 02:35:32 +0200
parents 4c94b6d0fb1c
children
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

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

HGENCODING=latin-1 hg tag `cat latin-1-tag`
HGENCODING=latin-1 hg branch `cat latin-1-tag`
HGENCODING=latin-1 hg ci -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 -m 'should fail'
exit 0