added failing unimport test that demonstrates clobbering of package globals
Christian Walde [Wed, 5 Sep 2012 13:23:16 +0000 (15:23 +0200)]
t/no-moo.t

index 74ed54e..0388a2b 100644 (file)
@@ -69,6 +69,19 @@ use Test::More;
   main::is_deeply(\%stash, \%stash2, "stash of non-Moo role remains untouched");
 }
 
+{
+  package GlobalConflict2;
+
+  use Moo;
+
+  no warnings 'redefine';
+
+  our $after = "has!";
+  sub has { $after }
+
+  no Moo;
+}
+
 ok(!Spoon->can('extends'), 'extends cleaned');
 is(Spoon->has, "has!", 'has left alone');
 
@@ -87,4 +100,11 @@ is(GlobalConflict->has, "has!", 'has left alone');
 ok(RollerTiny->can('around'), 'around left alone');
 is(RollerTiny->with, "with!", 'with left alone');
 
+ok(!GlobalConflict2->can('extends'), 'extends cleaned');
+is(GlobalConflict2->has, "has!", 'has left alone');
+{
+  no warnings 'once';
+  is($GlobalConflict2::after, "has!", 'package global left alone');
+}
+
 done_testing;