X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F007-attributes.t;h=ae538e6bf487f963980107a1254909963ceb58b9;hb=8447b3b14d69fc39851e6f1a3024f88c443009f4;hp=fdb3ed3091626895f6108a9dee64d2f4391a5152;hpb=74be9f760d045a0174d76e54de1c66d6b66454c4;p=gitmo%2FMouse.git diff --git a/t/007-attributes.t b/t/007-attributes.t index fdb3ed3..ae538e6 100644 --- a/t/007-attributes.t +++ b/t/007-attributes.t @@ -1,9 +1,12 @@ #!/usr/bin/env perl use strict; use warnings; -use Test::More tests => 10; +use Test::More tests => 18; use Test::Exception; +use lib 't/lib'; +use Test::Mouse; + do { package Class; use Mouse; @@ -19,11 +22,21 @@ do { has 'z' => ( is => 'rw', ); + + has 'attr' => ( + accessor => 'rw_attr', + reader => 'read_attr', + writer => 'write_attr', + ); }; ok(!Class->can('x'), "No accessor is injected if 'is' has no value"); can_ok('Class', 'y', 'z'); +has_attribute_ok 'Class', 'x'; +has_attribute_ok 'Class', 'y'; +has_attribute_ok 'Class', 'z'; + my $object = Class->new; ok(!$object->can('x'), "No accessor is injected if 'is' has no value"); @@ -41,3 +54,11 @@ is($object->z, undef); is($object->z(10), 10); is($object->z, 10); +can_ok($object, qw(rw_attr read_attr write_attr)); +$object->write_attr(42); +is $object->rw_attr, 42; +is $object->read_attr, 42; +$object->rw_attr(100); +is $object->rw_attr, 100; +is $object->read_attr, 100; +