1use strict; 2use warnings; 3 4use Test2::Tools::Tiny; 5 6use Test2::API qw/intercept/; 7 8tests in_eval => sub { 9 my $events = intercept { 10 eval { skip_all "foo" }; 11 die "Should not see this: $@"; 12 }; 13 14 is(@$events, 1, "got 1 event"); 15 ok($events->[0]->isa('Test2::Event::Plan'), "Plan is only event"); 16 is($events->[0]->directive, 'SKIP', "Plan is to skip"); 17}; 18 19tests no_eval => sub { 20 my $events = intercept { 21 skip_all "foo"; 22 die "Should not see this: $@"; 23 }; 24 25 is(@$events, 1, "got 1 event"); 26 ok($events->[0]->isa('Test2::Event::Plan'), "Plan is only event"); 27 is($events->[0]->directive, 'SKIP', "Plan is to skip"); 28}; 29 30tests in_require => sub { 31 my $events = intercept { 32 require './t/lib/SkipAll.pm'; 33 die "Should not see this: $@"; 34 }; 35 36 is(@$events, 1, "got 1 event"); 37 ok($events->[0]->isa('Test2::Event::Plan'), "Plan is only event"); 38 is($events->[0]->directive, 'SKIP', "Plan is to skip"); 39}; 40 41done_testing; 42