Esempio n. 1
0
def test_encode_all_linear64_double_chunk():
    content = ((b"\x40\x00\x00\x40" * 127) + b"\x40\x00\x00") * 2
    result = varipacker.encode(content)
    assert result == "".join([
        varipacker.encode_chunk(content[0:511], varipacker.Encoding.LINEAR64),
        varipacker.encode_chunk(content[0:511], varipacker.Encoding.LINEAR64)
    ])
Esempio n. 2
0
def test_encode_all_sextet_run_double_chunk():
    content = b"\x39" * 1022
    result = varipacker.encode(content)
    assert result == "".join([
        varipacker.encode_chunk(content[0:511],
                                varipacker.Encoding.SEXTET_RUN),
        varipacker.encode_chunk(content[0:511], varipacker.Encoding.SEXTET_RUN)
    ])
Esempio n. 3
0
def test_encode_alternating_sextet_octet_run():
    content = (b"\x39" * 10) + (b"\x40" * 10) + (b"\x39" * 10) + (b"\x40" * 10)
    result = varipacker.encode(content)
    assert result == "".join([
        varipacker.encode_chunk(b"\x39" * 10, varipacker.Encoding.SEXTET_RUN),
        varipacker.encode_chunk(b"\x40" * 10, varipacker.Encoding.OCTET_RUN),
        varipacker.encode_chunk(b"\x39" * 10, varipacker.Encoding.SEXTET_RUN),
        varipacker.encode_chunk(b"\x40" * 10, varipacker.Encoding.OCTET_RUN)
    ])
Esempio n. 4
0
def test_encode_all_but_sextet_stream():
    content = (b"\x39" * 10) + b"\x61\x62\x01\x02\x03\x04\x05\x06" + (
        b"\x40" * 10) + b"\x77" + (b"\x39" * 10) + (b"\x40" * 10)
    result = varipacker.encode(content)
    assert result == "".join([
        varipacker.encode_chunk(b"\x39" * 10, varipacker.Encoding.SEXTET_RUN),
        varipacker.encode_chunk(b"\x61\x62", varipacker.Encoding.LINEAR64),
        varipacker.encode_chunk(b"\x01\x02\x03\x04\x05\x06",
                                varipacker.Encoding.TRIAD_STREAM),
        varipacker.encode_chunk(b"\x40" * 10, varipacker.Encoding.OCTET_RUN),
        varipacker.encode_chunk(b"\x77", varipacker.Encoding.LINEAR64),
        varipacker.encode_chunk(b"\x39" * 10, varipacker.Encoding.SEXTET_RUN),
        varipacker.encode_chunk(b"\x40" * 10, varipacker.Encoding.OCTET_RUN)
    ])
Esempio n. 5
0
def test_encode_all():
    content = b"\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e" + (
        b"\x39" * 10) + b"\x61\x62\x01\x02\x03\x04\x05\x06" + (
            b"\x40" * 10) + b"\x77" + (b"\x39" * 10) + (b"\x40" * 10)
    result = varipacker.encode(content)
    assert result == "".join([
        varipacker.encode_chunk(
            b"\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e",
            varipacker.Encoding.SEXTET_STREAM),
        varipacker.encode_chunk(b"\x39" * 10, varipacker.Encoding.SEXTET_RUN),
        varipacker.encode_chunk(b"\x61\x62", varipacker.Encoding.LINEAR64),
        varipacker.encode_chunk(b"\x01\x02\x03\x04\x05\x06",
                                varipacker.Encoding.TRIAD_STREAM),
        varipacker.encode_chunk(b"\x40" * 10, varipacker.Encoding.OCTET_RUN),
        varipacker.encode_chunk(b"\x77", varipacker.Encoding.LINEAR64),
        varipacker.encode_chunk(b"\x39" * 10, varipacker.Encoding.SEXTET_RUN),
        varipacker.encode_chunk(b"\x40" * 10, varipacker.Encoding.OCTET_RUN)
    ])
Esempio n. 6
0
def test_encode_sextet_octet_run_with_linear64():
    content = (b"\x39" * 10) + b"\x61\x62" + (b"\x40" * 10) + b"\x77" + (
        b"\x39" * 10) + (b"\x40" * 10)
    result = varipacker.encode(content)
    assert result == "".join([
        varipacker.encode_chunk(b"\x39" * 10, varipacker.Encoding.SEXTET_RUN),
        varipacker.encode_chunk(b"\x61\x62", varipacker.Encoding.LINEAR64),
        varipacker.encode_chunk(b"\x40" * 10, varipacker.Encoding.OCTET_RUN),
        varipacker.encode_chunk(b"\x77", varipacker.Encoding.LINEAR64),
        varipacker.encode_chunk(b"\x39" * 10, varipacker.Encoding.SEXTET_RUN),
        varipacker.encode_chunk(b"\x40" * 10, varipacker.Encoding.OCTET_RUN)
    ])
Esempio n. 7
0
def test_encode_linear64_length4():
    result = varipacker.encode_chunk(b"\xff\x77\xaa\xfe",
                                     varipacker.Encoding.LINEAR64)
    assert result == "74WogZ3n"
Esempio n. 8
0
def test_encode_sextet_stream():
    result = varipacker.encode_chunk(b"\x00\x01\x3e\x3f\x3f\x3e\x01\x00",
                                     varipacker.Encoding.SEXTET_STREAM)
    assert result == "4801noon10"
Esempio n. 9
0
def test_encode_linear64_length2():
    result = varipacker.encode_chunk(b"\xff\x77", varipacker.Encoding.LINEAR64)
    assert result == "727og"
Esempio n. 10
0
def test_encode_linear64_length1():
    result = varipacker.encode_chunk(b"\xff", varipacker.Encoding.LINEAR64)
    assert result == "713o"
Esempio n. 11
0
def test_encode_linear64_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.LINEAR64)
    assert result == "70"
Esempio n. 12
0
def test_encode_triad_stream_maximal():
    result = varipacker.encode_chunk(b"\x01" * 511,
                                     varipacker.Encoding.TRIAD_STREAM)
    assert result == "ko" + ("9" * 255) + "1"
Esempio n. 13
0
def test_encode_sextet_stream_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.SEXTET_STREAM)
    assert result == "40"
Esempio n. 14
0
def test_encode_octet_run_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.OCTET_RUN)
    assert result == "10"
Esempio n. 15
0
def test_encode_sextet_run():
    result = varipacker.encode_chunk(b"\x2a" * 7,
                                     varipacker.Encoding.SEXTET_RUN)
    assert result == "27Z"
Esempio n. 16
0
def test_encode_linear64_maximal():
    result = varipacker.encode_chunk(b"\xff" * 511,
                                     varipacker.Encoding.LINEAR64)
    assert result == "o" * 682 + "3o"
Esempio n. 17
0
def test_encode_sextet_stream_maximal():
    result = varipacker.encode_chunk(b"\x2a" * 511,
                                     varipacker.Encoding.SEXTET_STREAM)
    assert result == "lo" + "Z" * 511
Esempio n. 18
0
def test_encode_all_linear64_single_chunk():
    content = (b"\x40\x00\x00\x40" * 127) + b"\x40\x00\x00"
    result = varipacker.encode(content)
    assert result == "".join(
        [varipacker.encode_chunk(content, varipacker.Encoding.LINEAR64)])
Esempio n. 19
0
def test_encode_all_sextet_run_single_chunk():
    content = b"\x39" * 511
    result = varipacker.encode(content)
    assert result == "".join(
        [varipacker.encode_chunk(content, varipacker.Encoding.SEXTET_RUN)])
Esempio n. 20
0
def test_encode_sextet_run_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.SEXTET_RUN)
    assert result == "20"
Esempio n. 21
0
def test_encode_triad_stream():
    result = varipacker.encode_chunk(b"\x00\x01\x06\x07\x07\x06\x01\x00",
                                     varipacker.Encoding.TRIAD_STREAM)
    assert result == "388ng1"
Esempio n. 22
0
def test_encode_sextet_run_maximal():
    result = varipacker.encode_chunk(b"\x3e" * 511,
                                     varipacker.Encoding.SEXTET_RUN)
    assert result == "jon"
Esempio n. 23
0
def test_encode_triad_stream_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.TRIAD_STREAM)
    assert result == "30"
Esempio n. 24
0
def test_encode_octet_run():
    result = varipacker.encode_chunk(b"\xfa" * 7,
                                     varipacker.Encoding.OCTET_RUN)
    assert result == "173j"
Esempio n. 25
0
def test_encode_octet_run_maximal():
    result = varipacker.encode_chunk(b"\xdd" * 511,
                                     varipacker.Encoding.OCTET_RUN)
    assert result == "io3M"