Add a charset encoding test case
authorMatt Mackall <mpm@selenic.com>
Sun, 03 Dec 2006 16:16:33 -0600
changeset 3777 5da370c2f72d
parent 3776 037824e6d362
child 3778 b4cc5d221dc6
Add a charset encoding test case
tests/test-encoding
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-encoding	Sun Dec 03 16:16:33 2006 -0600
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+hg init t
+cd t
+
+# we need a repo with some legacy latin-1 changesets
+printf 'HG10BZh91AY&SY\x90\x8e\xff\xaa\x00\x00\t\xff\xff\xde\x99' > b.hg
+printf '\xc4\x02T\x9a\x7f\xf0\x14\x10\xa2\x14\x7fgL\x08\x00(\x00' >> b.hg
+printf '\x04Pr\x06\xae\x11\xc0 b\x88!I\x020\x00\xb8\xd8j\x93@h\x00' >> b.hg
+printf '\xd0z\x86\x83@\x01\x90\x01\xa6\x81\xa3M\x1a4\xd3M=B\xa4' >> b.hg
+printf '\xc9\xa1\xe4F \r2\x03@\x01\xa1\xa1\x84\xd0\xc8\xc9\x91\xa6' >> b.hg
+printf '\x83 ji\x27\xa4\xd0\xd0\x00\x86h\x010\x1a\x06\xa6=F\x80\x01' >> b.hg
+printf '\xa2`\x8cW\xb9O7\x7f\x27A\x80\xb0\xf0\xe0\x18\x1c\xb5\x12' >> b.hg
+printf '\xe4g\xc4f\x101\xcb\\\xb79\xe2\xb8\x0c\x81\xa1Z>\x00\xb3' >> b.hg
+printf '\xce\t\xb0\xdc\x8a\xc3\x7f\xa0RLd\xc1\xbb\x7f\xe6\xf3\xb6' >> b.hg
+printf 'R\xa2\xd7Q\r\x04t\x12O}\x0fI\x08P\x82\xf3\x9f\xaa\xb3\xe5' >> b.hg
+printf 'Z:\xe7\xbd\x1f\x10\x10\x80\xff\xde\x03\x80q\x03(\r\x80\xe2' >> b.hg
+printf 'M\xc9\xa6\xff&g\xfa\x8d\xaf\x87\xc2\x8e\xbe\xd8t\x81\xe4\"M' >> b.hg
+printf '\x84l\xf3\x10\xb3\xa4<\xa0\\\xcd2\xf5\xf0\x98D\x8db\x0e' >> b.hg
+printf '\x02\xa8\x14\x13\x19\x00\x0f\x15o\xbdY7\xb1&\xd4\x8f\xca' >> b.hg
+printf '\x9d|\xbf \x04\x01\x80\x19\xf6\xc0\x14l6\xe4\x86\x99L\x06' >> b.hg
+printf '\xfe\x00\xd1]\x00\xbff\x15\xdf\xc5\xa9\x9f\xf8\xbb\x92)' >> b.hg
+printf '\xc2\x84\x84\x84w\xfdP' >> b.hg
+
+hg unbundle b.hg
+hg co
+
+echo % should fail with encoding error
+echo "plain old ascii" > a
+hg st
+HGENCODING=ascii hg ci -m "`printf "ascii 0xe9: \xe9"`" -d "0 0"
+
+echo % these should work
+echo "latin-1" > a
+HGENCODING=latin-1 hg ci -m "`printf "latin-1 e' encoded: \xe9"`" -d "0 0"
+echo "utf-8" > a
+HGENCODING=utf-8 hg ci -m "`printf "utf-8 e': \xc3\xa9"`" -d "0 0"
+
+HGENCODING=latin-1 hg tag -d "0 0" "`printf "\xe9"`"
+
+hg --encoding ascii log
+hg --encoding latin-1 log
+hg --encoding utf-8 log
+HGENCODING=ascii hg tags
+HGENCODING=latin-1 hg tags
+HGENCODING=utf-8 hg tags