1use strict;
2use warnings;
3
4use Test::More;
5use Test2::API qw/intercept/;
6
7my @warnings;
8
9intercept {
10    SKIP: {
11        local $SIG{__WARN__} = sub { @warnings = @_ };
12        skip 'Skipping this test' if 1;
13        my $var = 'abc';
14        is $var, 'abc';
15    }
16};
17
18ok(!@warnings, "did not warn when waiting for done_testing");
19
20intercept {
21    SKIP: {
22        local $SIG{__WARN__} = sub { @warnings = @_ };
23        plan 'no_plan';
24        skip 'Skipping this test' if 1;
25        my $var = 'abc';
26        is $var, 'abc';
27    }
28};
29
30ok(!@warnings, "did not warn with 'no_plan'");
31
32intercept {
33    SKIP: {
34        local $SIG{__WARN__} = sub { @warnings = @_ };
35        plan tests => 1;
36        skip 'Skipping this test' if 1;
37        my $var = 'abc';
38        is $var, 'abc';
39    }
40};
41
42is(@warnings, 1, "warned with static plan");
43like(
44    $warnings[0],
45    qr/skip\(\) needs to know \$how_many tests are in the block/,
46    "Got expected warning"
47);
48
49done_testing;
50