Merge some tests to one file
[gitmo/Mouse.git] / t / 001_mouse / 001-strict-and-warnings.t
diff --git a/t/001_mouse/001-strict-and-warnings.t b/t/001_mouse/001-strict-and-warnings.t
new file mode 100644 (file)
index 0000000..9253d22
--- /dev/null
@@ -0,0 +1,40 @@
+#!/usr/bin/env perl
+use Test::More;
+
+my $id = 0;
+foreach my $mod (qw(Mouse Mouse::Role Mouse::Exporter)){
+    $id++;
+    eval qq{
+        no strict;
+        no warnings;
+
+        package Class$id;
+        use $mod;
+
+        my \$foo = 'foo';
+        chop \$\$foo;
+    };
+    like $@, qr/Can't use string \("foo"\) as a SCALAR ref while "strict refs" in use /, # '
+      "using $mod turns on strictures";
+
+    my @warnings;
+    local $SIG{__WARN__} = sub {
+        push @warnings, @_;
+    };
+
+    $id++;
+    eval qq{
+        no strict;
+        no warnings;
+
+        package Class$id;
+        use $mod;
+
+        my \$one = 1 + undef;
+    };
+    is $@, '';
+
+    like("@warnings", qr/^Use of uninitialized value/, "using $mod turns on warnings");
+}
+
+done_testing;