Update test suite for subname changes in Class::MOP
Yuval Kogman [Sat, 23 May 2009 21:13:42 +0000 (23:13 +0200)]
lib/Moose/Manual/Delta.pod
t/030_roles/032_roles_and_method_cloning.t
t/100_bugs/022_role_caller.t

index 969ae47..0503ca0 100644 (file)
@@ -16,6 +16,10 @@ feature.  If you encounter a problem and have a solution but don't see
 it documented here, or think we missed an important feature, please
 send us a patch.
 
+=head1 Version 0.80
+
+Update test suite for subname change in Class::MOP
+
 =head1 Version 0.78
 
 C<use Moose::Exporter;> now imports C<strict> and C<warnings> into packages
index edaf281..9cd45e0 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 16;
+use Test::More tests => 17;
 
 
 {
@@ -71,9 +71,11 @@ use Test::More tests => 16;
         'original fq name is Role::Foo::foo' );
 }
 
-is( ClassB->foo, 'ClassB::foo', 'ClassB::foo knows its name' );
+isnt( ClassA->foo, "ClassB::foo", "ClassA::foo is not confused with ClassB::foo");
+
 {
     local $TODO =
       "multiply-consumed roles' subs take on their most recently used name";
+    is( ClassB->foo, 'ClassB::foo', 'ClassB::foo knows its name' );
     is( ClassA->foo, 'ClassA::foo', 'ClassA::foo knows its name' );
 }
index 69988c3..474179e 100644 (file)
@@ -11,11 +11,15 @@ package MyClass2; use Moose; with 'MyRole'; no Moose;
 
 package main;
 
-use Test::More tests => 2;
+use Test::More tests => 4;
 
 {
-  local $TODO = 'for rafl';
+  local $TODO = 'Role composition does not clone methods yet';
   is(MyClass1->foo, 'MyClass1::foo',
     'method from role has correct name in caller()');
+  is(MyClass2->foo, 'MyClass2::foo',
+    'method from role has correct name in caller()');
 }
-is(MyClass2->foo, 'MyClass2::foo');
+
+isnt(MyClass1->foo, "MyClass2::foo", "role method is not confused with other class" );
+isnt(MyClass2->foo, "MyClass1::foo", "role method is not confused with other class" );