open Base
open SwfType
-open SwfOut
open OUnit
+module M = SwfOut.Make(
+ struct
+ type t = int * SwfBaseOut.s list
+ let write x = x
+ end)
+
+open M
+
let char c =
`Ui8 (Char.code c)
let ok ?msg f x y =
assert_equal ?msg y (f x)
+let ok_b ?msg f x y =
+ assert_equal ?msg (SwfBaseOut.to_list y) (SwfBaseOut.to_list (f x))
+
let _ = begin "swfOut.ml" >::: [
"header" >:: begin fun () ->
let swf = {
frame_count = 42;
tags = []
} in
- ok to_base swf [
+ ok write swf [
(* signature *)
char 'F'; char 'W'; char 'S';
(* version *)
]
end;
"tag" >:: begin fun () ->
- ok ~msg:"size < 64" of_tag {tag=1; data=[`Ui8 1;`Ui8 2; `Ui8 3]}
+ ok_b ~msg:"size < 64" of_tag (1, [`Ui8 1;`Ui8 2; `Ui8 3])
[ `Ui16 0b0000000001_000011; `Ui8 1; `Ui8 2; `Ui8 3 ];
(* size >= 64*)
- ok ~msg:"size > 64" of_tag {tag=1; data = HList.replicate 64 (`Ui8 1)} @@
+ ok_b ~msg:"size > 64" of_tag (1, HList.replicate 64 (`Ui8 1)) @@
[ `Ui16 0b0000000001_111111; `Si32 64l ] @ HList.replicate 64 (`Ui8 1)
end
] end +> run_test_tt_main