Ejemplo n.º 1
0
def test_odict():
    seq = [(b"one", 1), (b"two", 2), (b"three", 3), (b"four", 4)]
    od = OrderedDict(seq)
    assert unpackb(packb(od), use_list=1) == dict(seq)

    def pair_hook(seq):
        return list(seq)

    assert unpackb(packb(od), object_pairs_hook=pair_hook, use_list=1) == seq
Ejemplo n.º 2
0
def test_pack_unicode(s):
    re = unpackb(packb(s), use_list=1, raw=False)
    assert re == s
    packer = Packer()
    data = packer.pack(s)
    re = Unpacker(BytesIO(data), raw=False, use_list=1).unpack()
    assert re == s
Ejemplo n.º 3
0
def test_ignore_errors_pack():
    re = unpackb(
        packb("abc\uDC80\uDCFFdef", use_bin_type=True,
              unicode_errors="ignore"),
        raw=False,
        use_list=1,
    )
    assert re == "abcdef"
Ejemplo n.º 4
0
def test_strict_unicode_unpack():
    packed = packb(b"abc\xeddef", use_bin_type=False)
    with pytest.raises(UnicodeDecodeError):
        unpackb(packed, raw=False, use_list=1)
Ejemplo n.º 5
0
def test_ignore_unicode_errors():
    re = unpackb(packb(b"abc\xeddef", use_bin_type=False),
                 raw=False,
                 unicode_errors="ignore")
    assert re == "abcdef"
Ejemplo n.º 6
0
def check(data, use_list=False):
    re = unpackb(packb(data), use_list=use_list, strict_map_key=False)
    assert re == data
Ejemplo n.º 7
0
def test_pack_float():
    assert packb(1.0, use_f32=True) == b"\xca" + struct.pack(str(">f"), 1.0)
    assert packb(1.0, use_f32=False) == b"\xcb" + struct.pack(str(">d"), 1.0)
Ejemplo n.º 8
0
def test_decode_binary():
    re = unpackb(packb(b"abc"), use_list=1)
    assert re == b"abc"