aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2024-01-09 22:54:11 +0100
committerJay Berkenbilt <ejb@ql.org>2024-01-10 22:45:14 +0100
commit12f7a4461b18b4be94002fa0043fd0e98e80a274 (patch)
tree12b946b2de5bf685b20f03ff75e1126b13d2e73c /qpdf
parent6488b156f736660ea0636af0003bd863e23af640 (diff)
downloadqpdf-12f7a4461b18b4be94002fa0043fd0e98e80a274.tar.zst
Handle pages/under/overlay JSON file in begin
...since they have to be handled before other options. It was working because, in both cases, `file` was alphabetically before the other keys, but this implementation gives a stronger guarantee.
Diffstat (limited to 'qpdf')
-rw-r--r--qpdf/qpdf.testcov1
-rw-r--r--qpdf/qtest/qpdf/bad-json-overlay-no-file.json5
-rw-r--r--qpdf/qtest/qpdf/bad-overlay-no-file-json.out10
-rw-r--r--qpdf/qtest/qpdfjob.test1
4 files changed, 17 insertions, 0 deletions
diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov
index 8d242f43..397cbf97 100644
--- a/qpdf/qpdf.testcov
+++ b/qpdf/qpdf.testcov
@@ -691,3 +691,4 @@ QPDFPageDocumentHelper flatten resources missing or invalid 0
QPDF recover xref stream 0
QPDFJob misplaced page range 0
QPDFJob duplicated range 0
+QPDFJob json over/under no file 0
diff --git a/qpdf/qtest/qpdf/bad-json-overlay-no-file.json b/qpdf/qtest/qpdf/bad-json-overlay-no-file.json
new file mode 100644
index 00000000..25d5a2f6
--- /dev/null
+++ b/qpdf/qtest/qpdf/bad-json-overlay-no-file.json
@@ -0,0 +1,5 @@
+{
+ "overlay": {
+ "to": "1-z"
+ }
+}
diff --git a/qpdf/qtest/qpdf/bad-overlay-no-file-json.out b/qpdf/qtest/qpdf/bad-overlay-no-file-json.out
new file mode 100644
index 00000000..63d98c59
--- /dev/null
+++ b/qpdf/qtest/qpdf/bad-overlay-no-file-json.out
@@ -0,0 +1,10 @@
+
+qpdf: error with job-json file bad-json-overlay-no-file.json: file is required in underlay/overlay specification
+Run qpdf --job-json-help for information on the file format.
+
+For help:
+ qpdf --help=usage usage information
+ qpdf --help=topic help on a topic
+ qpdf --help=--option help on an option
+ qpdf --help general help and a topic list
+
diff --git a/qpdf/qtest/qpdfjob.test b/qpdf/qtest/qpdfjob.test
index 57ad608a..f1ef942f 100644
--- a/qpdf/qtest/qpdfjob.test
+++ b/qpdf/qtest/qpdfjob.test
@@ -26,6 +26,7 @@ my @bad_json = (
"encrypt-missing-password",
"encrypt-no-key-length",
"pages-no-file",
+ "overlay-no-file",
"schema-error",
"json-error"
);