aboutsummaryrefslogtreecommitdiffstats
path: root/qpdf/qtest/qpdf-json.test
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-09-08 21:57:33 +0200
committerJay Berkenbilt <ejb@ql.org>2022-09-09 12:19:09 +0200
commitf1a2d3160a1dbaf735cce597d0f6f40e76f7f223 (patch)
tree41721144a2d94d962f3de9b48ad58d18bfd838e0 /qpdf/qtest/qpdf-json.test
parent66f1fd2ad9f2a4e3172bd07f6d71bb1321b0dce0 (diff)
downloadqpdf-f1a2d3160a1dbaf735cce597d0f6f40e76f7f223.tar.zst
Add JSON v2 support to C API
Diffstat (limited to 'qpdf/qtest/qpdf-json.test')
-rw-r--r--qpdf/qtest/qpdf-json.test53
1 files changed, 53 insertions, 0 deletions
diff --git a/qpdf/qtest/qpdf-json.test b/qpdf/qtest/qpdf-json.test
index 553a84e2..2867f8a7 100644
--- a/qpdf/qtest/qpdf-json.test
+++ b/qpdf/qtest/qpdf-json.test
@@ -288,5 +288,58 @@ $td->runtest("simple version of writeJSON",
{$td->FILE => "minimal-write-json.json", $td->EXIT_STATUS => 0},
$td->NORMALIZE_NEWLINES);
+$n_tests += 13;
+$td->runtest("C API create from json file",
+ {$td->COMMAND => "qpdf-ctest 42 minimal.json '' a.pdf"},
+ {$td->STRING => "C test 42 done\n", $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+$td->runtest("check C API create from file",
+ {$td->FILE => "a.pdf"},
+ {$td->FILE => "qpdf-ctest-42-43.pdf"});
+$td->runtest("C API create from json buffer",
+ {$td->COMMAND => "qpdf-ctest 43 minimal.json '' a.pdf"},
+ {$td->STRING => "C test 43 done\n", $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+$td->runtest("check C API create from buffer",
+ {$td->FILE => "a.pdf"},
+ {$td->FILE => "qpdf-ctest-42-43.pdf"});
+$td->runtest("C API update from json file",
+ {$td->COMMAND =>
+ "qpdf-ctest 44 minimal.pdf '' a.pdf minimal-update.json"},
+ {$td->STRING => "C test 44 done\n", $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+$td->runtest("check C API update from file",
+ {$td->FILE => "a.pdf"},
+ {$td->FILE => "qpdf-ctest-44-45.pdf"});
+$td->runtest("C API update from json buffer",
+ {$td->COMMAND =>
+ "qpdf-ctest 45 minimal.pdf '' a.pdf minimal-update.json"},
+ {$td->STRING => "C test 45 done\n", $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+$td->runtest("check C API update from buffer",
+ {$td->FILE => "a.pdf"},
+ {$td->FILE => "qpdf-ctest-44-45.pdf"});
+$td->runtest("C API write to JSON 1",
+ {$td->COMMAND =>
+ "qpdf-ctest 46 minimal.pdf '' a.json"},
+ {$td->STRING => "C test 46 done\n", $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+$td->runtest("check C API write to JSON 1",
+ {$td->FILE => "a.json"},
+ {$td->FILE => "qpdf-ctest-46.json"},
+ $td->NORMALIZE_NEWLINES);
+$td->runtest("C API write to JSON 2",
+ {$td->COMMAND =>
+ "qpdf-ctest 47 minimal.pdf '' a.json auto"},
+ {$td->STRING => "C test 47 done\n", $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+$td->runtest("check C API write to JSON 2",
+ {$td->FILE => "a.json"},
+ {$td->FILE => "qpdf-ctest-47.json"},
+ $td->NORMALIZE_NEWLINES);
+$td->runtest("check C API write to JSON stream",
+ {$td->FILE => "auto-4"},
+ {$td->FILE => "qpdf-ctest-47-4"});
+
cleanup();
$td->report($n_tests);