diff options
author | Jay Berkenbilt <ejb@ql.org> | 2024-01-09 17:41:18 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2024-01-10 22:44:17 +0100 |
commit | 34f013c1be56abac1104812938eb0af568df99e1 (patch) | |
tree | d3778a78539b58013b36ede9260e5a5efc86d093 /qpdf | |
parent | 20a134826c6f33fab81b0cdb9ba2d75fb03d1b59 (diff) | |
download | qpdf-34f013c1be56abac1104812938eb0af568df99e1.tar.zst |
Allow --file and --range with --pages
Accept --file and --range as named parameters in additional to
allowing positional arguments. This is in preparation for adding
additional flags.
Diffstat (limited to 'qpdf')
-rw-r--r-- | qpdf/qpdf.testcov | 3 | ||||
-rw-r--r-- | qpdf/qtest/arg-parsing.test | 18 | ||||
-rw-r--r-- | qpdf/qtest/merge-and-split.test | 6 |
3 files changed, 17 insertions, 10 deletions
diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov index df2555d6..8d242f43 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov @@ -249,7 +249,6 @@ QPDF not caching overridden objstm object 0 QPDFWriter original obj non-zero gen 0 QPDF_optimization indirect outlines 0 QPDF xref space 2 -QPDFJob pages range omitted at end 1 QPDFJob pages range omitted in middle 0 QPDFJob npages 0 QPDF already reserved object 0 @@ -690,3 +689,5 @@ QPDF skipping cache for known unchecked object 0 QPDF fix dangling triggered xref reconstruction 0 QPDFPageDocumentHelper flatten resources missing or invalid 0 QPDF recover xref stream 0 +QPDFJob misplaced page range 0 +QPDFJob duplicated range 0 diff --git a/qpdf/qtest/arg-parsing.test b/qpdf/qtest/arg-parsing.test index 297141d4..238f19cf 100644 --- a/qpdf/qtest/arg-parsing.test +++ b/qpdf/qtest/arg-parsing.test @@ -15,7 +15,7 @@ cleanup(); my $td = new TestDriver('arg-parsing'); -my $n_tests = 24; +my $n_tests = 25; $td->runtest("required argument", {$td->COMMAND => "qpdf --password minimal.pdf"}, @@ -62,14 +62,20 @@ $td->runtest("bad file detected as unclosed --pages", {$td->REGEXP => ".*pages options must be terminated with --.*", $td->EXIT_STATUS => 2}, $td->NORMALIZE_NEWLINES); -$td->runtest("misplaced pages password 1", - {$td->COMMAND => "qpdf --pages . 1 --password=z --"}, - {$td->REGEXP => ".*password must immediately follow a file name.*", +$td->runtest("misplaced pages range", + {$td->COMMAND => "qpdf --pages --range=1 . --password=z --"}, + {$td->REGEXP => ".*range must follow a file name.*", $td->EXIT_STATUS => 2}, $td->NORMALIZE_NEWLINES); -$td->runtest("misplaced pages password 2", +$td->runtest("duplicate pages range", + {$td->COMMAND => "qpdf --pages --file=." . + " --range=1 --range=2 . --password=z --"}, + {$td->REGEXP => ".*range already specified.*", + $td->EXIT_STATUS => 2}, + $td->NORMALIZE_NEWLINES); +$td->runtest("misplaced pages password", {$td->COMMAND => "qpdf --pages --password=z . 1 --"}, - {$td->REGEXP => ".*password must immediately follow a file name.*", + {$td->REGEXP => ".*password must follow a file name.*", $td->EXIT_STATUS => 2}, $td->NORMALIZE_NEWLINES); $td->runtest("duplicated pages password", diff --git a/qpdf/qtest/merge-and-split.test b/qpdf/qtest/merge-and-split.test index a0b72ead..33935e71 100644 --- a/qpdf/qtest/merge-and-split.test +++ b/qpdf/qtest/merge-and-split.test @@ -21,9 +21,9 @@ my $n_tests = 28; # first time. The file 20-pages.pdf is specified with two different # paths to duplicate a page. my $pages_options = "--pages page-labels-and-outlines.pdf 1,3,5-7,z" . - " 20-pages.pdf --password=user z-15" . - " page-labels-and-outlines.pdf 12" . - " 20-pages.pdf 10" . + " --file=20-pages.pdf --range=z-15 --password=user" . + " page-labels-and-outlines.pdf --range=12" . + " --file=20-pages.pdf 10" . " ./20-pages.pdf --password=owner 10" . " minimal.pdf 1 --"; |