def _test_png_predictors(self, columns, encoded_data, pixel_data): obj = EncodedObject(encoded_data, Filter.Uncompressed, columns = columns, predictor = Predictor.PNGPredictionOptimum) obj_decode = obj.decode() self.assertEqual(len(obj_decode), len(pixel_data)) for line_offset in range(0, len(pixel_data), columns): self.assertEqual(obj_decode[line_offset : line_offset + columns], pixel_data[line_offset : line_offset + columns], "Row %d" % (line_offset // columns)) self.assertEqual(obj_decode, pixel_data)
def test_flate_decompress(self): compressed_data = bytes.fromhex( "78 9c 73 cb cf 4f 4a 2c 02 00 07 eb 02 5a") obj = EncodedObject(compressed_data, Filter.FlateDecode) self.assertEqual(obj.decode(), b"Foobar")
def test_no_decompress(self): uncompressed_data = b"Foobar" obj = EncodedObject(uncompressed_data, Filter.Uncompressed) self.assertEqual(obj.decode(), b"Foobar")