mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Issue #19587: Merge test_bytes cleanup from 3.5
This commit is contained in:
commit
7909411964
3 changed files with 6 additions and 63 deletions
|
@ -1,11 +1,8 @@
|
||||||
# Tests that work for both bytes and buffer objects.
|
# Tests that work for bytearray objects. Could be merged into string_tests.
|
||||||
# See PEP 3137.
|
# See PEP 3137.
|
||||||
|
|
||||||
import struct
|
|
||||||
import sys
|
|
||||||
|
|
||||||
class MixinBytesBufferCommonTests(object):
|
class MixinBytesBufferCommonTests(object):
|
||||||
"""Tests that work for both bytes and buffer objects.
|
"""Tests that work for bytearray objects.
|
||||||
See PEP 3137.
|
See PEP 3137.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -88,16 +85,6 @@ class MixinBytesBufferCommonTests(object):
|
||||||
|
|
||||||
self.assertRaises(TypeError, self.marshal(b'abc').isdigit, 42)
|
self.assertRaises(TypeError, self.marshal(b'abc').isdigit, 42)
|
||||||
|
|
||||||
def test_lower(self):
|
|
||||||
self.assertEqual(b'hello', self.marshal(b'HeLLo').lower())
|
|
||||||
self.assertEqual(b'hello', self.marshal(b'hello').lower())
|
|
||||||
self.assertRaises(TypeError, self.marshal(b'hello').lower, 42)
|
|
||||||
|
|
||||||
def test_upper(self):
|
|
||||||
self.assertEqual(b'HELLO', self.marshal(b'HeLLo').upper())
|
|
||||||
self.assertEqual(b'HELLO', self.marshal(b'HELLO').upper())
|
|
||||||
self.assertRaises(TypeError, self.marshal(b'hello').upper, 42)
|
|
||||||
|
|
||||||
def test_capitalize(self):
|
def test_capitalize(self):
|
||||||
self.assertEqual(b' hello ', self.marshal(b' hello ').capitalize())
|
self.assertEqual(b' hello ', self.marshal(b' hello ').capitalize())
|
||||||
self.assertEqual(b'Hello ', self.marshal(b'Hello ').capitalize())
|
self.assertEqual(b'Hello ', self.marshal(b'Hello ').capitalize())
|
||||||
|
@ -153,35 +140,6 @@ class MixinBytesBufferCommonTests(object):
|
||||||
|
|
||||||
self.assertRaises(TypeError, self.marshal(b'123').zfill)
|
self.assertRaises(TypeError, self.marshal(b'123').zfill)
|
||||||
|
|
||||||
def test_expandtabs(self):
|
|
||||||
self.assertEqual(b'abc\rab def\ng hi',
|
|
||||||
self.marshal(b'abc\rab\tdef\ng\thi').expandtabs())
|
|
||||||
self.assertEqual(b'abc\rab def\ng hi',
|
|
||||||
self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(8))
|
|
||||||
self.assertEqual(b'abc\rab def\ng hi',
|
|
||||||
self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(4))
|
|
||||||
self.assertEqual(b'abc\r\nab def\ng hi',
|
|
||||||
self.marshal(b'abc\r\nab\tdef\ng\thi').expandtabs())
|
|
||||||
self.assertEqual(b'abc\r\nab def\ng hi',
|
|
||||||
self.marshal(b'abc\r\nab\tdef\ng\thi').expandtabs(8))
|
|
||||||
self.assertEqual(b'abc\r\nab def\ng hi',
|
|
||||||
self.marshal(b'abc\r\nab\tdef\ng\thi').expandtabs(4))
|
|
||||||
self.assertEqual(b'abc\r\nab\r\ndef\ng\r\nhi',
|
|
||||||
self.marshal(b'abc\r\nab\r\ndef\ng\r\nhi').expandtabs(4))
|
|
||||||
# check keyword args
|
|
||||||
self.assertEqual(b'abc\rab def\ng hi',
|
|
||||||
self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(tabsize=8))
|
|
||||||
self.assertEqual(b'abc\rab def\ng hi',
|
|
||||||
self.marshal(b'abc\rab\tdef\ng\thi').expandtabs(tabsize=4))
|
|
||||||
|
|
||||||
self.assertEqual(b' a\n b', self.marshal(b' \ta\n\tb').expandtabs(1))
|
|
||||||
|
|
||||||
self.assertRaises(TypeError, self.marshal(b'hello').expandtabs, 42, 42)
|
|
||||||
# This test is only valid when sizeof(int) == sizeof(void*) == 4.
|
|
||||||
if sys.maxsize < (1 << 32) and struct.calcsize('P') == 4:
|
|
||||||
self.assertRaises(OverflowError,
|
|
||||||
self.marshal(b'\ta\n\tb').expandtabs, sys.maxsize)
|
|
||||||
|
|
||||||
def test_title(self):
|
def test_title(self):
|
||||||
self.assertEqual(b' Hello ', self.marshal(b' hello ').title())
|
self.assertEqual(b' Hello ', self.marshal(b' hello ').title())
|
||||||
self.assertEqual(b'Hello ', self.marshal(b'hello ').title())
|
self.assertEqual(b'Hello ', self.marshal(b'hello ').title())
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
"""
|
"""
|
||||||
Common tests shared by test_unicode, test_userstring and test_string.
|
Common tests shared by test_unicode, test_userstring and test_bytes.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import unittest, string, sys, struct
|
import unittest, string, sys, struct
|
||||||
|
@ -686,8 +686,7 @@ class BaseTest:
|
||||||
|
|
||||||
class CommonTest(BaseTest):
|
class CommonTest(BaseTest):
|
||||||
# This testcase contains tests that can be used in all
|
# This testcase contains tests that can be used in all
|
||||||
# stringlike classes. Currently this is str, unicode
|
# stringlike classes. Currently this is str and UserString.
|
||||||
# UserString and the string module.
|
|
||||||
|
|
||||||
def test_hash(self):
|
def test_hash(self):
|
||||||
# SF bug 1054139: += optimization was not invalidating cached hash value
|
# SF bug 1054139: += optimization was not invalidating cached hash value
|
||||||
|
@ -857,8 +856,7 @@ class CommonTest(BaseTest):
|
||||||
|
|
||||||
class MixinStrUnicodeUserStringTest:
|
class MixinStrUnicodeUserStringTest:
|
||||||
# additional tests that only work for
|
# additional tests that only work for
|
||||||
# stringlike objects, i.e. str, unicode, UserString
|
# stringlike objects, i.e. str, UserString
|
||||||
# (but not the string module)
|
|
||||||
|
|
||||||
def test_islower(self):
|
def test_islower(self):
|
||||||
self.checkequal(False, '', 'islower')
|
self.checkequal(False, '', 'islower')
|
||||||
|
@ -1343,7 +1341,7 @@ class MixinStrUnicodeUserStringTest:
|
||||||
|
|
||||||
|
|
||||||
class MixinStrUnicodeTest:
|
class MixinStrUnicodeTest:
|
||||||
# Additional tests that only work with str and unicode.
|
# Additional tests that only work with str.
|
||||||
|
|
||||||
def test_bug1001011(self):
|
def test_bug1001011(self):
|
||||||
# Make sure join returns a NEW object for single item sequences
|
# Make sure join returns a NEW object for single item sequences
|
||||||
|
|
|
@ -1562,24 +1562,11 @@ class BytearrayPEP3137Test(unittest.TestCase,
|
||||||
|
|
||||||
|
|
||||||
class FixedStringTest(test.string_tests.BaseTest):
|
class FixedStringTest(test.string_tests.BaseTest):
|
||||||
|
|
||||||
def fixtype(self, obj):
|
def fixtype(self, obj):
|
||||||
if isinstance(obj, str):
|
if isinstance(obj, str):
|
||||||
return obj.encode("utf-8")
|
return obj.encode("utf-8")
|
||||||
return super().fixtype(obj)
|
return super().fixtype(obj)
|
||||||
|
|
||||||
# Currently the bytes containment testing uses a single integer
|
|
||||||
# value. This may not be the final design, but until then the
|
|
||||||
# bytes section with in a bytes containment not valid
|
|
||||||
def test_contains(self):
|
|
||||||
pass
|
|
||||||
def test_expandtabs(self):
|
|
||||||
pass
|
|
||||||
def test_upper(self):
|
|
||||||
pass
|
|
||||||
def test_lower(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
class ByteArrayAsStringTest(FixedStringTest, unittest.TestCase):
|
class ByteArrayAsStringTest(FixedStringTest, unittest.TestCase):
|
||||||
type2test = bytearray
|
type2test = bytearray
|
||||||
contains_bytes = True
|
contains_bytes = True
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue