Failing test for unimport killing a method with the same name as a keyword
Shawn M Moore [Sun, 13 Jul 2008 15:23:18 +0000 (15:23 +0000)]
t/006-unimport.t

index 5245474..57b0a62 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 2;
+use Test::More tests => 5;
 
 do {
     package Class;
@@ -19,3 +19,16 @@ do {
 ok(!Child->can('extends'), "extends keyword is unimported");
 ok(!Class->can('extends'), "extends keyword is unimported");
 
+do {
+    package Foo;
+    use Mouse 'has';
+
+    sub extends { "good" }
+
+    no Mouse;
+};
+
+ok(!Foo->can('has'), "has keyword is unimported");
+ok(Foo->can('extends'), "extends method is NOT unimported");
+is(Foo->extends, "good", "extends method is ours, not the extends keyword");
+