[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."
+