diff --git a/pkgs/racket-test-core/tests/racket/print.rktl b/pkgs/racket-test-core/tests/racket/print.rktl index 5fdca3ee1a..dc3b18dcdb 100644 --- a/pkgs/racket-test-core/tests/racket/print.rktl +++ b/pkgs/racket-test-core/tests/racket/print.rktl @@ -407,15 +407,24 @@ (define (print/not-expr v [o (current-output-port)]) (parameterize ([print-as-expression #f]) (print v o))) + (define (pretty-print/not-expr v [o (current-output-port)]) + (parameterize ([print-as-expression #f]) + (pretty-print v o))) (define (print/depth-1 v [o (current-output-port)]) (print v o 1)) + (define (pretty-print/depth-1 v [o (current-output-port)]) + (pretty-print v o 1)) + (test wri in-string write x) (test (string-append wri "\n") in-string pretty-write x) (test dis in-string display x) + (test (string-append dis "\n") in-string pretty-display x) (test prn in-string print/not-expr x) + (test (string-append prn "\n") in-string pretty-print/not-expr x) (test prx in-string print x) (test (string-append prx "\n") in-string pretty-print x) - (test pr1 in-string print/depth-1 x)) + (test pr1 in-string print/depth-1 x) + (test (string-append pr1 "\n") in-string pretty-print/depth-1 x)) (define-syntax (for*/parameterize stx) (syntax-case stx () @@ -491,14 +500,88 @@ (test-print/all (list x x) "(#0=#(struct:s) #0#)" "(#0=#(struct:s) #0#)" "(#0=#(struct:s) #0#)" "(list #0=(s) #0#)" "(#0=#(struct:s) #0#)")) - (test-print/all (a 1 2) - "#" "#" "#" "#" "#") - (test-print/all (b 1 2) - "#(struct:b 1 2)" "#(struct:b 1 2)" "#(struct:b 1 2)" "(b 1 2)" "#(struct:b 1 2)") - (test-print/all (c 1 2) - "#s(c 1 2)" "#s(c 1 2)" "#s(c 1 2)" "'#s(c 1 2)" "#s(c 1 2)") - (test-print/all (c x x) - "#s(c #0=#(struct:s) #0#)" "#s(c #0=#(struct:s) #0#)" "#s(c #0=#(struct:s) #0#)" "(c #0=(s) #0#)" "#s(c #0=#(struct:s) #0#)") + (for*/parameterize ([print-vector-length (in-list '(#t #f))]) + (test-print/all (a 1 2) + "#" "#" "#" "#" "#") + (test-print/all (c 1 1) + "#s(c 1 1)" "#s(c 1 1)" "#s(c 1 1)" "'#s(c 1 1)" "#s(c 1 1)") + (test-print/all (c 1 2) + "#s(c 1 2)" "#s(c 1 2)" "#s(c 1 2)" "'#s(c 1 2)" "#s(c 1 2)")) + + (parameterize ([print-vector-length #t]) + (test-print/all (b 1 1) + "#3(struct:b 1)" "#(struct:b 1 1)" "#3(struct:b 1)" "(b 1 1)" "#3(struct:b 1)") + (test-print/all (b 1 2) + "#3(struct:b 1 2)" "#(struct:b 1 2)" "#3(struct:b 1 2)" "(b 1 2)" "#3(struct:b 1 2)") + (test-print/all (b 'b 'b) + "#3(struct:b b)" "#(struct:b b b)" "#3(struct:b b)" "(b 'b 'b)" "#3(struct:b b)") + (test-print/all (b 'struct:b 'struct:b) + "#3(struct:b)" "#(struct:b struct:b struct:b)" "#3(struct:b)" "(b 'struct:b 'struct:b)" "#3(struct:b)") + (test-print/all (c x x) + "#s(c #0=#1(struct:s) #0#)" "#s(c #0=#(struct:s) #0#)" "#s(c #0=#1(struct:s) #0#)" "(c #0=(s) #0#)" "#s(c #0=#1(struct:s) #0#)") + (test-print/all (vector 1 2 3 4 5) + "#5(1 2 3 4 5)" "#(1 2 3 4 5)" "#5(1 2 3 4 5)" "'#5(1 2 3 4 5)" "#5(1 2 3 4 5)") + (test-print/all (vector 1 2 3 3 3) + "#5(1 2 3)" "#(1 2 3 3 3)" "#5(1 2 3)" "'#5(1 2 3)" "#5(1 2 3)") + (test-print/all (vector (b 1 1) 2 3 3 3) + "#5(#3(struct:b 1) 2 3)" "#(#(struct:b 1 1) 2 3 3 3)" "#5(#3(struct:b 1) 2 3)" "(vector (b 1 1) 2 3 3 3)" "#5(#3(struct:b 1) 2 3)") + (test-print/all (vector) + "#0()" "#()" "#0()" "'#0()" "#0()") + (test-print/all (vector 1) + "#1(1)" "#(1)" "#1(1)" "'#1(1)" "#1(1)") + (test-print/all (vector 1 1) + "#2(1)" "#(1 1)" "#2(1)" "'#2(1)" "#2(1)") + (test-print/all (vector 1 1 1) + "#3(1)" "#(1 1 1)" "#3(1)" "'#3(1)" "#3(1)") + (test-print/all (fxvector 1 2 3 4 5) + "#fx5(1 2 3 4 5)" "#fx(1 2 3 4 5)" "#fx5(1 2 3 4 5)" "(fxvector 1 2 3 4 5)" "#fx5(1 2 3 4 5)") + (test-print/all (fxvector 1 2 3 3 3) + "#fx5(1 2 3)" "#fx(1 2 3 3 3)" "#fx5(1 2 3)" "(fxvector 1 2 3 3 3)" "#fx5(1 2 3)") + (test-print/all (fxvector) + "#fx0()" "#fx()" "#fx0()" "(fxvector)" "#fx0()") + (test-print/all (flvector 1.0 2.0 3.0 4.0 5.0) + "#fl5(1.0 2.0 3.0 4.0 5.0)" "#fl(1.0 2.0 3.0 4.0 5.0)" "#fl5(1.0 2.0 3.0 4.0 5.0)" "(flvector 1.0 2.0 3.0 4.0 5.0)" "#fl5(1.0 2.0 3.0 4.0 5.0)") + (test-print/all (flvector 1.0 2.0 3.0 3.0 3.0) + "#fl5(1.0 2.0 3.0)" "#fl(1.0 2.0 3.0 3.0 3.0)" "#fl5(1.0 2.0 3.0)" "(flvector 1.0 2.0 3.0 3.0 3.0)" "#fl5(1.0 2.0 3.0)") + (test-print/all (flvector) + "#fl0()" "#fl()" "#fl0()" "(flvector)" "#fl0()")) + (parameterize ([print-vector-length #f]) + (test-print/all (b 1 1) + "#(struct:b 1 1)" "#(struct:b 1 1)" "#(struct:b 1 1)" "(b 1 1)" "#(struct:b 1 1)") + (test-print/all (b 1 2) + "#(struct:b 1 2)" "#(struct:b 1 2)" "#(struct:b 1 2)" "(b 1 2)" "#(struct:b 1 2)") + (test-print/all (b 'b 'b) + "#(struct:b b b)" "#(struct:b b b)" "#(struct:b b b)" "(b 'b 'b)" "#(struct:b b b)") + (test-print/all (b 'struct:b 'struct:b) + "#(struct:b struct:b struct:b)" "#(struct:b struct:b struct:b)" "#(struct:b struct:b struct:b)" "(b 'struct:b 'struct:b)" "#(struct:b struct:b struct:b)") + (test-print/all (c x x) + "#s(c #0=#(struct:s) #0#)" "#s(c #0=#(struct:s) #0#)" "#s(c #0=#(struct:s) #0#)" "(c #0=(s) #0#)" "#s(c #0=#(struct:s) #0#)") + (test-print/all (vector 1 2 3 4 5) + "#(1 2 3 4 5)" "#(1 2 3 4 5)" "#(1 2 3 4 5)" "'#(1 2 3 4 5)" "#(1 2 3 4 5)") + (test-print/all (vector 1 2 3 3 3) + "#(1 2 3 3 3)" "#(1 2 3 3 3)" "#(1 2 3 3 3)" "'#(1 2 3 3 3)" "#(1 2 3 3 3)") + (test-print/all (vector (b 1 1) 2 3 3 3) + "#(#(struct:b 1 1) 2 3 3 3)" "#(#(struct:b 1 1) 2 3 3 3)" "#(#(struct:b 1 1) 2 3 3 3)" "(vector (b 1 1) 2 3 3 3)" "#(#(struct:b 1 1) 2 3 3 3)") + (test-print/all (vector) + "#()" "#()" "#()" "'#()" "#()") + (test-print/all (vector 1) + "#(1)" "#(1)" "#(1)" "'#(1)" "#(1)") + (test-print/all (vector 1 1) + "#(1 1)" "#(1 1)" "#(1 1)" "'#(1 1)" "#(1 1)") + (test-print/all (vector 1 1 1) + "#(1 1 1)" "#(1 1 1)" "#(1 1 1)" "'#(1 1 1)" "#(1 1 1)") + (test-print/all (fxvector 1 2 3 4 5) + "#fx(1 2 3 4 5)" "#fx(1 2 3 4 5)" "#fx(1 2 3 4 5)" "(fxvector 1 2 3 4 5)" "#fx(1 2 3 4 5)") + (test-print/all (fxvector 1 2 3 3 3) + "#fx(1 2 3 3 3)" "#fx(1 2 3 3 3)" "#fx(1 2 3 3 3)" "(fxvector 1 2 3 3 3)" "#fx(1 2 3 3 3)") + (test-print/all (fxvector) + "#fx()" "#fx()" "#fx()" "(fxvector)" "#fx()") + (test-print/all (flvector 1.0 2.0 3.0 4.0 5.0) + "#fl(1.0 2.0 3.0 4.0 5.0)" "#fl(1.0 2.0 3.0 4.0 5.0)" "#fl(1.0 2.0 3.0 4.0 5.0)" "(flvector 1.0 2.0 3.0 4.0 5.0)" "#fl(1.0 2.0 3.0 4.0 5.0)") + (test-print/all (flvector 1.0 2.0 3.0 3.0 3.0) + "#fl(1.0 2.0 3.0 3.0 3.0)" "#fl(1.0 2.0 3.0 3.0 3.0)" "#fl(1.0 2.0 3.0 3.0 3.0)" "(flvector 1.0 2.0 3.0 3.0 3.0)" "#fl(1.0 2.0 3.0 3.0 3.0)") + (test-print/all (flvector) + "#fl()" "#fl()" "#fl()" "(flvector)" "#fl()")) (void)))) ;; ----------------------------------------