diff options
Diffstat (limited to 'qpdf/qtest/c-api-object-handle.test')
-rw-r--r-- | qpdf/qtest/c-api-object-handle.test | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/qpdf/qtest/c-api-object-handle.test b/qpdf/qtest/c-api-object-handle.test new file mode 100644 index 00000000..40511df1 --- /dev/null +++ b/qpdf/qtest/c-api-object-handle.test @@ -0,0 +1,75 @@ +#!/usr/bin/env perl +require 5.008; +use warnings; +use strict; + +unshift(@INC, '.'); +require qpdf_test_helpers; + +chdir("qpdf") or die "chdir testdir failed: $!\n"; + +require TestDriver; + +cleanup(); + +my $td = new TestDriver('c-api-object-handle'); + +my $n_tests = 13; + +$td->runtest("C check object handles", + {$td->COMMAND => "qpdf-ctest 24 minimal.pdf '' a.pdf"}, + {$td->FILE => "c-object-handles.out", + $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("check output", + {$td->FILE => 'a.pdf'}, + {$td->FILE => 'c-object-handles-out.pdf'}); + +$td->runtest("C check object handle creation", + {$td->COMMAND => "qpdf-ctest 25 minimal.pdf '' a.pdf"}, + {$td->STRING => "C test 25 done\n", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("check output", + {$td->FILE => 'a.pdf'}, + {$td->FILE => 'c-object-handle-creation-out.pdf'}); + +$td->runtest("C indirect objects", + {$td->COMMAND => "qpdf-ctest 33 minimal.pdf '' a.pdf"}, + {$td->STRING => "C test 33 done\n", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("check output", + {$td->FILE => 'a.pdf'}, + {$td->FILE => 'c-indirect-objects-out.pdf'}); + +$td->runtest("C uninitialized objects", + {$td->COMMAND => "qpdf-ctest 26 '' '' ''"}, + {$td->FILE => "c-oh-uninitialized-objects.out", + $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("C string with embedded null", + {$td->COMMAND => "qpdf-ctest 27 '' '' ''"}, + {$td->STRING => "C test 27 done\n", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("C wrap and clone objects", + {$td->COMMAND => "qpdf-ctest 28 minimal.pdf '' ''"}, + {$td->STRING => "C test 28 done\n", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("C object handle errors", + {$td->COMMAND => "qpdf-ctest 29 minimal.pdf '' ''"}, + {$td->FILE => "c-oh-errors.out", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("C unhandled error warning", + {$td->COMMAND => "qpdf-ctest 30 bad1.pdf '' ''"}, + {$td->FILE => "c-unhandled-error.out", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("C type mismatch warning", + {$td->COMMAND => "qpdf-ctest 31 minimal.pdf '' ''"}, + {$td->FILE => "c-type-warning.out", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); +$td->runtest("C get object by ID", + {$td->COMMAND => "qpdf-ctest 32 minimal.pdf '' ''"}, + {$td->STRING => "C test 32 done\n", $td->EXIT_STATUS => 0}, + $td->NORMALIZE_NEWLINES); + +cleanup(); +$td->report($n_tests); |