Use minimal @INC in tests, most of the time just '../lib',
[p5sagit/p5-mst-13.2.git] / t / lib / st-overload.t
1 #!./perl
2
3 # $Id: overload.t,v 0.7.1.1 2000/08/13 20:10:10 ram Exp $
4 #
5 #  Copyright (c) 1995-2000, Raphael Manfredi
6 #  
7 #  You may redistribute only under the terms of the Artistic License,
8 #  as specified in the README file that comes with the distribution.
9 #  
10 # $Log: overload.t,v $
11 # Revision 0.7.1.1  2000/08/13 20:10:10  ram
12 # patch1: created
13 #
14
15 sub BEGIN {
16     chdir('t') if -d 't';
17     @INC = '.'; 
18     push @INC, '../lib';
19     require Config; import Config;
20     if ($Config{'extensions'} !~ /\bStorable\b/) {
21         print "1..0 # Skip: Storable was not built\n";
22         exit 0;
23     }
24     require 'lib/st-dump.pl';
25 }
26
27 sub ok;
28
29 use Storable qw(freeze thaw);
30
31 print "1..7\n";
32
33 package OVERLOADED;
34
35 use overload
36         '""' => sub { $_[0][0] };
37
38 package main;
39
40 $a = bless [77], OVERLOADED;
41
42 $b = thaw freeze $a;
43 ok 1, ref $b eq 'OVERLOADED';
44 ok 2, "$b" eq "77";
45
46 $c = thaw freeze \$a;
47 ok 3, ref $c eq 'REF';
48 ok 4, ref $$c eq 'OVERLOADED';
49 ok 5, "$$c" eq "77";
50
51 $d = thaw freeze [$a, $a];
52 ok 6, "$d->[0]" eq "77";
53 $d->[0][0]++;
54 ok 7, "$d->[1]" eq "78";
55