Add auto-require of modules to restore overloading (and tests)
[p5sagit/p5-mst-13.2.git] / ext / Storable / t / overload.t
index a0b65a2..31b861d 100644 (file)
@@ -25,7 +25,7 @@ sub ok;
 
 use Storable qw(freeze thaw);
 
-print "1..12\n";
+print "1..16\n";
 
 package OVERLOADED;
 
@@ -87,5 +87,15 @@ ok 10, ref $b->{ref} eq 'REF_TO_OVER';
 ok 11, "$b->{ref}->{over}" eq "$b";
 ok 12, $b + $b == 314;
 
+# nfreeze data generated by make_overload.pl
+my $f = unpack 'u', q{7!084$0Q(05-?3U9%4DQ/040*!'-N;W<`};
+
+# see note at the end of do_retrieve in Storable.xs about why this test has to
+# use a reference to an overloaded reference, rather than just a reference.
+my $t = eval {thaw $f};
+print "# $@" if $@;
+ok 13, $@ eq "";
+ok 14, ref ($t) eq 'REF';
+ok 15, ref ($$t) eq 'HAS_OVERLOAD';
+ok 16, $$$t eq 'snow';
 1;
-