xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Test2/behavior/no_load_api.t (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
1use strict;
2use warnings;
3use Data::Dumper;
4# HARNESS-NO-STREAM
5# HARNESS-NO-PRELOAD
6
7###############################################################################
8#                                                                             #
9# This test is to insure certain objects do not load Test2::API directly or   #
10# indirectly when being required. It is ok for import() to load Test2::API if #
11# necessary, but simply requiring the modules should not.                     #
12#                                                                             #
13###############################################################################
14
15require Test2::Formatter;
16require Test2::Formatter::TAP;
17
18require Test2::Event;
19require Test2::Event::Bail;
20require Test2::Event::Diag;
21require Test2::Event::Exception;
22require Test2::Event::Note;
23require Test2::Event::Ok;
24require Test2::Event::Plan;
25require Test2::Event::Skip;
26require Test2::Event::Subtest;
27require Test2::Event::Waiting;
28
29require Test2::Util;
30require Test2::Util::ExternalMeta;
31require Test2::Util::HashBase;
32require Test2::EventFacet::Trace;
33
34require Test2::Hub;
35require Test2::Hub::Interceptor;
36require Test2::Hub::Subtest;
37require Test2::Hub::Interceptor::Terminator;
38
39my @loaded = grep { $INC{$_} } qw{
40    Test2/API.pm
41    Test2/API/Instance.pm
42    Test2/API/Context.pm
43    Test2/API/Stack.pm
44};
45
46require Test2::Tools::Tiny;
47
48Test2::Tools::Tiny::ok(!@loaded, "Test2::API was not loaded")
49    || Test2::Tools::Tiny::diag("Loaded: " . Dumper(\@loaded));
50
51Test2::Tools::Tiny::done_testing();
52