Skip to content

Commit 044fe0b

Browse files
[3.13] gh-131357: Add some extra tests for empty bytes and bytearray (GH-134458) (#134490)
gh-131357: Add some extra tests for empty bytes and bytearray (GH-134458) (cherry picked from commit 7309eb6) Co-authored-by: Sergey Miryanov <sergey.miryanov@gmail.com>
1 parent 55aba16 commit 044fe0b

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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy