@@ -1957,16 +1957,43 @@ 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 (b"\" '\" " ), r"""b'"\'"'""" ) # '"\'"'
1970+ self .assertEqual (f (b"'\" '" ), r"""b'\'"\''""" ) # '\'"\''
1971+ self .assertEqual (f (BytesSubclass (b"abc" )), "b'abc'" )
1972+
1973+ def test_bytearray_repr (self , f = repr ):
1974+ self .assertEqual (f (bytearray ()), "bytearray(b'')" )
1975+ self .assertEqual (f (bytearray (b'abc' )), "bytearray(b'abc')" )
1976+ self .assertEqual (f (bytearray ([92 ])), r"bytearray(b'\\')" )
1977+ self .assertEqual (f (bytearray ([0 , 1 , 254 , 255 ])),
1978+ r"bytearray(b'\x00\x01\xfe\xff')" )
1979+ self .assertEqual (f (bytearray ([7 , 8 , 9 , 10 , 11 , 12 , 13 ])),
1980+ r"bytearray(b'\x07\x08\t\n\x0b\x0c\r')" )
1981+ self .assertEqual (f (bytearray (b'"' )), """bytearray(b'"')""" ) # '"'
1982+ self .assertEqual (f (bytearray (b"'" )), r'''bytearray(b"\'")''' ) # "\'"
1983+ self .assertEqual (f (bytearray (b"'\" " )), r"""bytearray(b'\'"')""" ) # '\'"'
1984+ self .assertEqual (f (bytearray (b"\" '\" " )), r"""bytearray(b'"\'"')""" ) # '"\'"'
1985+ self .assertEqual (f (bytearray (b'\' "\' ' )), r"""bytearray(b'\'"\'')""" ) # '\'"\''
1986+ self .assertEqual (f (ByteArraySubclass (b"abc" )), "ByteArraySubclass(b'abc')" )
1987+ self .assertEqual (f (ByteArraySubclass .Nested (b"abc" )), "Nested(b'abc')" )
1988+ self .assertEqual (f (ByteArraySubclass .Ŭñıçöđë (b"abc" )), "Ŭñıçöđë(b'abc')" )
1989+
1990+ @check_bytes_warnings
1991+ def test_bytes_str (self ):
1992+ self .test_bytes_repr (str )
1993+
19601994 @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'\'"'""" ) # '
1995+ def test_bytearray_str (self ):
1996+ self .test_bytearray_repr (str )
19701997
19711998 @check_bytes_warnings
19721999 def test_format (self ):
@@ -2019,15 +2046,6 @@ def test_from_bytearray(self):
20192046 b = bytearray (buf )
20202047 self .assertEqual (b , bytearray (sample ))
20212048
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-
20312049 def test_literal (self ):
20322050 tests = [
20332051 (b"Wonderful spam" , "Wonderful spam" ),
@@ -2235,7 +2253,10 @@ def __init__(me, *args, **kwargs):
22352253
22362254
22372255class ByteArraySubclass (bytearray ):
2238- pass
2256+ class Nested (bytearray ):
2257+ pass
2258+ class Ŭñıçöđë (bytearray ):
2259+ pass
22392260
22402261class ByteArraySubclassWithSlots (bytearray ):
22412262 __slots__ = ('x' , 'y' , '__dict__' )
0 commit comments