@@ -1885,16 +1885,43 @@ class AssortedBytesTest(unittest.TestCase):
18851885 # Test various combinations of bytes and bytearray
18861886 #
18871887
1888+ def test_bytes_repr (self , f = repr ):
1889+ self .assertEqual (f (b'' ), "b''" )
1890+ self .assertEqual (f (b"abc" ), "b'abc'" )
1891+ self .assertEqual (f (bytes ([92 ])), r"b'\\'" )
1892+ self .assertEqual (f (bytes ([0 , 1 , 254 , 255 ])), r"b'\x00\x01\xfe\xff'" )
1893+ self .assertEqual (f (b'\a \b \t \n \v \f \r ' ), r"b'\x07\x08\t\n\x0b\x0c\r'" )
1894+ self .assertEqual (f (b'"' ), """b'"'""" ) # '"'
1895+ self .assertEqual (f (b"'" ), '''b"'"''' ) # "'"
1896+ self .assertEqual (f (b"'\" " ), r"""b'\'"'""" ) # '\'"'
1897+ self .assertEqual (f (b"\" '\" " ), r"""b'"\'"'""" ) # '"\'"'
1898+ self .assertEqual (f (b"'\" '" ), r"""b'\'"\''""" ) # '\'"\''
1899+ self .assertEqual (f (BytesSubclass (b"abc" )), "b'abc'" )
1900+
1901+ def test_bytearray_repr (self , f = repr ):
1902+ self .assertEqual (f (bytearray ()), "bytearray(b'')" )
1903+ self .assertEqual (f (bytearray (b'abc' )), "bytearray(b'abc')" )
1904+ self .assertEqual (f (bytearray ([92 ])), r"bytearray(b'\\')" )
1905+ self .assertEqual (f (bytearray ([0 , 1 , 254 , 255 ])),
1906+ r"bytearray(b'\x00\x01\xfe\xff')" )
1907+ self .assertEqual (f (bytearray ([7 , 8 , 9 , 10 , 11 , 12 , 13 ])),
1908+ r"bytearray(b'\x07\x08\t\n\x0b\x0c\r')" )
1909+ self .assertEqual (f (bytearray (b'"' )), """bytearray(b'"')""" ) # '"'
1910+ self .assertEqual (f (bytearray (b"'" )), r'''bytearray(b"\'")''' ) # "\'"
1911+ self .assertEqual (f (bytearray (b"'\" " )), r"""bytearray(b'\'"')""" ) # '\'"'
1912+ self .assertEqual (f (bytearray (b"\" '\" " )), r"""bytearray(b'"\'"')""" ) # '"\'"'
1913+ self .assertEqual (f (bytearray (b'\' "\' ' )), r"""bytearray(b'\'"\'')""" ) # '\'"\''
1914+ self .assertEqual (f (ByteArraySubclass (b"abc" )), "ByteArraySubclass(b'abc')" )
1915+ self .assertEqual (f (ByteArraySubclass .Nested (b"abc" )), "Nested(b'abc')" )
1916+ self .assertEqual (f (ByteArraySubclass .Ŭñıçöđë (b"abc" )), "Ŭñıçöđë(b'abc')" )
1917+
1918+ @check_bytes_warnings
1919+ def test_bytes_str (self ):
1920+ self .test_bytes_repr (str )
1921+
18881922 @check_bytes_warnings
1889- def test_repr_str (self ):
1890- for f in str , repr :
1891- self .assertEqual (f (bytearray ()), "bytearray(b'')" )
1892- self .assertEqual (f (bytearray ([0 ])), "bytearray(b'\\ x00')" )
1893- self .assertEqual (f (bytearray ([0 , 1 , 254 , 255 ])),
1894- "bytearray(b'\\ x00\\ x01\\ xfe\\ xff')" )
1895- self .assertEqual (f (b"abc" ), "b'abc'" )
1896- self .assertEqual (f (b"'" ), '''b"'"''' ) # '''
1897- self .assertEqual (f (b"'\" " ), r"""b'\'"'""" ) # '
1923+ def test_bytearray_str (self ):
1924+ self .test_bytearray_repr (str )
18981925
18991926 @check_bytes_warnings
19001927 def test_format (self ):
@@ -1947,15 +1974,6 @@ def test_from_bytearray(self):
19471974 b = bytearray (buf )
19481975 self .assertEqual (b , bytearray (sample ))
19491976
1950- @check_bytes_warnings
1951- def test_to_str (self ):
1952- self .assertEqual (str (b'' ), "b''" )
1953- self .assertEqual (str (b'x' ), "b'x'" )
1954- self .assertEqual (str (b'\x80 ' ), "b'\\ x80'" )
1955- self .assertEqual (str (bytearray (b'' )), "bytearray(b'')" )
1956- self .assertEqual (str (bytearray (b'x' )), "bytearray(b'x')" )
1957- self .assertEqual (str (bytearray (b'\x80 ' )), "bytearray(b'\\ x80')" )
1958-
19591977 def test_literal (self ):
19601978 tests = [
19611979 (b"Wonderful spam" , "Wonderful spam" ),
@@ -2163,7 +2181,10 @@ def __init__(me, *args, **kwargs):
21632181
21642182
21652183class ByteArraySubclass (bytearray ):
2166- pass
2184+ class Nested (bytearray ):
2185+ pass
2186+ class Ŭñıçöđë (bytearray ):
2187+ pass
21672188
21682189class ByteArraySubclassWithSlots (bytearray ):
21692190 __slots__ = ('x' , 'y' , '__dict__' )
0 commit comments