HEX
Server: Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System: Linux ns565604.ip-54-39-133.net 4.18.0-553.50.1.el8_10.x86_64 #1 SMP Tue Apr 15 08:09:22 EDT 2025 x86_64
User: greer489 (1034)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: //usr/share/doc/perl-Test-Simple/t/Legacy/Bugs/629.t
use strict;
use warnings;

use Test::More;
use Test2::API qw/intercept/;

my @warnings;

intercept {
    SKIP: {
        local $SIG{__WARN__} = sub { @warnings = @_ };
        skip 'Skipping this test' if 1;
        my $var = 'abc';
        is $var, 'abc';
    }
};

ok(!@warnings, "did not warn when waiting for done_testing");

intercept {
    SKIP: {
        local $SIG{__WARN__} = sub { @warnings = @_ };
        plan 'no_plan';
        skip 'Skipping this test' if 1;
        my $var = 'abc';
        is $var, 'abc';
    }
};

ok(!@warnings, "did not warn with 'no_plan'");

intercept {
    SKIP: {
        local $SIG{__WARN__} = sub { @warnings = @_ };
        plan tests => 1;
        skip 'Skipping this test' if 1;
        my $var = 'abc';
        is $var, 'abc';
    }
};

is(@warnings, 1, "warned with static plan");
like(
    $warnings[0],
    qr/skip\(\) needs to know \$how_many tests are in the block/,
    "Got expected warning"
);

done_testing;