mirror of https://github.com/python/cpython
Issue #13072: Fix test_array for installation without the ctypes module
This commit is contained in:
parent
22701e86d0
commit
9d512ab97f
|
@ -3,7 +3,6 @@
|
||||||
Roger E. Masse
|
Roger E. Masse
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import ctypes
|
|
||||||
import unittest
|
import unittest
|
||||||
from test import support
|
from test import support
|
||||||
import weakref
|
import weakref
|
||||||
|
@ -1033,6 +1032,16 @@ class UnicodeTest(StringTest):
|
||||||
minitemsize = 2
|
minitemsize = 2
|
||||||
|
|
||||||
def test_unicode(self):
|
def test_unicode(self):
|
||||||
|
try:
|
||||||
|
import ctypes
|
||||||
|
sizeof_wchar = ctypes.sizeof(ctypes.c_wchar)
|
||||||
|
except ImportError:
|
||||||
|
import sys
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
sizeof_wchar = 2
|
||||||
|
else:
|
||||||
|
sizeof_wchar = 4
|
||||||
|
|
||||||
self.assertRaises(TypeError, array.array, 'b', 'foo')
|
self.assertRaises(TypeError, array.array, 'b', 'foo')
|
||||||
|
|
||||||
a = array.array('u', '\xa0\xc2\u1234')
|
a = array.array('u', '\xa0\xc2\u1234')
|
||||||
|
@ -1042,7 +1051,7 @@ class UnicodeTest(StringTest):
|
||||||
a.fromunicode('\x11abc\xff\u1234')
|
a.fromunicode('\x11abc\xff\u1234')
|
||||||
s = a.tounicode()
|
s = a.tounicode()
|
||||||
self.assertEqual(s, '\xa0\xc2\u1234 \x11abc\xff\u1234')
|
self.assertEqual(s, '\xa0\xc2\u1234 \x11abc\xff\u1234')
|
||||||
self.assertEqual(a.itemsize, ctypes.sizeof(ctypes.c_wchar))
|
self.assertEqual(a.itemsize, sizeof_wchar)
|
||||||
|
|
||||||
s = '\x00="\'a\\b\x80\xff\u0000\u0001\u1234'
|
s = '\x00="\'a\\b\x80\xff\u0000\u0001\u1234'
|
||||||
a = array.array('u', s)
|
a = array.array('u', s)
|
||||||
|
|
Loading…
Reference in New Issue