tests/test-encoding
author Thomas Arendsen Hein <thomas@intevation.de>
Tue, 05 Dec 2006 23:25:28 +0100
changeset 3797 2aef481ac73c
parent 3789 734b1d6ba3dc
child 3824 3674ca805a5b
permissions -rwxr-xr-x
Don't report an error when closing heads during local push (issue387)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3778
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
3781
d0a48313b0f6 test-encoding: copy a bundle from TESTDIR rather than constructing one
Matt Mackall <mpm@selenic.com>
parents: 3780
diff changeset
     7
hg unbundle $TESTDIR/legacy-encoding.hg
3778
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: 3784
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: 3784
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: 3784
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: 3784
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: 3784
diff changeset
    14
EOF
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    15
3778
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
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    19
HGENCODING=ascii hg ci -l latin-1 -d "0 0"
3778
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
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    23
HGENCODING=latin-1 hg ci -l latin-1 -d "0 0"
3778
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    24
echo "utf-8" > a
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    25
HGENCODING=utf-8 hg ci -l utf-8 -d "0 0"
3778
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    26
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    27
HGENCODING=latin-1 hg tag -d "0 0" `cat latin-1-tag`
3778
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    28
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    29
echo % ascii
3778
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    30
hg --encoding ascii log
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    31
echo % latin-1
3778
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    32
hg --encoding latin-1 log
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    33
echo % utf-8
3778
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    34
hg --encoding utf-8 log
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    35
echo % ascii
3778
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    36
HGENCODING=ascii hg tags
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    37
echo % latin-1
3778
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    38
HGENCODING=latin-1 hg tags
3784
4421cef5d3f0 Make quoting in test-encoding simpler
Matt Mackall <mpm@selenic.com>
parents: 3781
diff changeset
    39
echo % utf-8
3778
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    40
HGENCODING=utf-8 hg tags