summaryrefslogtreecommitdiffstats
path: root/t
diff options
context:
space:
mode:
Diffstat (limited to 't')
-rw-r--r--t/hide_middleman.t22
-rw-r--r--t/hide_middleman/Bar.pm7
-rw-r--r--t/hide_middleman/Foo.pm6
3 files changed, 35 insertions, 0 deletions
diff --git a/t/hide_middleman.t b/t/hide_middleman.t
new file mode 100644
index 0000000..d0cf652
--- /dev/null
+++ b/t/hide_middleman.t
@@ -0,0 +1,22 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use lib 't/hide_middleman';
+use Test::More;
+use Test::Exception;
+
+my @warnings;
+$SIG{__WARN__} = sub { push @warnings => @_ };
+
+# Test passes if you comment this out
+no circular::require hide => 'base';
+
+use_ok( 'Foo' );
+
+is_deeply(
+ \@warnings,
+ ["Circular require detected: Foo.pm (from Bar)\n"],
+ "Show the module that used base, instead of 'base' when a cycle occurs from a use base."
+);
+
+done_testing;
diff --git a/t/hide_middleman/Bar.pm b/t/hide_middleman/Bar.pm
new file mode 100644
index 0000000..486f8dd
--- /dev/null
+++ b/t/hide_middleman/Bar.pm
@@ -0,0 +1,7 @@
+package Bar;
+use strict;
+use warnings;
+
+use base 'Foo';
+
+1;
diff --git a/t/hide_middleman/Foo.pm b/t/hide_middleman/Foo.pm
new file mode 100644
index 0000000..463f6ec
--- /dev/null
+++ b/t/hide_middleman/Foo.pm
@@ -0,0 +1,6 @@
+package Foo;
+use strict;
+use warnings;
+
+use Bar;
+1;