pyodide/packages/cramjam/test_cramjam.py

29 lines
841 B
Python
Raw Normal View History

2023-03-02 05:46:58 +00:00
from typing import Any
import pytest
from pytest_pyodide import run_in_pyodide
VARIANTS = ("snappy", "brotli", "bzip2", "lz4", "gzip", "deflate", "zstd")
@pytest.mark.parametrize("variant_str", VARIANTS)
@run_in_pyodide(packages=["cramjam"])
def test_variants_simple(selenium, variant_str):
import random
import cramjam
uncompressed: Any = [random.getrandbits(8) for x in range(1048576)]
variant = getattr(cramjam, variant_str)
uncompressed = bytearray(uncompressed)
compressed = variant.compress(uncompressed)
assert compressed.read() != uncompressed
compressed.seek(0)
assert isinstance(compressed, cramjam.Buffer)
decompressed = variant.decompress(compressed, output_len=len(uncompressed))
assert decompressed.read() == uncompressed
assert isinstance(decompressed, cramjam.Buffer)