aboutsummaryrefslogtreecommitdiffstats
path: root/libtests/qtest/predictors.test
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2018-01-13 20:32:39 +0100
committerJay Berkenbilt <ejb@ql.org>2018-01-14 01:49:42 +0100
commitbf2fb239d7a39255fe122db50dd5d03f9baa25ae (patch)
treec72455d3976deb3fae772ce9c3b6f2dc8ab5fb33 /libtests/qtest/predictors.test
parent661ed1d28ef03bc61739e4998b8d60005f1f2ee3 (diff)
downloadqpdf-bf2fb239d7a39255fe122db50dd5d03f9baa25ae.tar.zst
Rename png_filter -> predictors
Diffstat (limited to 'libtests/qtest/predictors.test')
-rw-r--r--libtests/qtest/predictors.test95
1 files changed, 95 insertions, 0 deletions
diff --git a/libtests/qtest/predictors.test b/libtests/qtest/predictors.test
new file mode 100644
index 00000000..f0553472
--- /dev/null
+++ b/libtests/qtest/predictors.test
@@ -0,0 +1,95 @@
+#!/usr/bin/env perl
+require 5.008;
+BEGIN { $^W = 1; }
+use strict;
+use File::Copy;
+use Digest::MD5;
+
+chdir("predictors") or die "chdir testdir failed: $!\n";
+
+require TestDriver;
+
+my $td = new TestDriver('predictors');
+
+cleanup();
+
+$td->runtest("decode columns = 4",
+ {$td->COMMAND => "predictors png decode in1 4 1 8"},
+ {$td->STRING => "done\n",
+ $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+
+$td->runtest("check output",
+ {$td->FILE => "out"},
+ {$td->FILE => "out1"});
+
+$td->runtest("decode columns = 5",
+ {$td->COMMAND => "predictors png decode in2 5 1 8"},
+ {$td->STRING => "done\n",
+ $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+
+$td->runtest("check output",
+ {$td->FILE => "out"},
+ {$td->FILE => "out2"});
+
+$td->runtest("encode columns = 4",
+ {$td->COMMAND => "predictors png encode out1 4 1 8"},
+ {$td->STRING => "done\n",
+ $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+
+$td->runtest("check output",
+ {$td->FILE => "out"},
+ {$td->FILE => "in1"});
+
+$td->runtest("encode columns = 5",
+ {$td->COMMAND => "predictors png encode out2 5 1 8"},
+ {$td->STRING => "done\n",
+ $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+
+$td->runtest("check output",
+ {$td->FILE => "out"},
+ {$td->FILE => "in2"});
+
+my @other = (
+ '01--32-3-16',
+ '02--32-1-8',
+ '03--32-3-8',
+ '04--32-1-8',
+ '05--32-3-8',
+ '06--32-1-8',
+ '07--32-3-8',
+ '08--32-1-8',
+ '09--32-3-8',
+ '10--32-1-8',
+ '11--32-3-8',
+ '12--32-1-4',
+ );
+
+foreach my $i (@other)
+{
+ $i =~ m/^.*?--(\d+)-(\d+)-(\d+)$/ or die;
+ my $columns = $1;
+ my $samples_per_pixel = $2;
+ my $bits_per_sample = $3;
+ $td->runtest("decode $i",
+ {$td->COMMAND => "predictors png decode $i.data" .
+ " $columns $samples_per_pixel $bits_per_sample"},
+ {$td->STRING => "done\n",
+ $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+ $td->runtest("check output for $i",
+ {$td->FILE => "out"},
+ {$td->FILE => "$i.decoded"});
+}
+
+cleanup();
+
+$td->report(8 + (2 * scalar(@other)));
+
+sub cleanup
+{
+ unlink "out";
+}