Added submit_form method.
[perl4caml.git] / test / 130-hv-iter.ml
1 (* Thoroughly test HV iteration functions.
2  * $Id: 130-hv-iter.ml,v 1.1 2005-01-29 12:22:50 rich Exp $
3  *)
4
5 open Perl
6
7 let () =
8   let xs = [ "foo", sv_of_int 1;
9              "bar", sv_of_int 2;
10              "baz", sv_of_int 3;
11              "a", sv_of_int 4 ] in
12
13   let hv = hv_of_assoc xs in
14   assert (1 = int_of_sv (hv_get hv "foo"));
15   assert (2 = int_of_sv (hv_get hv "bar"));
16   assert (3 = int_of_sv (hv_get hv "baz"));
17   assert (4 = int_of_sv (hv_get hv "a"));
18   assert (not (hv_exists hv "b"));
19   assert (not (hv_exists hv "c"));
20
21   let keys = List.sort compare (hv_keys hv) in
22   assert (4 = List.length keys);
23   assert (["a"; "bar"; "baz"; "foo"] = keys);
24
25   let values = List.sort compare (List.map int_of_sv (hv_values hv)) in
26   assert (4 = List.length values);
27   assert ([1; 2; 3; 4] = values);
28
29   let xs = assoc_of_hv hv in
30   let xs = List.map (fun (k, sv) -> k, int_of_sv sv) xs in
31   let xs = List.sort compare xs in
32   assert (4 = List.length xs);
33   assert ([ "a", 4; "bar", 2; "baz", 3; "foo", 1 ] = xs)
34 ;;
35 Gc.full_major ()