Add tests for Moose::Exporter warning when overwriting symbols.
Florian Ragwitz [Mon, 30 Nov 2009 14:29:05 +0000 (15:29 +0100)]
t/050_metaclasses/012_moose_exporter.t

index c6c1f4d..2809867 100644 (file)
@@ -5,12 +5,12 @@ use warnings;
 
 use Test::More;
 use Test::Exception;
+
 BEGIN {
     eval "use Test::Output;";
     plan skip_all => "Test::Output is required for this test" if $@;
 }
 
-
 {
     package HasOwnImmutable;
 
@@ -389,4 +389,18 @@ BEGIN {
         for qw( with_meta1 with_meta2 with_caller1 with_caller2 as_is1 );
 }
 
+{
+    package AlreadyHasImport;
+
+    sub as_is1 { 42 }
+
+    ::stderr_like(
+        sub { AllOptions->import('as_is1') },
+        qr/AllOptions is overwriting symbol as_is1 at ${\__FILE__}/,
+        'warning when overwriting existign symbols',
+    );
+
+    ::is(as_is1, 2, 'import got overwritten');
+}
+
 done_testing;