X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F020_attributes%2F003_attribute_accessor_generation.t;h=73487c13280c57e9c10888998bb6c0f68290cc0d;hb=d03bd989b97597428b460d7f9a021e2931893fa0;hp=0355c2b21673e575956506647fd965941780fd17;hpb=f6bee6fe1d579dc3d2ed2952cce9a1556040c8e5;p=gitmo%2FMoose.git diff --git a/t/020_attributes/003_attribute_accessor_generation.t b/t/020_attributes/003_attribute_accessor_generation.t index 0355c2b..73487c1 100644 --- a/t/020_attributes/003_attribute_accessor_generation.t +++ b/t/020_attributes/003_attribute_accessor_generation.t @@ -13,23 +13,23 @@ use Scalar::Util 'isweak'; { package Foo; use Moose; - + eval { has 'foo' => ( accessor => 'foo', ); }; ::ok(!$@, '... created the accessor method okay'); - + eval { has 'lazy_foo' => ( - accessor => 'lazy_foo', - lazy => 1, + accessor => 'lazy_foo', + lazy => 1, default => sub { 10 } ); }; - ::ok(!$@, '... created the lazy accessor method okay'); - + ::ok(!$@, '... created the lazy accessor method okay'); + eval { has 'foo_required' => ( @@ -45,15 +45,15 @@ use Scalar::Util 'isweak'; isa => 'Int', ); }; - ::ok(!$@, '... created the accessor method with type constraint okay'); - + ::ok(!$@, '... created the accessor method with type constraint okay'); + eval { has 'foo_weak' => ( accessor => 'foo_weak', weak_ref => 1 ); }; - ::ok(!$@, '... created the accessor method with weak_ref okay'); + ::ok(!$@, '... created the accessor method with weak_ref okay'); eval { has 'foo_deref' => ( @@ -62,7 +62,7 @@ use Scalar::Util 'isweak'; auto_deref => 1, ); }; - ::ok(!$@, '... created the accessor method with auto_deref okay'); + ::ok(!$@, '... created the accessor method with auto_deref okay'); eval { has 'foo_deref_ro' => ( @@ -71,7 +71,7 @@ use Scalar::Util 'isweak'; auto_deref => 1, ); }; - ::ok(!$@, '... created the reader method with auto_deref okay'); + ::ok(!$@, '... created the reader method with auto_deref okay'); eval { has 'foo_deref_hash' => ( @@ -80,7 +80,7 @@ use Scalar::Util 'isweak'; auto_deref => 1, ); }; - ::ok(!$@, '... created the reader method with auto_deref okay'); + ::ok(!$@, '... created the reader method with auto_deref okay'); } { @@ -94,12 +94,12 @@ use Scalar::Util 'isweak'; lives_ok { $foo->foo(100); } '... foo wrote successfully'; - is($foo->foo(), 100, '... got the correct set value'); - - ok(!isweak($foo->{foo}), '... it is not a weak reference'); - + is($foo->foo(), 100, '... got the correct set value'); + + ok(!isweak($foo->{foo}), '... it is not a weak reference'); + # required writer - + dies_ok { Foo->new; } '... cannot create without the required attribute'; @@ -109,49 +109,49 @@ use Scalar::Util 'isweak'; lives_ok { $foo->foo_required(100); } '... foo_required wrote successfully'; - is($foo->foo_required(), 100, '... got the correct set value'); - + is($foo->foo_required(), 100, '... got the correct set value'); + lives_ok { $foo->foo_required(undef); - } '... foo_required did not die with undef'; + } '... foo_required did not die with undef'; is($foo->foo_required, undef, "value is undef"); - ok(!isweak($foo->{foo_required}), '... it is not a weak reference'); - + ok(!isweak($foo->{foo_required}), '... it is not a weak reference'); + # lazy - + ok(!exists($foo->{lazy_foo}), '... no value in lazy_foo slot'); - + can_ok($foo, 'lazy_foo'); - is($foo->lazy_foo(), 10, '... got an deferred value'); - + is($foo->lazy_foo(), 10, '... got an deferred value'); + # with type constraint - + can_ok($foo, 'foo_int'); is($foo->foo_int(), undef, '... got an unset value'); lives_ok { $foo->foo_int(100); } '... foo_int wrote successfully'; - is($foo->foo_int(), 100, '... got the correct set value'); - + is($foo->foo_int(), 100, '... got the correct set value'); + dies_ok { $foo->foo_int("Foo"); - } '... foo_int died successfully'; - - ok(!isweak($foo->{foo_int}), '... it is not a weak reference'); - + } '... foo_int died successfully'; + + ok(!isweak($foo->{foo_int}), '... it is not a weak reference'); + # with weak_ref - + my $test = []; - + can_ok($foo, 'foo_weak'); is($foo->foo_weak(), undef, '... got an unset value'); lives_ok { $foo->foo_weak($test); } '... foo_weak wrote successfully'; - is($foo->foo_weak(), $test, '... got the correct set value'); - + is($foo->foo_weak(), $test, '... got the correct set value'); + ok(isweak($foo->{foo_weak}), '... it is a weak reference'); can_ok( $foo, 'foo_deref');