[Python-checkins] python/dist/src/Lib/test string_tests.py, 1.38,
1.39 test_unicode.py, 1.91, 1.92 test_unicodedata.py, 1.10,
1.11 test_userstring.py, 1.12, 1.13
perky at users.sourceforge.net
perky at users.sourceforge.net
Wed Aug 4 09:38:36 CEST 2004
Update of /cvsroot/python/python/dist/src/Lib/test
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1744/Lib/test
Modified Files:
string_tests.py test_unicode.py test_unicodedata.py
test_userstring.py
Log Message:
SF #989185: Drop unicode.iswide() and unicode.width() and add
unicodedata.east_asian_width(). You can still implement your own
simple width() function using it like this:
def width(u):
w = 0
for c in unicodedata.normalize('NFC', u):
cwidth = unicodedata.east_asian_width(c)
if cwidth in ('W', 'F'): w += 2
else: w += 1
return w
Index: string_tests.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/string_tests.py,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** string_tests.py 4 Jun 2004 03:18:12 -0000 1.38
--- string_tests.py 4 Aug 2004 07:38:33 -0000 1.39
***************
*** 696,722 ****
self.checkraises(TypeError, 'xyz', 'decode', 42)
self.checkraises(TypeError, 'xyz', 'encode', 42)
-
-
- class MixinUnicodeUserStringTest:
- # Additional tests that only work with
- # unicode compatible object, i.e. unicode and UserString
-
- def test_iswide(self):
- self.checkequal(False, u'', 'iswide')
- self.checkequal(False, u'\x1f', 'iswide') # Neutral
- self.checkequal(False, u'\x20', 'iswide') # Narrow
- self.checkequal(True, u'\u2329', 'iswide') # Wide
- self.checkequal(False, u'\uff64', 'iswide') # Half
- self.checkequal(True, u'\u3000', 'iswide') # Full
- self.checkequal(False, u'\u2460', 'iswide') # Ambiguous
- self.checkequal(True, u'\ud55c\uae00', 'iswide')
- self.checkequal(False, u'\ud55c\u2606\uae00', 'iswide')
-
- def test_width(self):
- self.checkequal(0, u'', 'width')
- self.checkequal(4, u'abcd', 'width')
- self.checkequal(2, u'\u0187\u01c9', 'width')
- self.checkequal(3, u'\u2460\u2329', 'width')
- self.checkequal(3, u'\u2329\u2460', 'width')
- self.checkequal(4, u'\ud55c\uae00', 'width')
- self.checkequal(5, u'\ud55c\u2606\uae00', 'width')
--- 696,697 ----
Index: test_unicode.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_unicode.py,v
retrieving revision 1.91
retrieving revision 1.92
diff -C2 -d -r1.91 -r1.92
*** test_unicode.py 23 Jul 2004 16:13:25 -0000 1.91
--- test_unicode.py 4 Aug 2004 07:38:33 -0000 1.92
***************
*** 12,17 ****
class UnicodeTest(
string_tests.CommonTest,
! string_tests.MixinStrUnicodeUserStringTest,
! string_tests.MixinUnicodeUserStringTest
):
type2test = unicode
--- 12,16 ----
class UnicodeTest(
string_tests.CommonTest,
! string_tests.MixinStrUnicodeUserStringTest
):
type2test = unicode
Index: test_unicodedata.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_unicodedata.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** test_unicodedata.py 17 Apr 2004 19:36:48 -0000 1.10
--- test_unicodedata.py 4 Aug 2004 07:38:33 -0000 1.11
***************
*** 175,178 ****
--- 175,189 ----
# which requires an external file.
+ def test_east_asian_width(self):
+ eaw = self.db.east_asian_width
+ self.assertRaises(TypeError, eaw, 'a')
+ self.assertRaises(TypeError, eaw, u'')
+ self.assertRaises(TypeError, eaw, u'ra')
+ self.assertEqual(eaw(u'\x1e'), 'N')
+ self.assertEqual(eaw(u'\x20'), 'Na')
+ self.assertEqual(eaw(u'\uC894'), 'W')
+ self.assertEqual(eaw(u'\uFF66'), 'H')
+ self.assertEqual(eaw(u'\uFF1F'), 'F')
+ self.assertEqual(eaw(u'\u2010'), 'A')
class UnicodeMiscTest(UnicodeDatabaseTest):
Index: test_userstring.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_userstring.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** test_userstring.py 4 Jun 2004 03:18:12 -0000 1.12
--- test_userstring.py 4 Aug 2004 07:38:33 -0000 1.13
***************
*** 12,17 ****
string_tests.MixinStrUnicodeUserStringTest,
string_tests.MixinStrStringUserStringTest,
! string_tests.MixinStrUserStringTest,
! string_tests.MixinUnicodeUserStringTest
):
--- 12,16 ----
string_tests.MixinStrUnicodeUserStringTest,
string_tests.MixinStrStringUserStringTest,
! string_tests.MixinStrUserStringTest
):
More information about the Python-checkins
mailing list