]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-131357: Add some extra tests for empty bytes and bytearray (GH-134458)...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 22 May 2025 07:28:44 +0000 (09:28 +0200)
committerGitHub <noreply@github.com>
Thu, 22 May 2025 07:28:44 +0000 (07:28 +0000)
gh-131357: Add some extra tests for empty bytes and bytearray (GH-134458)
(cherry picked from commit 7309eb60c077836b4b05a86ed23c710dbff737ec)

Co-authored-by: Sergey Miryanov <sergey.miryanov@gmail.com>
Lib/test/test_capi/test_bytearray.py
Lib/test/test_capi/test_bytes.py

index 699fc9d0589e1d9894a4a94a5b0f0333a58b5cec..d5b164fc586fb35b20dca813b9a0bc96255a1170 100644 (file)
@@ -66,6 +66,7 @@ class CAPITest(unittest.TestCase):
         # Test PyByteArray_FromObject()
         fromobject = _testlimitedcapi.bytearray_fromobject
 
+        self.assertEqual(fromobject(b''), bytearray(b''))
         self.assertEqual(fromobject(b'abc'), bytearray(b'abc'))
         self.assertEqual(fromobject(bytearray(b'abc')), bytearray(b'abc'))
         self.assertEqual(fromobject(ByteArraySubclass(b'abc')), bytearray(b'abc'))
@@ -115,6 +116,7 @@ class CAPITest(unittest.TestCase):
         self.assertEqual(concat(b'abc', bytearray(b'def')), bytearray(b'abcdef'))
         self.assertEqual(concat(bytearray(b'abc'), b''), bytearray(b'abc'))
         self.assertEqual(concat(b'', bytearray(b'def')), bytearray(b'def'))
+        self.assertEqual(concat(bytearray(b''), bytearray(b'')), bytearray(b''))
         self.assertEqual(concat(memoryview(b'xabcy')[1:4], b'def'),
                          bytearray(b'abcdef'))
         self.assertEqual(concat(b'abc', memoryview(b'xdefy')[1:4]),
@@ -150,6 +152,10 @@ class CAPITest(unittest.TestCase):
         self.assertEqual(resize(ba, 0), 0)
         self.assertEqual(ba, bytearray())
 
+        ba = bytearray(b'')
+        self.assertEqual(resize(ba, 0), 0)
+        self.assertEqual(ba, bytearray())
+
         ba = ByteArraySubclass(b'abcdef')
         self.assertEqual(resize(ba, 3), 0)
         self.assertEqual(ba, bytearray(b'abc'))
index fa9e0e8ed0fbcab810ba5307f25c4e70bd41107e..35b725ae34a1edc45b3b17cddae19b586a1d4c12 100644 (file)
@@ -81,6 +81,7 @@ class CAPITest(unittest.TestCase):
         # Test PyBytes_FromObject()
         fromobject = _testlimitedcapi.bytes_fromobject
 
+        self.assertEqual(fromobject(b''), b'')
         self.assertEqual(fromobject(b'abc'), b'abc')
         self.assertEqual(fromobject(bytearray(b'abc')), b'abc')
         self.assertEqual(fromobject(BytesSubclass(b'abc')), b'abc')
@@ -138,6 +139,7 @@ class CAPITest(unittest.TestCase):
         # Test PyBytes_Repr()
         bytes_repr = _testlimitedcapi.bytes_repr
 
+        self.assertEqual(bytes_repr(b'', 0), r"""b''""")
         self.assertEqual(bytes_repr(b'''abc''', 0), r"""b'abc'""")
         self.assertEqual(bytes_repr(b'''abc''', 1), r"""b'abc'""")
         self.assertEqual(bytes_repr(b'''a'b"c"d''', 0), r"""b'a\'b"c"d'""")
@@ -197,6 +199,7 @@ class CAPITest(unittest.TestCase):
         """Test PyBytes_DecodeEscape()"""
         decodeescape = _testlimitedcapi.bytes_decodeescape
 
+        self.assertEqual(decodeescape(b''), b'')
         self.assertEqual(decodeescape(b'abc'), b'abc')
         self.assertEqual(decodeescape(br'\t\n\r\x0b\x0c\x00\\\'\"'),
                          b'''\t\n\r\v\f\0\\'"''')