role support, in MooseX::StrictConstructor::FromRole
[gitmo/MooseX-StrictConstructor.git] / t / basic.t
index 2a11bfc..b159e77 100644 (file)
--- a/t/basic.t
+++ b/t/basic.t
@@ -80,6 +80,26 @@ use Test::More;
     has 'size'  => ( is => 'rw', 'init_arg' => undef );
 }
 
+{
+    local $@;
+    eval q[package MyRole; use Moose::Role; use MooseX::StrictConstructor;];
+    like(
+        $@,
+        qr/can only be applied to Moose classes/,
+        "can't apply MXSC to a role"
+    );
+}
+
+{
+    local $@;
+    eval q[package Nothing; use MooseX::StrictConstructor;];
+    like(
+        $@,
+        qr/can only be applied to Moose classes/,
+        "can't apply MXSC to a random package",
+    );
+}
+
 my @classes
     = qw( Standard Stricter Subclass StrictSubclass OtherStrictSubclass Tricky InitArg );
 
@@ -119,15 +139,15 @@ with_immutable {
     );
 
     is(
-        exception { OtherStrictSubclass->new( thing => 1, size => 'large', ) }
-        , undef,
-        'strict subclass from parent that doesn\'t use strict constructor handles known attributes correctly'
+        exception { OtherStrictSubclass->new( thing => 1, size => 'large', ) },
+        undef,
+        q{strict subclass from parent that doesn't use strict constructor handles known attributes correctly}
     );
 
     like(
         exception { OtherStrictSubclass->new( thing => 1, bad => 99 ) },
         qr/unknown attribute.+: bad/,
-        'strict subclass from parent that doesn\'t use strict correctly recognizes bad attribute'
+        q{strict subclass from parent that doesn't use strict correctly recognizes bad attribute}
     );
 
     is(