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
58done_testing;
59