| 2078 | "Excessive amount of data was decompressed") |
| 2079 | |
| 2080 | def test_write(self): |
| 2081 | raw_data = THIS_FILE_BYTES[: len(THIS_FILE_BYTES) // 6] |
| 2082 | with io.BytesIO() as dst: |
| 2083 | with ZstdFile(dst, "w") as f: |
| 2084 | f.write(raw_data) |
| 2085 | |
| 2086 | comp = ZstdCompressor() |
| 2087 | expected = comp.compress(raw_data) + comp.flush() |
| 2088 | self.assertEqual(dst.getvalue(), expected) |
| 2089 | |
| 2090 | with io.BytesIO() as dst: |
| 2091 | with ZstdFile(dst, "w", level=12) as f: |
| 2092 | f.write(raw_data) |
| 2093 | |
| 2094 | comp = ZstdCompressor(12) |
| 2095 | expected = comp.compress(raw_data) + comp.flush() |
| 2096 | self.assertEqual(dst.getvalue(), expected) |
| 2097 | |
| 2098 | with io.BytesIO() as dst: |
| 2099 | with ZstdFile(dst, "w", options={CompressionParameter.checksum_flag:1}) as f: |
| 2100 | f.write(raw_data) |
| 2101 | |
| 2102 | comp = ZstdCompressor(options={CompressionParameter.checksum_flag:1}) |
| 2103 | expected = comp.compress(raw_data) + comp.flush() |
| 2104 | self.assertEqual(dst.getvalue(), expected) |
| 2105 | |
| 2106 | with io.BytesIO() as dst: |
| 2107 | options = {CompressionParameter.compression_level:-5, |
| 2108 | CompressionParameter.checksum_flag:1} |
| 2109 | with ZstdFile(dst, "w", |
| 2110 | options=options) as f: |
| 2111 | f.write(raw_data) |
| 2112 | |
| 2113 | comp = ZstdCompressor(options=options) |
| 2114 | expected = comp.compress(raw_data) + comp.flush() |
| 2115 | self.assertEqual(dst.getvalue(), expected) |
| 2116 | |
| 2117 | def test_write_empty_frame(self): |
| 2118 | # .FLUSH_FRAME generates an empty content frame |