Ejemplo 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)
    ])
Ejemplo 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)
    ])
Ejemplo 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)
    ])
Ejemplo 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)
    ])
Ejemplo 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)
    ])
Ejemplo 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)
    ])
Ejemplo n.º 7
0
def test_encode_linear64_length4():
    result = varipacker.encode_chunk(b"\xff\x77\xaa\xfe",
                                     varipacker.Encoding.LINEAR64)
    assert result == "74WogZ3n"
Ejemplo 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"
Ejemplo n.º 9
0
def test_encode_linear64_length2():
    result = varipacker.encode_chunk(b"\xff\x77", varipacker.Encoding.LINEAR64)
    assert result == "727og"
Ejemplo n.º 10
0
def test_encode_linear64_length1():
    result = varipacker.encode_chunk(b"\xff", varipacker.Encoding.LINEAR64)
    assert result == "713o"
Ejemplo n.º 11
0
def test_encode_linear64_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.LINEAR64)
    assert result == "70"
Ejemplo 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"
Ejemplo n.º 13
0
def test_encode_sextet_stream_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.SEXTET_STREAM)
    assert result == "40"
Ejemplo n.º 14
0
def test_encode_octet_run_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.OCTET_RUN)
    assert result == "10"
Ejemplo n.º 15
0
def test_encode_sextet_run():
    result = varipacker.encode_chunk(b"\x2a" * 7,
                                     varipacker.Encoding.SEXTET_RUN)
    assert result == "27Z"
Ejemplo n.º 16
0
def test_encode_linear64_maximal():
    result = varipacker.encode_chunk(b"\xff" * 511,
                                     varipacker.Encoding.LINEAR64)
    assert result == "o" * 682 + "3o"
Ejemplo 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
Ejemplo 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)])
Ejemplo 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)])
Ejemplo n.º 20
0
def test_encode_sextet_run_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.SEXTET_RUN)
    assert result == "20"
Ejemplo 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"
Ejemplo n.º 22
0
def test_encode_sextet_run_maximal():
    result = varipacker.encode_chunk(b"\x3e" * 511,
                                     varipacker.Encoding.SEXTET_RUN)
    assert result == "jon"
Ejemplo n.º 23
0
def test_encode_triad_stream_empty():
    result = varipacker.encode_chunk(b"", varipacker.Encoding.TRIAD_STREAM)
    assert result == "30"
Ejemplo n.º 24
0
def test_encode_octet_run():
    result = varipacker.encode_chunk(b"\xfa" * 7,
                                     varipacker.Encoding.OCTET_RUN)
    assert result == "173j"
Ejemplo n.º 25
0
def test_encode_octet_run_maximal():
    result = varipacker.encode_chunk(b"\xdd" * 511,
                                     varipacker.Encoding.OCTET_RUN)
    assert result == "io3M"