tests/test-encoding
author Matt Mackall <mpm@selenic.com>
Sun, 03 Dec 2006 16:16:33 -0600
changeset 3777 5da370c2f72d
child 3779 731c33d32839
permissions -rwxr-xr-x
Add a charset encoding test case
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     7
printf 'HG10BZh91AY&SY\x90\x8e\xff\xaa\x00\x00\t\xff\xff\xde\x99' > b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     8
printf '\xc4\x02T\x9a\x7f\xf0\x14\x10\xa2\x14\x7fgL\x08\x00(\x00' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
     9
printf '\x04Pr\x06\xae\x11\xc0 b\x88!I\x020\x00\xb8\xd8j\x93@h\x00' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    10
printf '\xd0z\x86\x83@\x01\x90\x01\xa6\x81\xa3M\x1a4\xd3M=B\xa4' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    11
printf '\xc9\xa1\xe4F \r2\x03@\x01\xa1\xa1\x84\xd0\xc8\xc9\x91\xa6' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    12
printf '\x83 ji\x27\xa4\xd0\xd0\x00\x86h\x010\x1a\x06\xa6=F\x80\x01' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    13
printf '\xa2`\x8cW\xb9O7\x7f\x27A\x80\xb0\xf0\xe0\x18\x1c\xb5\x12' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    14
printf '\xe4g\xc4f\x101\xcb\\\xb79\xe2\xb8\x0c\x81\xa1Z>\x00\xb3' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    15
printf '\xce\t\xb0\xdc\x8a\xc3\x7f\xa0RLd\xc1\xbb\x7f\xe6\xf3\xb6' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    16
printf 'R\xa2\xd7Q\r\x04t\x12O}\x0fI\x08P\x82\xf3\x9f\xaa\xb3\xe5' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    17
printf 'Z:\xe7\xbd\x1f\x10\x10\x80\xff\xde\x03\x80q\x03(\r\x80\xe2' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    18
printf 'M\xc9\xa6\xff&g\xfa\x8d\xaf\x87\xc2\x8e\xbe\xd8t\x81\xe4\"M' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    19
printf '\x84l\xf3\x10\xb3\xa4<\xa0\\\xcd2\xf5\xf0\x98D\x8db\x0e' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    20
printf '\x02\xa8\x14\x13\x19\x00\x0f\x15o\xbdY7\xb1&\xd4\x8f\xca' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    21
printf '\x9d|\xbf \x04\x01\x80\x19\xf6\xc0\x14l6\xe4\x86\x99L\x06' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    22
printf '\xfe\x00\xd1]\x00\xbff\x15\xdf\xc5\xa9\x9f\xf8\xbb\x92)' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    23
printf '\xc2\x84\x84\x84w\xfdP' >> b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    24
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    25
hg unbundle b.hg
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    26
hg co
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    27
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    28
echo % should fail with encoding error
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    29
echo "plain old ascii" > a
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    30
hg st
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    31
HGENCODING=ascii hg ci -m "`printf "ascii 0xe9: \xe9"`" -d "0 0"
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    32
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    33
echo % these should work
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    34
echo "latin-1" > a
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    35
HGENCODING=latin-1 hg ci -m "`printf "latin-1 e' encoded: \xe9"`" -d "0 0"
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    36
echo "utf-8" > a
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    37
HGENCODING=utf-8 hg ci -m "`printf "utf-8 e': \xc3\xa9"`" -d "0 0"
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    38
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    39
HGENCODING=latin-1 hg tag -d "0 0" "`printf "\xe9"`"
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    40
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    41
hg --encoding ascii log
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    42
hg --encoding latin-1 log
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    43
hg --encoding utf-8 log
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    44
HGENCODING=ascii hg tags
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    45
HGENCODING=latin-1 hg tags
5da370c2f72d Add a charset encoding test case
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
    46
HGENCODING=utf-8 hg tags