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