def test_decode_string_literal_huffman(self): longstring = 'a'*4096 encoded = b'\x83\x49\x50\x9f' self.assertEqual(ed.decode_string_literal(encoded, 0), ('test', 4)) encoded = b'\xff\x81\x13' + (b'\x18\xc6\x31\x8c\x63' * (4096//8)) self.assertEqual(ed.decode_string_literal(encoded, 0), (longstring, len(encoded))) encoded = b'\xff\xff\xff\xff\xf0' + b'\xff\x81\x13' + (b'\x18\xc6\x31\x8c\x63' * (4096//8)) + b'\x0f\xff' self.assertEqual(ed.decode_string_literal(encoded, 5), (longstring, 3 + 5 * (4096//8)))
def test_decode_string_literal(self): longstring = 'a'*4096 encoded = b'\x04test' self.assertEqual(ed.decode_string_literal(encoded, 0), ('test', 5)) encoded = b'\x7f\x81\x1f' + longstring.encode('ascii') self.assertEqual(ed.decode_string_literal(encoded, 0), (longstring, len(encoded))) encoded = b'\x00\x00\x00\x83\x49\x50\x9f\x00\x00\x00' self.assertEqual(ed.decode_string_literal(encoded, 3), ('test', 4))