diff options
Diffstat (limited to 'Examples/test-suite/python/unicode_strings_runme.py')
-rw-r--r-- | Examples/test-suite/python/unicode_strings_runme.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/Examples/test-suite/python/unicode_strings_runme.py b/Examples/test-suite/python/unicode_strings_runme.py index 4e661f00e..108d0d2c9 100644 --- a/Examples/test-suite/python/unicode_strings_runme.py +++ b/Examples/test-suite/python/unicode_strings_runme.py @@ -2,12 +2,8 @@ import sys import unicode_strings -# The 'u' string prefix isn't valid in Python 3.0 - 3.2 and is redundant -# in 3.3+. Since this file is run through 2to3 before testing, though, -# mark this as a unicode string in 2.x so it'll become a str in 3.x. -test_string = u"h\udce9llo w\u00f6rld" - if sys.version_info[0:2] >= (3, 1): + test_string = "h\udce9llo w\u00f6rld" if unicode_strings.non_utf8_c_str() != test_string: raise ValueError("Test comparison mismatch") if unicode_strings.non_utf8_std_string() != test_string: @@ -22,15 +18,17 @@ if sys.version_info[0:2] < (3, 0): check(unicode_strings.charstring("hello1"), "hello1") check(unicode_strings.charstring(str(u"hello2")), "hello2") check(unicode_strings.charstring(u"hello3"), "hello3") - check(unicode_strings.charstring(unicode("hello4")), "hello4") + check(unicode_strings.charstring(str("hello4")), "hello4") unicode_strings.charstring(u"hell\xb05") unicode_strings.charstring(u"hell\u00f66") + low_surrogate_string = u"\udcff" +else: + low_surrogate_string = "\udcff" -low_surrogate_string = u"\udcff" try: unicode_strings.instring(low_surrogate_string) # Will succeed with Python 2 -except TypeError, e: +except TypeError as e: # Python 3 will fail the PyUnicode_AsUTF8String conversion resulting in a TypeError. # The real error is actually: # UnicodeEncodeError: 'utf-8' codec can't encode character '\udcff' in position 0: surrogates not allowed |