Fix tests for accessors
gfx [Mon, 21 Sep 2009 03:36:01 +0000 (12:36 +0900)]
t/007-attributes.t
t/033-readwrite.t [deleted file]

index fdb3ed3..4edd2d0 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 10;
+use Test::More tests => 15;
 use Test::Exception;
 
 do {
@@ -19,6 +19,12 @@ 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");
@@ -41,3 +47,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;
+
diff --git a/t/033-readwrite.t b/t/033-readwrite.t
deleted file mode 100644 (file)
index 6a15fe9..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env perl
-use strict;
-use warnings;
-use Test::More tests => 4;
-use Test::Exception;
-
-do {
-    package Class;
-    use Mouse;
-
-    # We want this attr to have a reader and writer with unconventional names,
-    # and not the default rw_attr method. -- rjbs, 2008-12-04
-    has 'rw_attr' => (
-        is     => 'rw',
-        reader => 'read_attr',
-        writer => 'write_attr',
-    );
-};
-
-my $object = Class->new;
-
-TODO: {
-  local $TODO = 'requires some refactoring to implement';
-
-  ok(
-    !$object->can('rw_attr'),
-    "no rw_attr method because wasn't 'is' ro or rw"
-  );
-  ok($object->can('read_attr'),  "did get a reader");
-  ok($object->can('write_attr'), "did get a writer");
-
-  # eliminate these eval{} when out of TODO
-  eval { $object->write_attr(2); };
-
-  is(
-    eval { $object->read_attr },
-    2,
-    "writing to the object worked",
-  );
-}