1 (* Thoroughly test SV-related functions.
2 * $Id: 100-sv.ml,v 1.1 2005-01-28 23:09:33 rich Exp $
8 assert (42 = int_of_sv (sv_of_int 42));
9 assert (42. = float_of_sv (sv_of_float 42.));
10 assert (true = bool_of_sv (sv_of_bool true));
11 assert (false = bool_of_sv (sv_of_bool false));
12 assert ("42" = string_of_sv (sv_of_string "42"));
13 assert ("42" = string_of_sv (sv_of_int 42));
14 assert ("1" = string_of_sv (sv_of_bool true));
15 (* assert ("" = string_of_sv (sv_of_bool false)); XXX fails XXX *)
16 assert (sv_is_true (sv_of_bool true));
17 assert (sv_is_true (sv_true ()));
18 assert (not (sv_is_true (sv_false ())));
19 assert (sv_is_undef (sv_undef ()));
21 let sv = sv_undef () in assert (sv_type sv = SVt_NULL);
22 let sv = sv_of_int 42 in assert (sv_type sv = SVt_IV);
23 (* let sv = sv_of_float 42.1 in assert (sv_type sv = SVt_NV); XXX fails XXX*)
24 let sv = sv_of_string "42" in assert (sv_type sv = SVt_PV);
25 let sv = eval "\\\"foo\"" in assert (sv_type sv = SVt_RV);
27 ignore (eval "$s = 'foo'");
28 let sv = get_sv "s" in
29 assert ("foo" = string_of_sv sv);