summaryrefslogtreecommitdiffstatshomepage
path: root/tests/unicode/unicode.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-06-28 10:30:53 +0100
committerDamien George <damien.p.george@gmail.com>2014-06-28 10:30:53 +0100
commitb1b840554d27659f760304713c98f5c7f2d7f74b (patch)
treec112d08faa88043084f4d4d19094127b31d4e2c2 /tests/unicode/unicode.py
parent8993fb6cf0677ce980ab56cbad326e4e6bc47811 (diff)
parent635b60e299509a85722db77c4409c78ca86dbdc7 (diff)
downloadmicropython-b1b840554d27659f760304713c98f5c7f2d7f74b.tar.gz
micropython-b1b840554d27659f760304713c98f5c7f2d7f74b.zip
Merge branch 'unicode'
Diffstat (limited to 'tests/unicode/unicode.py')
-rw-r--r--tests/unicode/unicode.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/unicode/unicode.py b/tests/unicode/unicode.py
new file mode 100644
index 0000000000..c7e523f06a
--- /dev/null
+++ b/tests/unicode/unicode.py
@@ -0,0 +1,18 @@
+# Test a UTF-8 encoded literal
+s = "asdf©qwer"
+for i in range(len(s)):
+ print("s[%d]: %s %X"%(i, s[i], ord(s[i])))
+
+# Test all three forms of Unicode escape, and
+# all blocks of UTF-8 byte patterns
+s = "a\xA9\xFF\u0123\u0800\uFFEE\U0001F44C"
+for i in range(-len(s), len(s)):
+ print("s[%d]: %s %X"%(i, s[i], ord(s[i])))
+ print("s[:%d]: %d chars, '%s'"%(i, len(s[:i]), s[:i]))
+ for j in range(i, len(s)):
+ print("s[%d:%d]: %d chars, '%s'"%(i, j, len(s[i:j]), s[i:j]))
+ print("s[%d:]: %d chars, '%s'"%(i, len(s[i:]), s[i:]))
+
+# Test UTF-8 encode and decode
+enc = s.encode()
+print(enc, enc.decode() == s)