@@ -1957,16 +1957,38 @@ class AssortedBytesTest(unittest.TestCase):
19571957 # Test various combinations of bytes and bytearray
19581958 #
19591959
1960+ def test_bytes_repr (self , f = repr ):
1961+ self .assertEqual (f (b'' ), "b''" )
1962+ self .assertEqual (f (b"abc" ), "b'abc'" )
1963+ self .assertEqual (f (bytes ([92 ])), r"b'\\'" )
1964+ self .assertEqual (f (bytes ([0 , 1 , 254 , 255 ])), r"b'\x00\x01\xfe\xff'" )
1965+ self .assertEqual (f (b'\a \b \t \n \v \f \r ' ), r"b'\x07\x08\t\n\x0b\x0c\r'" )
1966+ self .assertEqual (f (b"'" ), '''b"'"''' ) # "'"
1967+ self .assertEqual (f (b'"' ), """b'"'""" ) # '"'
1968+ self .assertEqual (f (b"'\" " ), r"""b'\'"'""" ) # '\'"'
1969+ self .assertEqual (f (BytesSubclass (b"abc" )), "b'abc'" )
1970+
1971+ def test_bytearray_repr (self , f = repr ):
1972+ self .assertEqual (f (bytearray ()), "bytearray(b'')" )
1973+ self .assertEqual (f (bytearray (b'abc' )), "bytearray(b'abc')" )
1974+ self .assertEqual (f (bytearray ([92 ])), r"bytearray(b'\\')" )
1975+ self .assertEqual (f (bytearray ([0 , 1 , 254 , 255 ])),
1976+ r"bytearray(b'\x00\x01\xfe\xff')" )
1977+ self .assertEqual (f (bytearray ([7 , 8 , 9 , 10 , 11 , 12 , 13 ])),
1978+ r"bytearray(b'\x07\x08\t\n\x0b\x0c\r')" )
1979+ self .assertEqual (f (bytearray (b"'" )), r'''bytearray(b"\'")''' ) # "\'"
1980+ self .assertEqual (f (bytearray (b'"' )), """bytearray(b'"')""" ) # '"'
1981+ self .assertEqual (f (bytearray (b"'\" " )), r"""bytearray(b'\'"')""" ) # '\'"'
1982+ self .assertEqual (f (ByteArraySubclass (b"abc" )), "ByteArraySubclass(b'abc')" )
1983+ self .assertEqual (f (ByteArraySubclass .Nested (b"abc" )), "Nested(b'abc')" )
1984+
1985+ @check_bytes_warnings
1986+ def test_bytes_str (self ):
1987+ self .test_bytes_repr (str )
1988+
19601989 @check_bytes_warnings
1961- def test_repr_str (self ):
1962- for f in str , repr :
1963- self .assertEqual (f (bytearray ()), "bytearray(b'')" )
1964- self .assertEqual (f (bytearray ([0 ])), "bytearray(b'\\ x00')" )
1965- self .assertEqual (f (bytearray ([0 , 1 , 254 , 255 ])),
1966- "bytearray(b'\\ x00\\ x01\\ xfe\\ xff')" )
1967- self .assertEqual (f (b"abc" ), "b'abc'" )
1968- self .assertEqual (f (b"'" ), '''b"'"''' ) # '''
1969- self .assertEqual (f (b"'\" " ), r"""b'\'"'""" ) # '
1990+ def test_bytearray_str (self ):
1991+ self .test_bytearray_repr (str )
19701992
19711993 @check_bytes_warnings
19721994 def test_format (self ):
@@ -2019,15 +2041,6 @@ def test_from_bytearray(self):
20192041 b = bytearray (buf )
20202042 self .assertEqual (b , bytearray (sample ))
20212043
2022- @check_bytes_warnings
2023- def test_to_str (self ):
2024- self .assertEqual (str (b'' ), "b''" )
2025- self .assertEqual (str (b'x' ), "b'x'" )
2026- self .assertEqual (str (b'\x80 ' ), "b'\\ x80'" )
2027- self .assertEqual (str (bytearray (b'' )), "bytearray(b'')" )
2028- self .assertEqual (str (bytearray (b'x' )), "bytearray(b'x')" )
2029- self .assertEqual (str (bytearray (b'\x80 ' )), "bytearray(b'\\ x80')" )
2030-
20312044 def test_literal (self ):
20322045 tests = [
20332046 (b"Wonderful spam" , "Wonderful spam" ),
@@ -2235,7 +2248,8 @@ def __init__(me, *args, **kwargs):
22352248
22362249
22372250class ByteArraySubclass (bytearray ):
2238- pass
2251+ class Nested (bytearray ):
2252+ pass
22392253
22402254class ByteArraySubclassWithSlots (bytearray ):
22412255 __slots__ = ('x' , 'y' , '__dict__' )
0 commit comments