IO-Compress-Brotli
view release on metacpan or search on metacpan
t/02-roundtrip.t view on Meta::CPAN
#!/usr/bin/perl
use v5.14;
use warnings;
use Test::More tests => 114;
use File::Slurper qw/read_binary/;
use IO::Compress::Brotli;
use IO::Uncompress::Brotli;
for my $test (<brotli/tests/testdata/*.compressed>) {
my ($source) = $test =~ s/\.compressed$//r;
$source = read_binary $source;
for my $quality (9,11) {
my $encoded = bro($source, $quality);
my $decoded = unbro($encoded, 1_000_000);
is $decoded, $source, "$test - quality $quality";
}
for my $quality (1,5,9,11) {
my $enc = IO::Compress::Brotli->create;
$enc->quality($quality);
my $encoded = $enc->compress($source);
$encoded .= $enc->finish();
my $dec = IO::Uncompress::Brotli->create;
my $decoded = $dec->decompress($encoded);
is $decoded, $source, "$test - streaming / quality $quality";
}
}
( run in 3.010 seconds using v1.01-cache-2.11-cpan-63c85eba8c4 )