Move non-useful, Moose-specific methods into t/lib/Test/Mouse.pm
[gitmo/Mouse.git] / t / 025-more-isa.t
index 022c89c..6e621a7 100755 (executable)
@@ -74,7 +74,7 @@ do {
     package A;
     our @VERSION;
 
-    package B;
+    package Bx; # 'B' conflicts the B module
     our $VERSION = 1;
 
     package C;
@@ -92,6 +92,7 @@ do {
     sub bar {}
 
     package I;
+    no warnings 'once'; # work around 5.6.2
     our $NOT_CODE = 1;
 };
 
@@ -105,7 +106,7 @@ do {
     );
 };
 
-for ('B'..'E', 'G::H') {
+for ('Bx', 'D'..'E', 'G::H') {
     lives_ok {
         ClassNameTests->new(class => $_);
     };
@@ -116,17 +117,23 @@ for ('B'..'E', 'G::H') {
     };
 }
 
-TODO: {
-    local $TODO = "Moose throws errors here. Mouse does not";
-    throws_ok {
-        ClassNameTests->new(class => 'A');
-    } qr/Attribute \(class\) does not pass the type constraint because: Validation failed for 'ClassName' failed with value A/;
+throws_ok {
+    ClassNameTests->new(class => 'A');
+} qr/Attribute \(class\) does not pass the type constraint because: Validation failed for 'ClassName' failed with value A/;
 
-    throws_ok {
-            my $obj = ClassNameTests->new;
-            $obj->class('A');
-    } qr/Attribute \(class\) does not pass the type constraint because: Validation failed for 'ClassName' failed with value A/;
-}
+throws_ok {
+        my $obj = ClassNameTests->new;
+        $obj->class('A');
+} qr/Attribute \(class\) does not pass the type constraint because: Validation failed for 'ClassName' failed with value A/;
+
+throws_ok {
+    ClassNameTests->new(class => 'C');
+} qr/Attribute \(class\) does not pass the type constraint because: Validation failed for 'ClassName' failed with value C/;
+
+throws_ok {
+        my $obj = ClassNameTests->new;
+        $obj->class('C');
+} qr/Attribute \(class\) does not pass the type constraint because: Validation failed for 'ClassName' failed with value C/;
 
 for ('F', 'G', 'I', 'Z') {
     throws_ok {