diff options
author | Hye-Shik Chang <hyeshik@gmail.com> | 2004-06-04 03:18:12 +0000 |
---|---|---|
committer | Hye-Shik Chang <hyeshik@gmail.com> | 2004-06-04 03:18:12 +0000 |
commit | 5f5125997beba34f79faa0751c6fa1fa74d97ae2 (patch) | |
tree | 1042d481bc2d29356afc29dd7f16c81c7aee7b32 /Lib/test/string_tests.py | |
parent | 0701bd64aaf5eacafa7b18f0e67273ed75943a8b (diff) | |
download | cpython-git-5f5125997beba34f79faa0751c6fa1fa74d97ae2.tar.gz |
Add iswide() and width() method for UserString according as the
addition to unicode objects.
Diffstat (limited to 'Lib/test/string_tests.py')
-rw-r--r-- | Lib/test/string_tests.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py index 860c1f2f83..edccb8fa55 100644 --- a/Lib/test/string_tests.py +++ b/Lib/test/string_tests.py @@ -695,3 +695,28 @@ class MixinStrUserStringTest: 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') |