xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Test2/modules/Event/Subtest.t (revision 256a93a44f36679bee503f12e49566c2183f6181)
1use strict;
2use warnings;
3
4use Test2::Tools::Tiny;
5use Test2::Event::Subtest;
6my $st = 'Test2::Event::Subtest';
7
8my $trace = Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'xxx']);
9my $one = $st->new(
10    trace     => $trace,
11    pass      => 1,
12    buffered  => 1,
13    name      => 'foo',
14    subtest_id => "1-1-1",
15);
16
17ok($one->isa('Test2::Event::Ok'), "Inherit from Ok");
18is_deeply($one->subevents, [], "subevents is an arrayref");
19
20is($one->summary, "foo", "simple summary");
21$one->set_todo('');
22is($one->summary, "foo (TODO)", "simple summary + TODO");
23$one->set_todo('foo');
24is($one->summary, "foo (TODO: foo)", "simple summary + TODO + Reason");
25
26$one->set_todo(undef);
27$one->set_name('');
28is($one->summary, "Nameless Subtest", "unnamed summary");
29
30require Test2::Event::Pass;
31push @{$one->subevents} => Test2::Event::Pass->new(name => 'xxx');
32
33my $facet_data = $one->facet_data;
34ok($facet_data->{about}, "got parent facet data");
35
36is_deeply(
37    $facet_data->{parent},
38    {
39        hid      => "1-1-1",
40        buffered => 1,
41        children => [
42            {
43                about => {
44                    details => 'pass',
45                    package => 'Test2::Event::Pass',
46                    eid     => $one->subevents->[0]->eid,
47                },
48                assert => {
49                    details => 'xxx',
50                    pass    => 1
51                },
52            }
53        ],
54    },
55    "Got facet data"
56);
57
58$one->{start_stamp} = 123;
59$one->{stop_stamp} = 456;
60
61$facet_data = $one->facet_data;
62is_deeply(
63    $facet_data->{parent},
64    {
65        hid      => "1-1-1",
66        buffered => 1,
67        start_stamp => 123,
68        stop_stamp  => 456,
69        children => [
70            {
71                about => {
72                    details => 'pass',
73                    package => 'Test2::Event::Pass',
74                    eid     => $one->subevents->[0]->eid,
75                },
76                assert => {
77                    details => 'xxx',
78                    pass    => 1
79                },
80            }
81        ],
82    },
83    "Got facet data with stamps"
84);
85
86
87done_testing;
88