Rename ext/Compress/Zlib to ext/Compress-Zlib
[p5sagit/p5-mst-13.2.git] / lib / Object / Accessor / t / 03_Object-Accessor-local.t
1 BEGIN { chdir 't' if -d 't' };
2
3 use strict;
4 use lib '../lib';
5 use Test::More 'no_plan';
6 use Data::Dumper;
7
8 my $Class = 'Object::Accessor';
9
10 use_ok($Class);
11
12 my $Object      = $Class->new;
13 my $Acc         = 'foo';
14
15 ### stupid warnings
16 ### XXX this will break warning tests though if enabled
17 $Object::Accessor::DEBUG = $Object::Accessor::DEBUG = 1 if @ARGV;
18
19
20 ### check the object
21 {   ok( $Object,                "Object of '$Class' created" );
22     isa_ok( $Object,            $Class );
23 }
24
25 ### create an accessor;
26 {   my $warning;
27     local $SIG{__WARN__} = sub { $warning .= "@_" };
28
29     ok( $Object->mk_accessors( $Acc ),
30                                 "Accessor '$Acc' created" );
31
32     ok( $Object->can( $Acc ),   "   Can '$Acc'" );
33     ok(!$warning,               "   No warnings logged" );
34
35
36 }
37
38 ### scoped variables
39 {   ok( 1,                      "Testing scoped values" );
40
41     $Object->$Acc( $$ );
42     is( $Object->$Acc, $$,      "   Value set to $$" );
43     
44     ### set it to a scope
45     {   $Object->$Acc( $0 => \my $temp );
46         is( $Object->$Acc, $0,  "   Value set to $0" );
47     }
48     
49     is( $Object->$Acc, $$,      "   Value restored to $$" );
50 }