File: Subtest_todo.t

package info (click to toggle)
perl 5.28.1-6%2Bdeb10u1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 115,032 kB
  • sloc: perl: 599,825; ansic: 593,575; sh: 68,835; pascal: 8,034; cpp: 4,103; makefile: 2,506; xml: 2,410; yacc: 1,120; sed: 6; lisp: 1
file content (33 lines) | stat: -rw-r--r-- 932 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use strict;
use warnings;

use Test2::Tools::Tiny;

use Test2::API qw/run_subtest intercept/;

my $events = intercept {
    todo 'testing todo', sub {
        run_subtest(
            'fails in todo',
            sub {
                ok(1, 'first passes');
                ok(0, 'second fails');
            }
        );
    };
};

ok($events->[1],                 'Test2::Event::Subtest', 'subtest ran');
ok($events->[1]->effective_pass, 'Test2::Event::Subtest', 'subtest effective_pass is true');
ok($events->[1]->todo,           'testing todo',          'subtest todo is set to expected value');

my $subevents = $events->[1]->subevents;

is(scalar @$subevents, 3, 'got subevents in the subtest');

ok($subevents->[0]->facets->{assert}->pass, 'first event passed');

ok(!$subevents->[1]->facets->{assert}->pass, 'second event failed');
ok(!$subevents->[1]->causes_fail,    'second event does not cause failure');

done_testing;