(self)
| 408 | self.assertRaises(struct.error, struct.pack, 'P', 1.5) |
| 409 | |
| 410 | def test_unpack_from(self): |
| 411 | test_string = b'abcd01234' |
| 412 | fmt = '4s' |
| 413 | s = struct.Struct(fmt) |
| 414 | for cls in (bytes, bytearray): |
| 415 | data = cls(test_string) |
| 416 | self.assertEqual(s.unpack_from(data), (b'abcd',)) |
| 417 | self.assertEqual(s.unpack_from(data, 2), (b'cd01',)) |
| 418 | self.assertEqual(s.unpack_from(data, 4), (b'0123',)) |
| 419 | for i in range(6): |
| 420 | self.assertEqual(s.unpack_from(data, i), (data[i:i+4],)) |
| 421 | for i in range(6, len(test_string) + 1): |
| 422 | self.assertRaises(struct.error, s.unpack_from, data, i) |
| 423 | for cls in (bytes, bytearray): |
| 424 | data = cls(test_string) |
| 425 | self.assertEqual(struct.unpack_from(fmt, data), (b'abcd',)) |
| 426 | self.assertEqual(struct.unpack_from(fmt, data, 2), (b'cd01',)) |
| 427 | self.assertEqual(struct.unpack_from(fmt, data, 4), (b'0123',)) |
| 428 | for i in range(6): |
| 429 | self.assertEqual(struct.unpack_from(fmt, data, i), (data[i:i+4],)) |
| 430 | for i in range(6, len(test_string) + 1): |
| 431 | self.assertRaises(struct.error, struct.unpack_from, fmt, data, i) |
| 432 | |
| 433 | # keyword arguments |
| 434 | self.assertEqual(s.unpack_from(buffer=test_string, offset=2), |
| 435 | (b'cd01',)) |
| 436 | |
| 437 | def _test_pack_into(self, pack_into): |
| 438 | test_string = b'Reykjavik rocks, eow!' |
nothing calls this directly
no test coverage detected