Rename ext/Compress/Zlib to ext/Compress-Zlib
[p5sagit/p5-mst-13.2.git] / lib / Object / Accessor / t / 03_Object-Accessor-local.t
CommitLineData
0bbb0bd4 1BEGIN { chdir 't' if -d 't' };
2
3use strict;
4use lib '../lib';
5use Test::More 'no_plan';
6use Data::Dumper;
7
8my $Class = 'Object::Accessor';
9
10use_ok($Class);
11
12my $Object = $Class->new;
13my $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}