summaryrefslogtreecommitdiffstats
path: root/t/hide_middleman3.t
blob: f297e47684f11d60ff115767769d4b41f4853c9d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env perl
use strict;
use warnings;
use lib 't/hide_middleman';
use Test::More;

no circular::require -hide => [
    qw(base Foo Bar main circular::require),
    (grep { /\.pm$/ }
          map { my $m = $_; $m =~ s+/+::+g; $m =~ s/\.pm$//; $m }
              keys %INC),
];

my @warnings;

{
    $SIG{__WARN__} = sub { push @warnings => @_ };

    use_ok( 'Foo' );
}

is_deeply(
    \@warnings,
    ["Circular require detected in Foo.pm (from unknown file)\n"],
    "don't loop infinitely if all packages are hidden"
);

done_testing;