Use newSVnv in sv_of_float to stop it truncating the float to an int.
[perl4caml.git] / test / 140-ref.ml
index bf6dd91..65dec49 100644 (file)
@@ -1,5 +1,5 @@
 (* Reference, dereference.
- * $Id: 140-ref.ml,v 1.1 2005-01-28 23:09:33 rich Exp $
+ * $Id: 140-ref.ml,v 1.2 2005-04-14 13:05:12 rich Exp $
  *)
 
 open Perl
@@ -8,12 +8,14 @@ let () =
   let sv = sv_of_int 42 in
   let sv = scalarref sv in
   assert (sv_type sv = SVt_RV);
+  assert (reftype sv = SVt_IV);
   let sv = deref sv in
   assert (42 = int_of_sv sv);
 
   let av = av_of_string_list [ "foo"; "bar" ] in
   let sv = arrayref av in
   assert (sv_type sv = SVt_RV);
+  assert (reftype sv = SVt_PVAV);
   let av = deref_array sv in
   assert (2 = av_length av);
 
@@ -22,6 +24,7 @@ let () =
   hv_set hv "bar" (sv_of_int 2);
   let sv = hashref hv in
   assert (sv_type sv = SVt_RV);
+  assert (reftype sv = SVt_PVHV);
   let hv = deref_hash sv in
   assert (1 = int_of_sv (hv_get hv "foo"));
   assert (2 = int_of_sv (hv_get hv "bar"));