]> iEval git - io-compress-brotli.git/blobdiff - t/02-roundtrip.t
Add tests for compression, and a CLI tool for manual testing.
[io-compress-brotli.git] / t / 02-roundtrip.t
diff --git a/t/02-roundtrip.t b/t/02-roundtrip.t
new file mode 100644 (file)
index 0000000..16407d1
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/perl
+use v5.14;
+use warnings;
+
+use Test::More tests => 114;
+use File::Slurp;
+
+use IO::Compress::Brotli;
+use IO::Uncompress::Brotli;
+
+for my $test (<brotli/tests/testdata/*.compressed>) {
+       my ($source) = $test =~ s/\.compressed$//r;
+       $source = read_file $source;
+
+    for my $quality (9,11) {
+        my $encoded = bro($source, $quality);
+        my $decoded = unbro($encoded);
+
+        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, 1);
+        $encoded .= $enc->finish();
+
+               my $dec = IO::Uncompress::Brotli->create;
+        my $decoded = $dec->decompress($encoded);
+
+        is $decoded, $source, "$test - streaming / quality $quality";
+    }
+}
This page took 0.020819 seconds and 4 git commands to generate.