[Python-checkins] CVS: python/dist/src/Lib/test test_unicode.py,1.14,1.15
M.-A. Lemburg
python-dev@python.org
Wed, 28 Jun 2000 09:41:25 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory slayer.i.sourceforge.net:/tmp/cvs-serv20564/Lib/test
Modified Files:
test_unicode.py
Log Message:
Marc-Andre Lemburg <mal@lemburg.com>:
Added tests for the new Unicode character name support in the
standard unicode-escape codec.
Index: test_unicode.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_unicode.py,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** test_unicode.py 2000/06/14 09:17:25 1.14
--- test_unicode.py 2000/06/28 16:41:23 1.15
***************
*** 409,410 ****
--- 409,485 ----
assert ("abc" "def" u"ghi") == u"abcdefghi"
print 'done.'
+
+ print 'Testing General Unicode Character Name, and case insensitivity...',
+ # General and case insensitivity test:
+ s = u"\N{LATIN CAPITAL LETTER T}" \
+ u"\N{LATIN SMALL LETTER H}" \
+ u"\N{LATIN SMALL LETTER E}" \
+ u"\N{SPACE}" \
+ u"\N{LATIN SMALL LETTER R}" \
+ u"\N{LATIN CAPITAL LETTER E}" \
+ u"\N{LATIN SMALL LETTER D}" \
+ u"\N{SPACE}" \
+ u"\N{LATIN SMALL LETTER f}" \
+ u"\N{LATIN CAPITAL LeTtEr o}" \
+ u"\N{LATIN SMaLl LETTER x}" \
+ u"\N{SPACE}" \
+ u"\N{LATIN SMALL LETTER A}" \
+ u"\N{LATIN SMALL LETTER T}" \
+ u"\N{LATIN SMALL LETTER E}" \
+ u"\N{SPACE}" \
+ u"\N{LATIN SMALL LETTER T}" \
+ u"\N{LATIN SMALL LETTER H}" \
+ u"\N{LATIN SMALL LETTER E}" \
+ u"\N{SpAcE}" \
+ u"\N{LATIN SMALL LETTER S}" \
+ u"\N{LATIN SMALL LETTER H}" \
+ u"\N{LATIN SMALL LETTER E}" \
+ u"\N{LATIN SMALL LETTER E}" \
+ u"\N{LATIN SMALL LETTER P}" \
+ u"\N{FULL STOP}"
+ assert s == u"The rEd fOx ate the sheep.", s
+ print "done."
+
+ # misc. symbol testing
+ print "Testing misc. symbols for unicode character name expansion....",
+ assert u"\N{PILCROW SIGN}" == u"\u00b6"
+ assert u"\N{REPLACEMENT CHARACTER}" == u"\uFFFD"
+ assert u"\N{HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK}" == u"\uFF9F"
+ assert u"\N{FULLWIDTH LATIN SMALL LETTER A}" == u"\uFF41"
+ print "done."
+
+
+ # strict error testing:
+ print "Testing unicode character name expansion strict error handling....",
+ k_cchMaxUnicodeName = 83
+
+ s = "\N{" + "1" * (k_cchMaxUnicodeName + 2) + "}"
+ try:
+ unicode(s, 'unicode-escape', 'strict')
+ except UnicodeError:
+ pass
+ else:
+ raise AssertionError, "failed to raise an exception when presented " \
+ "with a UCN > k_cchMaxUnicodeName"
+ try:
+ unicode("\N{blah}", 'unicode-escape', 'strict')
+ except UnicodeError:
+ pass
+ else:
+ raise AssertionError, "failed to raise an exception when given a bogus character name"
+
+ try:
+ unicode("\N{SPACE", 'unicode-escape', 'strict')
+ except UnicodeError:
+ pass
+ else:
+ raise AssertionError, "failed to raise an exception for a missing closing brace."
+
+ try:
+ unicode("\NSPACE", 'unicode-escape', 'strict')
+ except UnicodeError:
+ pass
+ else:
+ raise AssertionError, "failed to raise an exception for a missing opening brace."
+ print "done."
+