Skip to content

Commit 7309eb6

Browse files
gh-131357: Add some extra tests for empty bytes and bytearray (#134458)
1 parent 979d81a commit 7309eb6

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

Lib/test/test_capi/test_bytearray.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ def test_fromobject(self):
6666
# Test PyByteArray_FromObject()
6767
fromobject = _testlimitedcapi.bytearray_fromobject
6868

69+
self.assertEqual(fromobject(b''), bytearray(b''))
6970
self.assertEqual(fromobject(b'abc'), bytearray(b'abc'))
7071
self.assertEqual(fromobject(bytearray(b'abc')), bytearray(b'abc'))
7172
self.assertEqual(fromobject(ByteArraySubclass(b'abc')), bytearray(b'abc'))
@@ -115,6 +116,7 @@ def test_concat(self):
115116
self.assertEqual(concat(b'abc', bytearray(b'def')), bytearray(b'abcdef'))
116117
self.assertEqual(concat(bytearray(b'abc'), b''), bytearray(b'abc'))
117118
self.assertEqual(concat(b'', bytearray(b'def')), bytearray(b'def'))
119+
self.assertEqual(concat(bytearray(b''), bytearray(b'')), bytearray(b''))
118120
self.assertEqual(concat(memoryview(b'xabcy')[1:4], b'def'),
119121
bytearray(b'abcdef'))
120122
self.assertEqual(concat(b'abc', memoryview(b'xdefy')[1:4]),
@@ -150,6 +152,10 @@ def test_resize(self):
150152
self.assertEqual(resize(ba, 0), 0)
151153
self.assertEqual(ba, bytearray())
152154

155+
ba = bytearray(b'')
156+
self.assertEqual(resize(ba, 0), 0)
157+
self.assertEqual(ba, bytearray())
158+
153159
ba = ByteArraySubclass(b'abcdef')
154160
self.assertEqual(resize(ba, 3), 0)
155161
self.assertEqual(ba, bytearray(b'abc'))

Lib/test/test_capi/test_bytes.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ def test_fromobject(self):
8181
# Test PyBytes_FromObject()
8282
fromobject = _testlimitedcapi.bytes_fromobject
8383

84+
self.assertEqual(fromobject(b''), b'')
8485
self.assertEqual(fromobject(b'abc'), b'abc')
8586
self.assertEqual(fromobject(bytearray(b'abc')), b'abc')
8687
self.assertEqual(fromobject(BytesSubclass(b'abc')), b'abc')
@@ -138,6 +139,7 @@ def test_repr(self):
138139
# Test PyBytes_Repr()
139140
bytes_repr = _testlimitedcapi.bytes_repr
140141

142+
self.assertEqual(bytes_repr(b'', 0), r"""b''""")
141143
self.assertEqual(bytes_repr(b'''abc''', 0), r"""b'abc'""")
142144
self.assertEqual(bytes_repr(b'''abc''', 1), r"""b'abc'""")
143145
self.assertEqual(bytes_repr(b'''a'b"c"d''', 0), r"""b'a\'b"c"d'""")
@@ -197,6 +199,7 @@ def test_decodeescape(self):
197199
"""Test PyBytes_DecodeEscape()"""
198200
decodeescape = _testlimitedcapi.bytes_decodeescape
199201

202+
self.assertEqual(decodeescape(b''), b'')
200203
self.assertEqual(decodeescape(b'abc'), b'abc')
201204
self.assertEqual(decodeescape(br'\t\n\r\x0b\x0c\x00\\\'\"'),
202205
b'''\t\n\r\v\f\0\\'"''')

0 commit comments

Comments
 (0)