summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Dörwald <walter@livinglogic.de>2007-06-08 14:30:53 (GMT)
committerWalter Dörwald <walter@livinglogic.de>2007-06-08 14:30:53 (GMT)
commit9b775535f828bedc30f3f52a04afec049b6aa25a (patch)
tree12b9a0e80636c157457d827a7436e77d843e03b3
parent0157ebe999e951a4a3a5296586b08f4f96384bb3 (diff)
downloadcpython-9b775535f828bedc30f3f52a04afec049b6aa25a.zip
cpython-9b775535f828bedc30f3f52a04afec049b6aa25a.tar.gz
cpython-9b775535f828bedc30f3f52a04afec049b6aa25a.tar.bz2
Rename checks for test_support.have_unicode (we always
have unicode support now) and either drop the tests or merge them into the existing tests.
-rw-r--r--Lib/test/pickletester.py19
-rw-r--r--Lib/test/string_tests.py39
-rwxr-xr-xLib/test/test_binascii.py4
-rw-r--r--Lib/test/test_support.py63
-rw-r--r--Lib/test/test_textwrap.py13
-rw-r--r--Lib/test/test_types.py15
-rw-r--r--Lib/test/test_xmlrpc.py21
7 files changed, 62 insertions, 112 deletions
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index 9b21a5f..057cb5e 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -7,8 +7,7 @@ except ImportError:
import pickletools
import copy_reg
-from test.test_support import TestFailed, have_unicode, TESTFN, \
- run_with_locale
+from test.test_support import TestFailed, TESTFN, run_with_locale
# Tests that try a number of pickle protocols should have a
# for proto in protocols:
@@ -482,15 +481,13 @@ class AbstractPickleTests(unittest.TestCase):
buf = b"S" + bytes(s) + b"\012p0\012."
self.assertRaises(ValueError, self.loads, buf)
- if have_unicode:
- def test_unicode(self):
- endcases = [str(''), str('<\\u>'), str('<\\\u1234>'),
- str('<\n>'), str('<\\>')]
- for proto in protocols:
- for u in endcases:
- p = self.dumps(u, proto)
- u2 = self.loads(p)
- self.assertEqual(u2, u)
+ def test_unicode(self):
+ endcases = ['', '<\\u>', '<\\\u1234>', '<\n>', '<\\>']
+ for proto in protocols:
+ for u in endcases:
+ p = self.dumps(u, proto)
+ u2 = self.loads(p)
+ self.assertEqual(u2, u)
def test_ints(self):
import sys
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index d5a9a29..4dfbb1b 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -1100,27 +1100,26 @@ class MixinStrUserStringTest:
# Additional tests that only work with
# 8bit compatible object, i.e. str and UserString
- if test_support.have_unicode:
- def test_encoding_decoding(self):
- codecs = [('rot13', b'uryyb jbeyq'),
- ('base64', b'aGVsbG8gd29ybGQ=\n'),
- ('hex', b'68656c6c6f20776f726c64'),
- ('uu', b'begin 666 <data>\n+:&5L;&\\@=V]R;&0 \n \nend\n')]
- for encoding, data in codecs:
- self.checkequal(data, 'hello world', 'encode', encoding)
- self.checkequal('hello world', data, 'decode', encoding)
- # zlib is optional, so we make the test optional too...
- try:
- import zlib
- except ImportError:
- pass
- else:
- data = b'x\x9c\xcbH\xcd\xc9\xc9W(\xcf/\xcaI\x01\x00\x1a\x0b\x04]'
- self.checkequal(data, 'hello world', 'encode', 'zlib')
- self.checkequal('hello world', data, 'decode', 'zlib')
+ def test_encoding_decoding(self):
+ codecs = [('rot13', b'uryyb jbeyq'),
+ ('base64', b'aGVsbG8gd29ybGQ=\n'),
+ ('hex', b'68656c6c6f20776f726c64'),
+ ('uu', b'begin 666 <data>\n+:&5L;&\\@=V]R;&0 \n \nend\n')]
+ for encoding, data in codecs:
+ self.checkequal(data, 'hello world', 'encode', encoding)
+ self.checkequal('hello world', data, 'decode', encoding)
+ # zlib is optional, so we make the test optional too...
+ try:
+ import zlib
+ except ImportError:
+ pass
+ else:
+ data = b'x\x9c\xcbH\xcd\xc9\xc9W(\xcf/\xcaI\x01\x00\x1a\x0b\x04]'
+ self.checkequal(data, 'hello world', 'encode', 'zlib')
+ self.checkequal('hello world', data, 'decode', 'zlib')
- self.checkraises(TypeError, 'xyz', 'decode', 42)
- self.checkraises(TypeError, 'xyz', 'encode', 42)
+ self.checkraises(TypeError, 'xyz', 'decode', 42)
+ self.checkraises(TypeError, 'xyz', 'encode', 42)
class MixinStrUnicodeTest:
diff --git a/Lib/test/test_binascii.py b/Lib/test/test_binascii.py
index dc87e94..9229f38 100755
--- a/Lib/test/test_binascii.py
+++ b/Lib/test/test_binascii.py
@@ -121,9 +121,7 @@ class BinASCIITest(unittest.TestCase):
self.assertRaises(binascii.Error, binascii.a2b_hex, t[:-1])
self.assertRaises(binascii.Error, binascii.a2b_hex, t[:-1] + b'q')
- # Verify the treatment of Unicode strings
- if test_support.have_unicode:
- self.assertEqual(binascii.hexlify('a'), b'61')
+ self.assertEqual(binascii.hexlify('a'), b'61')
def test_qp(self):
# A test for SF bug 534347 (segfaults without the proper fix)
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index 5692a83..6a1fa86 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -146,42 +146,35 @@ elif os.name == 'riscos':
TESTFN = 'testfile'
else:
TESTFN = '@test'
- # Unicode name only used if TEST_FN_ENCODING exists for the platform.
- if have_unicode:
- # Assuming sys.getfilesystemencoding()!=sys.getdefaultencoding()
- # TESTFN_UNICODE is a filename that can be encoded using the
- # file system encoding, but *not* with the default (ascii) encoding
- if isinstance('', str):
- # python -U
- # XXX perhaps unicode() should accept Unicode strings?
- TESTFN_UNICODE = "@test-\xe0\xf2"
- else:
- # 2 latin characters.
- TESTFN_UNICODE = str("@test-\xe0\xf2", "latin-1")
- TESTFN_ENCODING = sys.getfilesystemencoding()
- # TESTFN_UNICODE_UNENCODEABLE is a filename that should *not* be
- # able to be encoded by *either* the default or filesystem encoding.
- # This test really only makes sense on Windows NT platforms
- # which have special Unicode support in posixmodule.
- if (not hasattr(sys, "getwindowsversion") or
- sys.getwindowsversion()[3] < 2): # 0=win32s or 1=9x/ME
- TESTFN_UNICODE_UNENCODEABLE = None
+
+ # Assuming sys.getfilesystemencoding()!=sys.getdefaultencoding()
+ # TESTFN_UNICODE is a filename that can be encoded using the
+ # file system encoding, but *not* with the default (ascii) encoding
+ TESTFN_UNICODE = "@test-\xe0\xf2"
+ TESTFN_ENCODING = sys.getfilesystemencoding()
+ # TESTFN_UNICODE_UNENCODEABLE is a filename that should *not* be
+ # able to be encoded by *either* the default or filesystem encoding.
+ # This test really only makes sense on Windows NT platforms
+ # which have special Unicode support in posixmodule.
+ if (not hasattr(sys, "getwindowsversion") or
+ sys.getwindowsversion()[3] < 2): # 0=win32s or 1=9x/ME
+ TESTFN_UNICODE_UNENCODEABLE = None
+ else:
+ # Japanese characters (I think - from bug 846133)
+ TESTFN_UNICODE_UNENCODEABLE = "@test-\u5171\u6709\u3055\u308c\u308b"
+ try:
+ # XXX - Note - should be using TESTFN_ENCODING here - but for
+ # Windows, "mbcs" currently always operates as if in
+ # errors=ignore' mode - hence we get '?' characters rather than
+ # the exception. 'Latin1' operates as we expect - ie, fails.
+ # See [ 850997 ] mbcs encoding ignores errors
+ TESTFN_UNICODE_UNENCODEABLE.encode("Latin1")
+ except UnicodeEncodeError:
+ pass
else:
- # Japanese characters (I think - from bug 846133)
- TESTFN_UNICODE_UNENCODEABLE = eval('u"@test-\u5171\u6709\u3055\u308c\u308b"')
- try:
- # XXX - Note - should be using TESTFN_ENCODING here - but for
- # Windows, "mbcs" currently always operates as if in
- # errors=ignore' mode - hence we get '?' characters rather than
- # the exception. 'Latin1' operates as we expect - ie, fails.
- # See [ 850997 ] mbcs encoding ignores errors
- TESTFN_UNICODE_UNENCODEABLE.encode("Latin1")
- except UnicodeEncodeError:
- pass
- else:
- print('WARNING: The filename %r CAN be encoded by the filesystem. ' \
- 'Unicode filename tests may not be effective' \
- % TESTFN_UNICODE_UNENCODEABLE)
+ print('WARNING: The filename %r CAN be encoded by the filesystem. ' \
+ 'Unicode filename tests may not be effective' \
+ % TESTFN_UNICODE_UNENCODEABLE)
# Make sure we can write to TESTFN, try in /tmp if we can't
fp = None
diff --git a/Lib/test/test_textwrap.py b/Lib/test/test_textwrap.py
index 472d125..89316bc 100644
--- a/Lib/test/test_textwrap.py
+++ b/Lib/test/test_textwrap.py
@@ -336,19 +336,6 @@ What a mess!
"with ", "much white", "space."],
drop_whitespace=False)
- if test_support.have_unicode:
- def test_unicode(self):
- # *Very* simple test of wrapping Unicode strings. I'm sure
- # there's more to it than this, but let's at least make
- # sure textwrap doesn't crash on Unicode input!
- text = "Hello there, how are you today?"
- self.check_wrap(text, 50, ["Hello there, how are you today?"])
- self.check_wrap(text, 20, ["Hello there, how are", "you today?"])
- olines = self.wrapper.wrap(text)
- assert isinstance(olines, list) and isinstance(olines[0], str)
- otext = self.wrapper.fill(text)
- assert isinstance(otext, str)
-
def test_split(self):
# Ensure that the standard _split() method works as advertised
# in the comments
diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py
index f57a0c8..158437b 100644
--- a/Lib/test/test_types.py
+++ b/Lib/test/test_types.py
@@ -1,6 +1,6 @@
# Python test set -- part 6, built-in types
-from test.test_support import run_unittest, have_unicode
+from test.test_support import run_unittest
import unittest
import sys
@@ -199,19 +199,6 @@ class TypesTests(unittest.TestCase):
self.assertEqual(a[100:-100:-1], a[::-1])
self.assertEqual(a[-100:100:2], '02468')
- if have_unicode:
- a = str(b'0123456789', 'ascii')
- self.assertEqual(a[::], a)
- self.assertEqual(a[::2], str(b'02468', 'ascii'))
- self.assertEqual(a[1::2], str(b'13579', 'ascii'))
- self.assertEqual(a[::-1], str(b'9876543210', 'ascii'))
- self.assertEqual(a[::-2], str(b'97531', 'ascii'))
- self.assertEqual(a[3::-2], str(b'31', 'ascii'))
- self.assertEqual(a[-100:100:], a)
- self.assertEqual(a[100:-100:-1], a[::-1])
- self.assertEqual(a[-100:100:2], str(b'02468', 'ascii'))
-
-
def test_type_function(self):
self.assertRaises(TypeError, type, 1, 2)
self.assertRaises(TypeError, type, 1, 2, 3, 4)
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
index 1bf6294..bc8a7cf 100644
--- a/Lib/test/test_xmlrpc.py
+++ b/Lib/test/test_xmlrpc.py
@@ -4,13 +4,6 @@ import unittest
import xmlrpclib
from test import test_support
-try:
- str
-except NameError:
- have_unicode = False
-else:
- have_unicode = True
-
alist = [{'astring': 'foo@bar.baz.spam',
'afloat': 7283.43,
'anint': 2**20,
@@ -147,15 +140,11 @@ class XMLRPCTestCase(unittest.TestCase):
del sys.setdefaultencoding
items = list(d.items())
- if have_unicode:
- self.assertEquals(s, "abc \x95")
- self.assert_(isinstance(s, str))
- self.assertEquals(items, [("def \x96", "ghi \x97")])
- self.assert_(isinstance(items[0][0], str))
- self.assert_(isinstance(items[0][1], str))
- else:
- self.assertEquals(s, "abc \xc2\x95")
- self.assertEquals(items, [("def \xc2\x96", "ghi \xc2\x97")])
+ self.assertEquals(s, "abc \x95")
+ self.assert_(isinstance(s, str))
+ self.assertEquals(items, [("def \x96", "ghi \x97")])
+ self.assert_(isinstance(items[0][0], str))
+ self.assert_(isinstance(items[0][1], str))
def test_main():
test_support.run_unittest(XMLRPCTestCase)