diff --git a/collects/redex/tests/bitmap-test-util.ss b/collects/redex/tests/bitmap-test-util.ss index 393f50f3a8..468149ea02 100644 --- a/collects/redex/tests/bitmap-test-util.ss +++ b/collects/redex/tests/bitmap-test-util.ss @@ -20,12 +20,13 @@ [(_ test-exp bitmap-filename) #`(test/proc #,(syntax-line stx) - test-exp + (λ () test-exp) bitmap-filename)])) -(define (test/proc line-number pict raw-bitmap-filename) +(define (test/proc line-number pict-thunk raw-bitmap-filename) (set! tests (+ tests 1)) - (let* ([bitmap-filename + (let* ([pict (set-fonts/call pict-thunk)] + [bitmap-filename (build-path (format "bmps-~a" (system-type)) raw-bitmap-filename)] [old-bitmap (if (file-exists? bitmap-filename) @@ -48,6 +49,33 @@ (let ([failed-panel (make-failed-panel line-number bitmap-filename old-bitmap new-bitmap diff-bitmap)]) (set! failed (append failed (list failed-panel)))))))) +(define (set-fonts/call thunk) + (case (system-type) + [(unix) + (let ([rewrite-style + (λ (s) + (let loop ([s s]) + (cond + [(pair? s) (cons (loop (car s)) (loop (cdr s)))] + [(eq? s 'roman) (verify-face " DejaVu Serif")] + [(eq? s 'swiss) (verify-face " DejaVu Sans")] + [else s])))]) + (parameterize ([label-style (rewrite-style (label-style))] + [literal-style (rewrite-style (literal-style))] + [metafunction-style (rewrite-style (metafunction-style))] + [non-terminal-style (rewrite-style (non-terminal-style))] + [non-terminal-subscript-style (rewrite-style (non-terminal-subscript-style))] + [non-terminal-superscript-style (rewrite-style (non-terminal-superscript-style))] + [default-style (rewrite-style (default-style))]) + (thunk)))] + [else + (thunk)])) + +(define (verify-face face) + (unless (member face (get-face-list)) + (error 'verify-face "unknown face: ~s" face)) + face) + (define (compute-diffs old-bitmap new-bitmap) (let* ([w (max (send old-bitmap get-width) (send new-bitmap get-width))] diff --git a/collects/redex/tests/bmps-unix/extended-language.png b/collects/redex/tests/bmps-unix/extended-language.png index 00fd289dd0..26cbf6fb00 100644 Binary files a/collects/redex/tests/bmps-unix/extended-language.png and b/collects/redex/tests/bmps-unix/extended-language.png differ diff --git a/collects/redex/tests/bmps-unix/language-nox.png b/collects/redex/tests/bmps-unix/language-nox.png index 0cf0d7d32f..67452ef86a 100644 Binary files a/collects/redex/tests/bmps-unix/language-nox.png and b/collects/redex/tests/bmps-unix/language-nox.png differ diff --git a/collects/redex/tests/bmps-unix/language.png b/collects/redex/tests/bmps-unix/language.png index 75241bf28e..add73ae87a 100644 Binary files a/collects/redex/tests/bmps-unix/language.png and b/collects/redex/tests/bmps-unix/language.png differ diff --git a/collects/redex/tests/bmps-unix/lw.png b/collects/redex/tests/bmps-unix/lw.png index 173a4ed6d4..39ff404613 100644 Binary files a/collects/redex/tests/bmps-unix/lw.png and b/collects/redex/tests/bmps-unix/lw.png differ diff --git a/collects/redex/tests/bmps-unix/metafunction-Name-vertical.png b/collects/redex/tests/bmps-unix/metafunction-Name-vertical.png index b64e4b5bfe..3698cfbc26 100644 Binary files a/collects/redex/tests/bmps-unix/metafunction-Name-vertical.png and b/collects/redex/tests/bmps-unix/metafunction-Name-vertical.png differ diff --git a/collects/redex/tests/bmps-unix/metafunction-Name.png b/collects/redex/tests/bmps-unix/metafunction-Name.png index 0e4d877c44..0271369025 100644 Binary files a/collects/redex/tests/bmps-unix/metafunction-Name.png and b/collects/redex/tests/bmps-unix/metafunction-Name.png differ diff --git a/collects/redex/tests/bmps-unix/metafunction-T.png b/collects/redex/tests/bmps-unix/metafunction-T.png index 61fb1280ba..9cf60cd64f 100644 Binary files a/collects/redex/tests/bmps-unix/metafunction-T.png and b/collects/redex/tests/bmps-unix/metafunction-T.png differ diff --git a/collects/redex/tests/bmps-unix/metafunction-TL.png b/collects/redex/tests/bmps-unix/metafunction-TL.png index 3b29ef9410..a2f6291b00 100644 Binary files a/collects/redex/tests/bmps-unix/metafunction-TL.png and b/collects/redex/tests/bmps-unix/metafunction-TL.png differ diff --git a/collects/redex/tests/bmps-unix/metafunction-multi-arg.png b/collects/redex/tests/bmps-unix/metafunction-multi-arg.png index 70a4c28ad3..f83b42b9c7 100644 Binary files a/collects/redex/tests/bmps-unix/metafunction-multi-arg.png and b/collects/redex/tests/bmps-unix/metafunction-multi-arg.png differ diff --git a/collects/redex/tests/bmps-unix/metafunction-subst.png b/collects/redex/tests/bmps-unix/metafunction-subst.png index c2e7a3c58a..8eb9e665c7 100644 Binary files a/collects/redex/tests/bmps-unix/metafunction-subst.png and b/collects/redex/tests/bmps-unix/metafunction-subst.png differ diff --git a/collects/redex/tests/bmps-unix/metafunction.png b/collects/redex/tests/bmps-unix/metafunction.png index 1e238ef271..4c607c9c5a 100644 Binary files a/collects/redex/tests/bmps-unix/metafunction.png and b/collects/redex/tests/bmps-unix/metafunction.png differ diff --git a/collects/redex/tests/bmps-unix/metafunctions-multiple.png b/collects/redex/tests/bmps-unix/metafunctions-multiple.png index fce8b05b04..f162300418 100644 Binary files a/collects/redex/tests/bmps-unix/metafunctions-multiple.png and b/collects/redex/tests/bmps-unix/metafunctions-multiple.png differ diff --git a/collects/redex/tests/bmps-unix/reduction-relation.png b/collects/redex/tests/bmps-unix/reduction-relation.png index ec11b4b4fd..09f92469fb 100644 Binary files a/collects/redex/tests/bmps-unix/reduction-relation.png and b/collects/redex/tests/bmps-unix/reduction-relation.png differ