From c489c007ffa9819a97ef16d407744de60f9a1591 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Tue, 20 Nov 2018 14:12:38 -0800 Subject: [PATCH] test 0 & 1 --- pitfall/{ptest => pitfall}/check-pdf.rkt | 13 ++-- pitfall/pitfall/fonts.rkt | 2 +- pitfall/pitfall/pdftest.rkt | 16 ++-- pitfall/ptest/minion-test.pdf | Bin 9852 -> 9852 bytes pitfall/ptest/out.bin | Bin 7870 -> 10709 bytes pitfall/ptest/test.pdf | Bin 645078 -> 645078 bytes pitfall/ptest/test0.pdf | 2 +- pitfall/ptest/test0.rkt | 8 +- pitfall/ptest/test0c.pdf | Bin 693 -> 693 bytes pitfall/ptest/test0crkt.pdf | Bin 0 -> 693 bytes pitfall/ptest/test0rkt.pdf | 63 ++++++++++++++++ pitfall/ptest/test1.pdf | 2 +- pitfall/ptest/test1c.pdf | 2 +- pitfall/ptest/test1crkt.pdf | 76 +++++++++++++++++++ pitfall/ptest/test1rkt.pdf | 91 +++++++++++++++++++++++ 15 files changed, 251 insertions(+), 24 deletions(-) rename pitfall/{ptest => pitfall}/check-pdf.rkt (91%) create mode 100644 pitfall/ptest/test0crkt.pdf create mode 100644 pitfall/ptest/test0rkt.pdf create mode 100644 pitfall/ptest/test1crkt.pdf create mode 100644 pitfall/ptest/test1rkt.pdf diff --git a/pitfall/ptest/check-pdf.rkt b/pitfall/pitfall/check-pdf.rkt similarity index 91% rename from pitfall/ptest/check-pdf.rkt rename to pitfall/pitfall/check-pdf.rkt index 35d4a2c0..ed2a057b 100644 --- a/pitfall/ptest/check-pdf.rkt +++ b/pitfall/pitfall/check-pdf.rkt @@ -60,7 +60,9 @@ (unless (even? (length items)) (raise items)) (define dic (sort ; put hash into order so it's comparable - (for/list ([kv (in-slice 2 items)]) + (for/list ([kv (in-slice 2 items)] + ;; suppress these keys so we can compare pdfkit & pitfall output + #:unless (member (car kv) (list #"/Producer" #"/Creator" #"/CreationDate"))) (apply cons kv)) bytesdict ps1) (pdf->dict ps2))) -(for ([p (in-directory)] - #:when (path-has-extension? p #"pdf")) - (with-handlers ([exn:fail? (λ (exn) (println (format "~a failed" p)))]) - (pdf->dict p))) +#;(module+ main + (for ([p (in-directory)] + #:when (path-has-extension? p #"pdf")) + (with-handlers ([exn:fail? (λ (exn) (println (format "~a failed" p)))]) + (pdf->dict p)))) diff --git a/pitfall/pitfall/fonts.rkt b/pitfall/pitfall/fonts.rkt index 91cd0428..11e9e84d 100644 --- a/pitfall/pitfall/fonts.rkt +++ b/pitfall/pitfall/fonts.rkt @@ -65,7 +65,7 @@ (set-field! _font this val))] ;; load the font [else - (println (format "Load font: ~a" src)) + #;(println (format "Load font: ~a" src)) (define id (format "F~a" (increment-field! _fontCount this))) (set-field! _font this (PDFFont-open this src family id)) diff --git a/pitfall/pitfall/pdftest.rkt b/pitfall/pitfall/pdftest.rkt index 41b940e1..ef9e677a 100644 --- a/pitfall/pitfall/pdftest.rkt +++ b/pitfall/pitfall/pdftest.rkt @@ -1,5 +1,5 @@ #lang racket/base -(require "racket.rkt") +(require "racket.rkt" "check-pdf.rkt") (provide (all-from-out "racket.rkt")) (provide check-copy-equal? check-pdfkit? make-doc) @@ -11,7 +11,7 @@ (define (this->control this) (path-add-extension this #"" #" copy.")) (define (this->pdfkit-control this) - (string->path (string-replace (path->string this) "rkt." "."))) + (string->path (string-replace ((if (string? this) values path->string) this) "rkt." "."))) (module+ test (require rackunit) @@ -27,18 +27,12 @@ (define-syntax-rule (check-pdfkit? this) (check-equal? (file-size this) (file-size (this->pdfkit-control this)))) -(define (make-doc ps compress? [proc (λ (doc) doc)] #:test [test? #t] #:pdfkit [pdfkit? #t]) +(define (make-doc ps [compress? #false] [proc (λ (doc) doc)] #:test [test? #t] #:pdfkit [pdfkit? #t]) (define doc (make-object PDFDocument (hash 'compress compress?))) (send doc pipe (open-output-file ps #:exists 'replace)) (proc doc) (send doc end) (when test? - (check-copy-equal? ps) + (check-pdfs-equal? ps (this->control ps)) (when pdfkit? - (check-pdfkit? ps)))) - - -(module reader syntax/module-reader - #:language 'pitfall/pdftest - #:read read - #:read-syntax read-syntax) \ No newline at end of file + (check-pdfs-equal? ps (this->pdfkit-control ps))))) diff --git a/pitfall/ptest/minion-test.pdf b/pitfall/ptest/minion-test.pdf index 59c3cc727f5655243be8b2832d282c0e41f4cef2..b3d30f5200197f4f12137ed272aef5053369c7d6 100644 GIT binary patch delta 58 zcmez4^T%g{CKI=Xp`nq1k)f%vq2*)~CQG&;$4Ean*U809_n^$p;ml0TFm^nftO5W5 CQ4m-F delta 58 zcmez4^T%g{CKI>0frX*Dfw7T+iOFOWCQCNApr{Z}$H~P^_n^$p;ml0TFm^nftO5W8 Cm=Jsb diff --git a/pitfall/ptest/out.bin b/pitfall/ptest/out.bin index cedbe02c99ce7bc2fd41fdd6a03c81b24910be0f..befa81da6f2d4f69d414010147a87a6a8a13c773 100644 GIT binary patch literal 10709 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 literal 7870 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 endobj 2 0 obj diff --git a/pitfall/ptest/test0.rkt b/pitfall/ptest/test0.rkt index 623903d4..1a66f08d 100644 --- a/pitfall/ptest/test0.rkt +++ b/pitfall/ptest/test0.rkt @@ -1,8 +1,8 @@ #lang racket/base (require pitfall/pdftest) -(define-runtime-path this "test0rkt.pdf") -(make-doc this #f) +(define-runtime-path pdf "test0rkt.pdf") +(make-doc pdf) -(define-runtime-path that "test0crkt.pdf") -(make-doc that #t) +(define-runtime-path pdfc "test0crkt.pdf") +(make-doc pdfc 'compress) diff --git a/pitfall/ptest/test0c.pdf b/pitfall/ptest/test0c.pdf index 836343dd8d95ae4af83e0d709c734c955a92a594..2be69d7cd00a31275104f30f41693cb3b0cf7c8f 100644 GIT binary patch delta 22 dcmdnWx|MapKQ0SHLn8wtBLicT%^Zwt839w-25tZV delta 22 dcmdnWx|MapKQ40vQ$tH50}~_D%^Zwt839yO26_Mh diff --git a/pitfall/ptest/test0crkt.pdf b/pitfall/ptest/test0crkt.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bc92c9d68afa94b73a87af25ff17e4dca85771d8 GIT binary patch literal 693 zcmZWn-A=+V7&S58^c_sT8xp+G?gtnc!UaQ;1&w6vO5~!l51fJ3bR|Kb!Uy2exACF$ z>)2#sm$d0w&*}M2zuI^(ytJ=eR{N&GnqYx^dSTrz;~{2pqvn`FgV2z1U#1#Uoq@aG z-(j4HzTCppBA{hE;B}lCX*?`bM$5XRPFWf*Pirya11I ztAPh=qW6o{FV!d&P zL8Qs&$L{Ow)udOJI!fXUrskc(KT&7qeKscQ3URA&!7T9D z-m00Q)oi*=SU`z29Foufq`#Q!k;fyhLrP35k*rYVJvK?+ jk?iqMN)09#YO^3+NHF<_`-c-s=XEr^HmlWc?uYCL6%@EM literal 0 HcmV?d00001 diff --git a/pitfall/ptest/test0rkt.pdf b/pitfall/ptest/test0rkt.pdf new file mode 100644 index 00000000..d405f41b --- /dev/null +++ b/pitfall/ptest/test0rkt.pdf @@ -0,0 +1,63 @@ +%PDF-1.3 +% +5 0 obj +<< +/Resources 4 0 R +/Contents 3 0 R +/MediaBox [0 0 612 792] +/Type /Page +/Parent 1 0 R +>> +endobj +4 0 obj +<< +/ProcSet [/PDF /Text /ImageB /ImageC /ImageI] +>> +endobj +3 0 obj +<< +/Length 18 +>> +stream +1 0 0 -1 0 792 cm + +endstream +endobj +6 0 obj +<< +/CreationDate (D:19700101000000Z) +/Producer (PITKIT) +/Creator (PITKIT) +>> +endobj +2 0 obj +<< +/Pages 1 0 R +/Type /Catalog +>> +endobj +1 0 obj +<< +/Kids [5 0 R] +/Type /Pages +/Count 1 +>> +endobj +xref +0 7 +0000000000 65535 f +0000000395 00000 n +0000000346 00000 n +0000000186 00000 n +0000000119 00000 n +0000000015 00000 n +0000000254 00000 n +trailer +<< +/Size 7 +/Root 2 0 R +/Info 6 0 R +>> +startxref +452 +%%EOF diff --git a/pitfall/ptest/test1.pdf b/pitfall/ptest/test1.pdf index 9e4c9159..4503f51f 100644 --- a/pitfall/ptest/test1.pdf +++ b/pitfall/ptest/test1.pdf @@ -54,7 +54,7 @@ endobj << /Producer (PDFKit) /Creator (PDFKit) -/CreationDate (D:20170519210746Z) +/CreationDate (D:20181120215403Z) >> endobj 2 0 obj diff --git a/pitfall/ptest/test1c.pdf b/pitfall/ptest/test1c.pdf index ffcab08e..4111b493 100644 --- a/pitfall/ptest/test1c.pdf +++ b/pitfall/ptest/test1c.pdf @@ -27,7 +27,7 @@ endobj << /Producer (PDFKit) /Creator (PDFKit) -/CreationDate (D:20170519210746Z) +/CreationDate (D:20181120215403Z) >> endobj 2 0 obj diff --git a/pitfall/ptest/test1crkt.pdf b/pitfall/ptest/test1crkt.pdf new file mode 100644 index 00000000..b48b07e7 --- /dev/null +++ b/pitfall/ptest/test1crkt.pdf @@ -0,0 +1,76 @@ +%PDF-1.3 +% +6 0 obj +<< +/ca 1 +/Type /ExtGState +>> +endobj +5 0 obj +<< +/Resources 4 0 R +/Contents 3 0 R +/MediaBox [0 0 612 792] +/Type /Page +/Parent 1 0 R +>> +endobj +4 0 obj +<< +/ProcSet [/PDF /Text /ImageB /ImageC /ImageI] +/ExtGState << +/Gs1 6 0 R +>> +>> +endobj +3 0 obj +<< +/Filter /FlateDecode +/Length 151 +>> +stream +x]] +0@Z + +@-@&C2 #Įp3}It`MNWnDpj$NPss&d%^.j*sS${i<>+|Yz71<ަ|caaE= +endstream +endobj +7 0 obj +<< +/CreationDate (D:19700101000000Z) +/Producer (PITKIT) +/Creator (PITKIT) +>> +endobj +2 0 obj +<< +/Pages 1 0 R +/Type /Catalog +>> +endobj +1 0 obj +<< +/Kids [5 0 R] +/Type /Pages +/Count 1 +>> +endobj +xref +0 8 +0000000000 65535 f +0000000622 00000 n +0000000573 00000 n +0000000258 00000 n +0000000163 00000 n +0000000059 00000 n +0000000015 00000 n +0000000481 00000 n +trailer +<< +/Size 8 +/Root 2 0 R +/Info 7 0 R +>> +startxref +679 +%%EOF diff --git a/pitfall/ptest/test1rkt.pdf b/pitfall/ptest/test1rkt.pdf new file mode 100644 index 00000000..a41bec0e --- /dev/null +++ b/pitfall/ptest/test1rkt.pdf @@ -0,0 +1,91 @@ +%PDF-1.3 +% +6 0 obj +<< +/ca 1 +/Type /ExtGState +>> +endobj +5 0 obj +<< +/Resources 4 0 R +/Contents 3 0 R +/MediaBox [0 0 612 792] +/Type /Page +/Parent 1 0 R +>> +endobj +4 0 obj +<< +/ProcSet [/PDF /Text /ImageB /ImageC /ImageI] +/ExtGState << +/Gs1 6 0 R +>> +>> +endobj +3 0 obj +<< +/Length 294 +>> +stream +1 0 0 -1 0 792 cm +q +100 150 m +100 250 l +200 250 l +/DeviceRGB cs +1 0.2 0 scn +/Gs1 gs +f +230 200 m +230 172.385763 252.385763 150 280 150 c +307.614237 150 330 172.385763 330 200 c +330 227.614237 307.614237 250 280 250 c +252.385763 250 230 227.614237 230 200 c +h +/DeviceRGB cs +0.4 0 1 scn +/Gs1 gs +f + +endstream +endobj +7 0 obj +<< +/CreationDate (D:19700101000000Z) +/Producer (PITKIT) +/Creator (PITKIT) +>> +endobj +2 0 obj +<< +/Pages 1 0 R +/Type /Catalog +>> +endobj +1 0 obj +<< +/Kids [5 0 R] +/Type /Pages +/Count 1 +>> +endobj +xref +0 8 +0000000000 65535 f +0000000744 00000 n +0000000695 00000 n +0000000258 00000 n +0000000163 00000 n +0000000059 00000 n +0000000015 00000 n +0000000603 00000 n +trailer +<< +/Size 8 +/Root 2 0 R +/Info 7 0 R +>> +startxref +801 +%%EOF