Commit 907df2c823710319e53c0ba6583a1ede4ee5413d

Authored by Jay Berkenbilt
1 parent a83b7b06

Round-trip tests with --json-stream-data=file

qpdf/qtest/qpdf-json.test
... ... @@ -142,7 +142,32 @@ $td->runtest("check manual JSON to JSON to JSON",
142 142 {$td->FILE => "a.json", $td->EXIT_STATUS => 0},
143 143 $td->NORMALIZE_NEWLINES);
144 144  
145   -# QXXXQ file
  145 +$n_tests += 6;
  146 +$td->runtest("json-output with file",
  147 + {$td->COMMAND => "qpdf --json-output=2" .
  148 + " --json-stream-prefix=auto-1 --json-stream-data=file" .
  149 + " minimal.pdf a.json"},
  150 + {$td->STRING => "", $td->EXIT_STATUS => 0});
  151 +$td->runtest("check file mode",
  152 + {$td->FILE => "a.json"},
  153 + {$td->FILE => "minimal-json-file.out"},
  154 + $td->NORMALIZE_NEWLINES);
  155 +$td->runtest("JSON to JSON with file",
  156 + {$td->COMMAND => "qpdf --json-input --json-output=2" .
  157 + " --json-stream-prefix=auto-2 --json-stream-data=file" .
  158 + " a.json -"},
  159 + {$td->FILE => "minimal-json-file-2.out", $td->EXIT_STATUS => 0},
  160 + $td->NORMALIZE_NEWLINES);
  161 +$td->runtest("JSON with file to qdf",
  162 + {$td->COMMAND => "qpdf --json-input --qdf --static-id" .
  163 + " a.json a.pdf"},
  164 + {$td->STRING => "", $td->EXIT_STATUS => 0});
  165 +$td->runtest("PDF to qdf",
  166 + {$td->COMMAND => "qpdf --qdf --static-id minimal.pdf b.pdf"},
  167 + {$td->STRING => "", $td->EXIT_STATUS => 0});
  168 +$td->runtest("check PDF",
  169 + {$td->FILE => "a.pdf"},
  170 + {$td->FILE => "b.pdf"});
146 171  
147 172 cleanup();
148 173 $td->report($n_tests);
... ...
qpdf/qtest/qpdf/minimal-json-file-2.out 0 → 100644
  1 +{
  2 + "qpdf-v2": {
  3 + "pdfversion": "1.3",
  4 + "maxobjectid": 6,
  5 + "objects": {
  6 + "obj:1 0 R": {
  7 + "value": {
  8 + "/Pages": "2 0 R",
  9 + "/Type": "/Catalog"
  10 + }
  11 + },
  12 + "obj:2 0 R": {
  13 + "value": {
  14 + "/Count": 1,
  15 + "/Kids": [
  16 + "3 0 R"
  17 + ],
  18 + "/Type": "/Pages"
  19 + }
  20 + },
  21 + "obj:3 0 R": {
  22 + "value": {
  23 + "/Contents": "4 0 R",
  24 + "/MediaBox": [
  25 + 0,
  26 + 0,
  27 + 612,
  28 + 792
  29 + ],
  30 + "/Parent": "2 0 R",
  31 + "/Resources": {
  32 + "/Font": {
  33 + "/F1": "6 0 R"
  34 + },
  35 + "/ProcSet": "5 0 R"
  36 + },
  37 + "/Type": "/Page"
  38 + }
  39 + },
  40 + "obj:4 0 R": {
  41 + "stream": {
  42 + "datafile": "auto-2-4",
  43 + "dict": {}
  44 + }
  45 + },
  46 + "obj:5 0 R": {
  47 + "value": [
  48 + "/PDF",
  49 + "/Text"
  50 + ]
  51 + },
  52 + "obj:6 0 R": {
  53 + "value": {
  54 + "/BaseFont": "/Helvetica",
  55 + "/Encoding": "/WinAnsiEncoding",
  56 + "/Name": "/F1",
  57 + "/Subtype": "/Type1",
  58 + "/Type": "/Font"
  59 + }
  60 + },
  61 + "trailer": {
  62 + "value": {
  63 + "/Root": "1 0 R",
  64 + "/Size": 7
  65 + }
  66 + }
  67 + }
  68 + }
  69 +}
... ...
qpdf/qtest/qpdf/minimal-json-file.out 0 → 100644
  1 +{
  2 + "qpdf-v2": {
  3 + "pdfversion": "1.3",
  4 + "maxobjectid": 6,
  5 + "objects": {
  6 + "obj:1 0 R": {
  7 + "value": {
  8 + "/Pages": "2 0 R",
  9 + "/Type": "/Catalog"
  10 + }
  11 + },
  12 + "obj:2 0 R": {
  13 + "value": {
  14 + "/Count": 1,
  15 + "/Kids": [
  16 + "3 0 R"
  17 + ],
  18 + "/Type": "/Pages"
  19 + }
  20 + },
  21 + "obj:3 0 R": {
  22 + "value": {
  23 + "/Contents": "4 0 R",
  24 + "/MediaBox": [
  25 + 0,
  26 + 0,
  27 + 612,
  28 + 792
  29 + ],
  30 + "/Parent": "2 0 R",
  31 + "/Resources": {
  32 + "/Font": {
  33 + "/F1": "6 0 R"
  34 + },
  35 + "/ProcSet": "5 0 R"
  36 + },
  37 + "/Type": "/Page"
  38 + }
  39 + },
  40 + "obj:4 0 R": {
  41 + "stream": {
  42 + "datafile": "auto-1-4",
  43 + "dict": {}
  44 + }
  45 + },
  46 + "obj:5 0 R": {
  47 + "value": [
  48 + "/PDF",
  49 + "/Text"
  50 + ]
  51 + },
  52 + "obj:6 0 R": {
  53 + "value": {
  54 + "/BaseFont": "/Helvetica",
  55 + "/Encoding": "/WinAnsiEncoding",
  56 + "/Name": "/F1",
  57 + "/Subtype": "/Type1",
  58 + "/Type": "/Font"
  59 + }
  60 + },
  61 + "trailer": {
  62 + "value": {
  63 + "/Root": "1 0 R",
  64 + "/Size": 7
  65 + }
  66 + }
  67 + }
  68 + }
  69 +}
... ...