summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_bytes.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_bytes.py')
-rw-r--r--Lib/test/test_bytes.py57
1 files changed, 57 insertions, 0 deletions
diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
index 9502a8f..bbd45c7 100644
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -417,6 +417,63 @@ class BaseBytesTest:
self.assertEqual(self.type2test(b"\x1a\x2b\x30").hex(), '1a2b30')
self.assertEqual(memoryview(b"\x1a\x2b\x30").hex(), '1a2b30')
+ def test_hex_separator_basics(self):
+ three_bytes = self.type2test(b'\xb9\x01\xef')
+ self.assertEqual(three_bytes.hex(), 'b901ef')
+ with self.assertRaises(ValueError):
+ three_bytes.hex('')
+ with self.assertRaises(ValueError):
+ three_bytes.hex('xx')
+ self.assertEqual(three_bytes.hex(':', 0), 'b901ef')
+ with self.assertRaises(TypeError):
+ three_bytes.hex(None, 0)
+ with self.assertRaises(ValueError):
+ three_bytes.hex('\xff')
+ with self.assertRaises(ValueError):
+ three_bytes.hex(b'\xff')
+ with self.assertRaises(ValueError):
+ three_bytes.hex(b'\x80')
+ with self.assertRaises(ValueError):
+ three_bytes.hex(chr(0x100))
+ self.assertEqual(three_bytes.hex(':', 0), 'b901ef')
+ self.assertEqual(three_bytes.hex(b'\x00'), 'b9\x0001\x00ef')
+ self.assertEqual(three_bytes.hex('\x00'), 'b9\x0001\x00ef')
+ self.assertEqual(three_bytes.hex(b'\x7f'), 'b9\x7f01\x7fef')
+ self.assertEqual(three_bytes.hex('\x7f'), 'b9\x7f01\x7fef')
+ self.assertEqual(three_bytes.hex(':', 3), 'b901ef')
+ self.assertEqual(three_bytes.hex(':', 4), 'b901ef')
+ self.assertEqual(three_bytes.hex(':', -4), 'b901ef')
+ self.assertEqual(three_bytes.hex(':'), 'b9:01:ef')
+ self.assertEqual(three_bytes.hex(b'$'), 'b9$01$ef')
+ self.assertEqual(three_bytes.hex(':', 1), 'b9:01:ef')
+ self.assertEqual(three_bytes.hex(':', -1), 'b9:01:ef')
+ self.assertEqual(three_bytes.hex(':', 2), 'b9:01ef')
+ self.assertEqual(three_bytes.hex(':', 1), 'b9:01:ef')
+ self.assertEqual(three_bytes.hex('*', -2), 'b901*ef')
+
+ value = b'{s\005\000\000\000worldi\002\000\000\000s\005\000\000\000helloi\001\000\000\0000'
+ self.assertEqual(value.hex('.', 8), '7b7305000000776f.726c646902000000.730500000068656c.6c6f690100000030')
+
+ def test_hex_separator_five_bytes(self):
+ five_bytes = self.type2test(range(90,95))
+ self.assertEqual(five_bytes.hex(), '5a5b5c5d5e')
+
+ def test_hex_separator_six_bytes(self):
+ six_bytes = self.type2test(x*3 for x in range(1, 7))
+ self.assertEqual(six_bytes.hex(), '0306090c0f12')
+ self.assertEqual(six_bytes.hex('.', 1), '03.06.09.0c.0f.12')
+ self.assertEqual(six_bytes.hex(' ', 2), '0306 090c 0f12')
+ self.assertEqual(six_bytes.hex('-', 3), '030609-0c0f12')
+ self.assertEqual(six_bytes.hex(':', 4), '0306:090c0f12')
+ self.assertEqual(six_bytes.hex(':', 5), '03:06090c0f12')
+ self.assertEqual(six_bytes.hex(':', 6), '0306090c0f12')
+ self.assertEqual(six_bytes.hex(':', 95), '0306090c0f12')
+ self.assertEqual(six_bytes.hex('_', -3), '030609_0c0f12')
+ self.assertEqual(six_bytes.hex(':', -4), '0306090c:0f12')
+ self.assertEqual(six_bytes.hex(b'@', -5), '0306090c0f@12')
+ self.assertEqual(six_bytes.hex(':', -6), '0306090c0f12')
+ self.assertEqual(six_bytes.hex(' ', -95), '0306090c0f12')
+
def test_join(self):
self.assertEqual(self.type2test(b"").join([]), b"")
self.assertEqual(self.type2test(b"").join([b""]), b"")