52 lines
968 B
OCaml
52 lines
968 B
OCaml
open! Import
|
|
|
|
let to_string pp v =
|
|
pp Stdlib.Format.str_formatter v;
|
|
Stdlib.Format.flush_str_formatter ()
|
|
;;
|
|
|
|
let print pp v = Stdlib.Printf.printf "%s\n" (to_string pp v)
|
|
let print_all pp vs = List.iter ~f:(print pp) vs
|
|
|
|
let%expect_test "pretty-printers" =
|
|
print_all Char.pp [ '\000'; '\r'; 'a' ];
|
|
[%expect {|
|
|
'\000'
|
|
'\r'
|
|
'a'
|
|
|}];
|
|
print_all String.pp [ ""; "foo"; "abc\tdef" ];
|
|
[%expect {|
|
|
""
|
|
"foo"
|
|
"abc\tdef"
|
|
|}];
|
|
print_all Sign.pp Sign.all;
|
|
[%expect {|
|
|
Neg
|
|
Zero
|
|
Pos
|
|
|}];
|
|
print_all Bool.pp Bool.all;
|
|
[%expect {|
|
|
false
|
|
true
|
|
|}];
|
|
print_all Unit.pp Unit.all;
|
|
[%expect {| () |}];
|
|
print_all Nothing.pp Nothing.all;
|
|
[%expect {| |}];
|
|
print_all Float.pp [ 0.; 3.14; 1.0 /. 0.0 ];
|
|
[%expect {|
|
|
0.
|
|
3.14
|
|
inf
|
|
|}];
|
|
print_all Int.pp [ 0; 1 ];
|
|
[%expect {|
|
|
0
|
|
1
|
|
|}];
|
|
print Info.pp (Info.create_s [%sexp "hello", "world"]);
|
|
[%expect {| (hello world) |}]
|
|
;;
|