Commit 15272662f632c627c278721673df5f999df39bcd

Authored by Jay Berkenbilt
1 parent 1bc8abfd

Fix typo in json output key name

moddify -> modify. Also carefully spell checked all remaining keys by
splitting them into words and running a spell checker, not just
relying on visual proofreading. That was the only one.
... ... @@ -61,8 +61,6 @@ General things to remember:
61 61 * The choices for json_key (job.yml) will be different for v1 and v2.
62 62 That information is already duplicated in multiple places.
63 63  
64   -* Remember typo: search for "Typo" In QPDFJob::doJSONEncrypt.
65   -
66 64 * Test stream with invalid data
67 65  
68 66 * Consider using camelCase in multi-word key names to be consistent
... ...
include/qpdf/QPDFJob.hh
... ... @@ -445,7 +445,7 @@ class QPDFJob
445 445  
446 446 // Helper functions
447 447 static void usage(std::string const& msg);
448   - static JSON json_schema(std::set<std::string>* keys = 0);
  448 + static JSON json_schema(int json_version, std::set<std::string>* keys = 0);
449 449 static void parse_object_id(
450 450 std::string const& objspec, bool& trailer, int& obj, int& gen);
451 451 void parseRotationParameter(std::string const&);
... ...
libqpdf/QPDFJob.cc
... ... @@ -1374,10 +1374,12 @@ QPDFJob::doJSONEncrypt(Pipeline* p, bool&amp; first, QPDF&amp; pdf)
1374 1374 "modifyassembly", JSON::makeBool(pdf.allowModifyAssembly()));
1375 1375 j_capabilities.addDictionaryMember(
1376 1376 "modifyforms", JSON::makeBool(pdf.allowModifyForm()));
1377   - // Typo will be fixed for json v2
1378 1377 /* cSpell:ignore moddifyannotations */
  1378 + std::string MODIFY_ANNOTATIONS =
  1379 + (this->m->json_version == 1 ? "moddifyannotations"
  1380 + : "modifyannotations");
1379 1381 j_capabilities.addDictionaryMember(
1380   - "moddifyannotations", JSON::makeBool(pdf.allowModifyAnnotation()));
  1382 + MODIFY_ANNOTATIONS, JSON::makeBool(pdf.allowModifyAnnotation()));
1381 1383 j_capabilities.addDictionaryMember(
1382 1384 "modifyother", JSON::makeBool(pdf.allowModifyOther()));
1383 1385 j_capabilities.addDictionaryMember(
... ... @@ -1448,7 +1450,7 @@ QPDFJob::doJSONAttachments(Pipeline* p, bool&amp; first, QPDF&amp; pdf)
1448 1450 }
1449 1451  
1450 1452 JSON
1451   -QPDFJob::json_schema(std::set<std::string>* keys)
  1453 +QPDFJob::json_schema(int json_version, std::set<std::string>* keys)
1452 1454 {
1453 1455 // Style: use all lower-case keys with no dashes or underscores.
1454 1456 // Choose array or dictionary based on indexing. For example, we
... ... @@ -1585,12 +1587,14 @@ QPDFJob::json_schema(std::set&lt;std::string&gt;* keys)
1585 1587 "needappearances": "whether the form fields' appearance streams need to be regenerated"
1586 1588 })"));
1587 1589 }
  1590 + std::string MODIFY_ANNOTATIONS =
  1591 + (json_version == 1 ? "moddifyannotations" : "modifyannotations");
1588 1592 if (all_keys || keys->count("encrypt")) {
1589 1593 JSON encrypt = schema.addDictionaryMember("encrypt", JSON::parse(R"({
1590 1594 "capabilities": {
1591 1595 "accessibility": "allow extraction for accessibility?",
1592 1596 "extract": "allow extraction?",
1593   - "moddifyannotations": "allow modifying annotations?",
  1597 + ")" + MODIFY_ANNOTATIONS + R"(": "allow modifying annotations?",
1594 1598 "modify": "allow all modifications?",
1595 1599 "modifyassembly": "allow modifying document assembly?",
1596 1600 "modifyforms": "allow modifying forms?",
... ... @@ -1630,7 +1634,7 @@ QPDFJob::json_schema(std::set&lt;std::string&gt;* keys)
1630 1634 std::string
1631 1635 QPDFJob::json_out_schema_v1()
1632 1636 {
1633   - return json_schema().unparse();
  1637 + return json_schema(1).unparse();
1634 1638 }
1635 1639  
1636 1640 void
... ... @@ -1717,7 +1721,7 @@ QPDFJob::doJSON(QPDF&amp; pdf, Pipeline* p)
1717 1721  
1718 1722 if (this->m->test_json_schema) {
1719 1723 // Check against schema
1720   - JSON schema = json_schema(&m->json_keys);
  1724 + JSON schema = json_schema(this->m->json_version, &m->json_keys);
1721 1725 std::list<std::string> errors;
1722 1726 JSON captured = JSON::parse(captured_json);
1723 1727 if (!captured.checkSchema(schema, errors)) {
... ...
qpdf/qtest/qpdf.test
... ... @@ -4306,8 +4306,8 @@ foreach my $d (@encrypted_files)
4306 4306 $enc_json .=
4307 4307 " \"accessibility\": " . &$jf($accessible) . ",\n" .
4308 4308 " \"extract\": " . &$jf($extract) . ",\n" .
4309   - " \"moddifyannotations\": " . &$jf($modifyannot) . ",\n" .
4310 4309 " \"modify\": " . &$jf($modifyall) . ",\n" .
  4310 + " \"modifyannotations\": " . &$jf($modifyannot) . ",\n" .
4311 4311 " \"modifyassembly\": " . &$jf($modifyassembly) . ",\n" .
4312 4312 " \"modifyforms\": " . &$jf($modifyform) . ",\n" .
4313 4313 " \"modifyother\": " . &$jf($modifyother) . ",\n" .
... ...