示例#1
0
    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)))
示例#2
0
    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))