diff options
Diffstat (limited to 'libtests')
-rw-r--r-- | libtests/libtests.testcov | 1 | ||||
-rw-r--r-- | libtests/predictors.cc | 8 | ||||
-rw-r--r-- | libtests/qtest/predictors.test | 38 | ||||
-rw-r--r-- | libtests/qtest/predictors/tiff-01--16-1-8.data | bin | 0 -> 48 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/tiff-01--16-1-8.decoded | 3 | ||||
-rw-r--r-- | libtests/qtest/predictors/tiff-02--8-2-4.data | bin | 0 -> 16 bytes | |||
-rw-r--r-- | libtests/qtest/predictors/tiff-02--8-2-4.decoded | 1 | ||||
-rw-r--r-- | libtests/qtest/predictors/tiff-03--4-1-16.data | 1 | ||||
-rw-r--r-- | libtests/qtest/predictors/tiff-03--4-1-16.decoded | 1 |
9 files changed, 50 insertions, 3 deletions
diff --git a/libtests/libtests.testcov b/libtests/libtests.testcov index 03ca98a6..8b209281 100644 --- a/libtests/libtests.testcov +++ b/libtests/libtests.testcov @@ -33,3 +33,4 @@ Pl_PNGFilter decodeSub 0 Pl_PNGFilter decodeUp 0 Pl_PNGFilter decodeAverage 0 Pl_PNGFilter decodePaeth 0 +Pl_TIFFPredictor processRow 1 diff --git a/libtests/predictors.cc b/libtests/predictors.cc index fe2b90f4..47efa287 100644 --- a/libtests/predictors.cc +++ b/libtests/predictors.cc @@ -1,4 +1,5 @@ #include <qpdf/Pl_PNGFilter.hh> +#include <qpdf/Pl_TIFFPredictor.hh> #include <qpdf/Pl_StdioFile.hh> #include <qpdf/QUtil.hh> @@ -23,6 +24,13 @@ void run(char const* filename, char const* filter, encode ? Pl_PNGFilter::a_encode : Pl_PNGFilter::a_decode, columns, samples_per_pixel, bits_per_sample); } + else if (strcmp(filter, "tiff") == 0) + { + pl = new Pl_TIFFPredictor( + "png", out, + encode ? Pl_TIFFPredictor::a_encode : Pl_TIFFPredictor::a_decode, + columns, samples_per_pixel, bits_per_sample); + } else { std::cerr << "unknown filter " << filter << std::endl; diff --git a/libtests/qtest/predictors.test b/libtests/qtest/predictors.test index f0553472..98961d1a 100644 --- a/libtests/qtest/predictors.test +++ b/libtests/qtest/predictors.test @@ -53,7 +53,7 @@ $td->runtest("check output", {$td->FILE => "out"}, {$td->FILE => "in2"}); -my @other = ( +my @other_png = ( '01--32-3-16', '02--32-1-8', '03--32-3-8', @@ -68,7 +68,7 @@ my @other = ( '12--32-1-4', ); -foreach my $i (@other) +foreach my $i (@other_png) { $i =~ m/^.*?--(\d+)-(\d+)-(\d+)$/ or die; my $columns = $1; @@ -85,9 +85,41 @@ foreach my $i (@other) {$td->FILE => "$i.decoded"}); } +my @tiff = ( + '01--16-1-8', + '02--8-2-4', + '03--4-1-16', + ); + +foreach my $i (@tiff) +{ + $i =~ m/^.*?--(\d+)-(\d+)-(\d+)$/ or die; + my $columns = $1; + my $samples_per_pixel = $2; + my $bits_per_sample = $3; + $td->runtest("decode tiff $i", + {$td->COMMAND => "predictors tiff decode tiff-$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 tiff-$i", + {$td->FILE => "out"}, + {$td->FILE => "tiff-$i.decoded"}); + $td->runtest("encode tiff $i", + {$td->COMMAND => "predictors tiff encode tiff-$i.decoded" . + " $columns $samples_per_pixel $bits_per_sample"}, + {$td->STRING => "done\n", + $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); + $td->runtest("check output for tiff-$i", + {$td->FILE => "out"}, + {$td->FILE => "tiff-$i.data"}); +} + cleanup(); -$td->report(8 + (2 * scalar(@other))); +$td->report(8 + (2 * scalar(@other_png)) + (4 * scalar(@tiff))); sub cleanup { diff --git a/libtests/qtest/predictors/tiff-01--16-1-8.data b/libtests/qtest/predictors/tiff-01--16-1-8.data Binary files differnew file mode 100644 index 00000000..30ba8de7 --- /dev/null +++ b/libtests/qtest/predictors/tiff-01--16-1-8.data diff --git a/libtests/qtest/predictors/tiff-01--16-1-8.decoded b/libtests/qtest/predictors/tiff-01--16-1-8.decoded new file mode 100644 index 00000000..a47c5d62 --- /dev/null +++ b/libtests/qtest/predictors/tiff-01--16-1-8.decoded @@ -0,0 +1,3 @@ + +
+
WXWVUTSRQG=33467
\ No newline at end of file diff --git a/libtests/qtest/predictors/tiff-02--8-2-4.data b/libtests/qtest/predictors/tiff-02--8-2-4.data Binary files differnew file mode 100644 index 00000000..0861af5a --- /dev/null +++ b/libtests/qtest/predictors/tiff-02--8-2-4.data diff --git a/libtests/qtest/predictors/tiff-02--8-2-4.decoded b/libtests/qtest/predictors/tiff-02--8-2-4.decoded new file mode 100644 index 00000000..7386e3ec --- /dev/null +++ b/libtests/qtest/predictors/tiff-02--8-2-4.decoded @@ -0,0 +1 @@ +ª›Œ}__wª›Œ}__w
\ No newline at end of file diff --git a/libtests/qtest/predictors/tiff-03--4-1-16.data b/libtests/qtest/predictors/tiff-03--4-1-16.data new file mode 100644 index 00000000..e03d809d --- /dev/null +++ b/libtests/qtest/predictors/tiff-03--4-1-16.data @@ -0,0 +1 @@ +UUÍðd 9[
\ No newline at end of file diff --git a/libtests/qtest/predictors/tiff-03--4-1-16.decoded b/libtests/qtest/predictors/tiff-03--4-1-16.decoded new file mode 100644 index 00000000..7d3c2dd9 --- /dev/null +++ b/libtests/qtest/predictors/tiff-03--4-1-16.decoded @@ -0,0 +1 @@ +UU#E‡eÀÀ
\ No newline at end of file |