author | Matt Mackall <mpm@selenic.com> |
Thu, 12 Aug 2010 18:09:03 -0500 | |
changeset 11832 | 7fa36341e7a0 |
parent 9483 | 29d2a7e3a88b |
child 12156 | 4c94b6d0fb1c |
permissions | -rwxr-xr-x |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
1 |
#!/bin/sh |
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
2 |
|
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
3 |
hg init t |
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
4 |
cd t |
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
5 |
|
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
6 |
# we need a repo with some legacy latin-1 changesets |
3780
d0a48313b0f6
test-encoding: copy a bundle from TESTDIR rather than constructing one
Matt Mackall <mpm@selenic.com>
parents:
3779
diff
changeset
|
7 |
hg unbundle $TESTDIR/legacy-encoding.hg |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
8 |
hg co |
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
9 |
|
3789
734b1d6ba3dc
Use python instead of shell printf with \x sequences for test-encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3783
diff
changeset
|
10 |
python << EOF |
734b1d6ba3dc
Use python instead of shell printf with \x sequences for test-encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3783
diff
changeset
|
11 |
f = file('latin-1', 'w'); f.write("latin-1 e' encoded: \xe9"); f.close() |
734b1d6ba3dc
Use python instead of shell printf with \x sequences for test-encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3783
diff
changeset
|
12 |
f = file('utf-8', 'w'); f.write("utf-8 e' encoded: \xc3\xa9"); f.close() |
734b1d6ba3dc
Use python instead of shell printf with \x sequences for test-encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3783
diff
changeset
|
13 |
f = file('latin-1-tag', 'w'); f.write("\xe9"); f.close() |
734b1d6ba3dc
Use python instead of shell printf with \x sequences for test-encoding.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3783
diff
changeset
|
14 |
EOF |
3783
4421cef5d3f0
Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents:
3780
diff
changeset
|
15 |
|
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
16 |
echo % should fail with encoding error |
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
17 |
echo "plain old ascii" > a |
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
18 |
hg st |
3839
3820385fb113
Fixes test-encoding for python2.3 and minor cleanups:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3835
diff
changeset
|
19 |
HGENCODING=ascii hg ci -l latin-1 -d "1000000 0" |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
20 |
|
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
21 |
echo % these should work |
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
22 |
echo "latin-1" > a |
3839
3820385fb113
Fixes test-encoding for python2.3 and minor cleanups:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3835
diff
changeset
|
23 |
HGENCODING=latin-1 hg ci -l latin-1 -d "1000000 0" |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
24 |
echo "utf-8" > a |
3839
3820385fb113
Fixes test-encoding for python2.3 and minor cleanups:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3835
diff
changeset
|
25 |
HGENCODING=utf-8 hg ci -l utf-8 -d "1000000 0" |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
26 |
|
3839
3820385fb113
Fixes test-encoding for python2.3 and minor cleanups:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3835
diff
changeset
|
27 |
HGENCODING=latin-1 hg tag -d "1000000 0" `cat latin-1-tag` |
3862
46abbed02b2d
Use UTF-8 in .hg/branch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3845
diff
changeset
|
28 |
HGENCODING=latin-1 hg branch `cat latin-1-tag` |
3839
3820385fb113
Fixes test-encoding for python2.3 and minor cleanups:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3835
diff
changeset
|
29 |
HGENCODING=latin-1 hg ci -d "1000000 0" -m 'latin1 branch' |
3827
3674ca805a5b
log: convert branch names to the local encoding
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3789
diff
changeset
|
30 |
rm .hg/branch |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
31 |
|
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
32 |
echo "% hg log (ascii)" |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
33 |
hg --encoding ascii log |
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
34 |
echo "% hg log (latin-1)" |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
35 |
hg --encoding latin-1 log |
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
36 |
echo "% hg log (utf-8)" |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
37 |
hg --encoding utf-8 log |
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
38 |
echo "% hg tags (ascii)" |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
39 |
HGENCODING=ascii hg tags |
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
40 |
echo "% hg tags (latin-1)" |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
41 |
HGENCODING=latin-1 hg tags |
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
42 |
echo "% hg tags (utf-8)" |
3777
5da370c2f72d
Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
43 |
HGENCODING=utf-8 hg tags |
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
44 |
echo "% hg branches (ascii)" |
3827
3674ca805a5b
log: convert branch names to the local encoding
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3789
diff
changeset
|
45 |
HGENCODING=ascii hg branches |
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
46 |
echo "% hg branches (latin-1)" |
3827
3674ca805a5b
log: convert branch names to the local encoding
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3789
diff
changeset
|
47 |
HGENCODING=latin-1 hg branches |
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
48 |
echo "% hg branches (utf-8)" |
3827
3674ca805a5b
log: convert branch names to the local encoding
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3789
diff
changeset
|
49 |
HGENCODING=utf-8 hg branches |
3835
d1ce5461beed
Allow the user to specify the fallback encoding for the changelog
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3827
diff
changeset
|
50 |
|
d1ce5461beed
Allow the user to specify the fallback encoding for the changelog
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3827
diff
changeset
|
51 |
echo '[ui]' >> .hg/hgrc |
3839
3820385fb113
Fixes test-encoding for python2.3 and minor cleanups:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3835
diff
changeset
|
52 |
echo 'fallbackencoding = koi8-r' >> .hg/hgrc |
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
53 |
echo "% hg log (utf-8)" |
3835
d1ce5461beed
Allow the user to specify the fallback encoding for the changelog
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3827
diff
changeset
|
54 |
HGENCODING=utf-8 hg log |
3843
abaa2cd00d2b
make transcoding more robust
Matt Mackall <mpm@selenic.com>
parents:
3839
diff
changeset
|
55 |
|
9483
29d2a7e3a88b
test-encoding: make test output easier to follow
Martin Geisler <mg@lazybytes.net>
parents:
3862
diff
changeset
|
56 |
echo "% hg log (dolphin)" |
3845
8958417abf62
Make test-encoding return 0
Matt Mackall <mpm@selenic.com>
parents:
3843
diff
changeset
|
57 |
HGENCODING=dolphin hg log |
8958417abf62
Make test-encoding return 0
Matt Mackall <mpm@selenic.com>
parents:
3843
diff
changeset
|
58 |
|
3862
46abbed02b2d
Use UTF-8 in .hg/branch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3845
diff
changeset
|
59 |
HGENCODING=ascii hg branch `cat latin-1-tag` |
46abbed02b2d
Use UTF-8 in .hg/branch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3845
diff
changeset
|
60 |
cp latin-1-tag .hg/branch |
46abbed02b2d
Use UTF-8 in .hg/branch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3845
diff
changeset
|
61 |
HGENCODING=latin-1 hg ci -d "1000000 0" -m 'should fail' |
3845
8958417abf62
Make test-encoding return 0
Matt Mackall <mpm@selenic.com>
parents:
3843
diff
changeset
|
62 |
exit 0 |