Tweaks and documenting Mouse::Exporter
[gitmo/Mouse.git] / t / 007-attributes.t
index fdb3ed3..ae538e6 100644 (file)
@@ -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;
+