xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Test2/behavior/Subtest_todo.t (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
1use strict;
2use warnings;
3
4use Test2::Tools::Tiny;
5
6use Test2::API qw/run_subtest intercept/;
7
8my $events = intercept {
9    todo 'testing todo', sub {
10        run_subtest(
11            'fails in todo',
12            sub {
13                ok(1, 'first passes');
14                ok(0, 'second fails');
15            }
16        );
17    };
18};
19
20ok($events->[1],                 'Test2::Event::Subtest', 'subtest ran');
21ok($events->[1]->effective_pass, 'Test2::Event::Subtest', 'subtest effective_pass is true');
22ok($events->[1]->todo,           'testing todo',          'subtest todo is set to expected value');
23
24my $subevents = $events->[1]->subevents;
25
26is(scalar @$subevents, 3, 'got subevents in the subtest');
27
28ok($subevents->[0]->facets->{assert}->pass, 'first event passed');
29
30ok(!$subevents->[1]->facets->{assert}->pass, 'second event failed');
31ok(!$subevents->[1]->causes_fail,    'second event does not cause failure');
32
33done_testing;
34