forked from tokenrove/tsdl-image
-
Notifications
You must be signed in to change notification settings - Fork 4
/
test.ml
28 lines (26 loc) · 927 Bytes
/
test.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
open Tsdl
open Tsdl_image
let ( >>= ) o f =
match o with
| Error (`Msg e) -> failwith (Printf.sprintf "Error %s" e)
| Ok a -> f a
let () =
print_endline "Running test";
ignore (Sdl.init Sdl.Init.everything);
let flags = Image.Init.(jpg + png) in
assert (Image.(Init.test (init flags) Init.png));
Image.load "what.png" >>= fun sface ->
assert (Sdl.get_surface_size sface = (64, 64));
assert (Image.save_png sface "output.png" = 0);
assert (Image.save_jpg sface "output.jpg" 100 = 0);
Sdl.rw_from_file "what.png" "rb" >>= fun f ->
assert (false = Image.is_format Image.Ico f);
assert (false = Image.is_format Image.Bmp f);
assert (false = Image.is_format Image.Gif f);
assert (false = Image.is_format Image.Pcx f);
assert (false = Image.is_format Image.Jpg f);
assert (Image.is_format Image.Png f);
Sdl.rw_close f |> ignore;
Image.quit ();
Sdl.quit ();
print_endline "Quitting test"