xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Test2/modules/Event/Subtest.t (revision 256a93a44f36679bee503f12e49566c2183f6181)
15759b3d2Safresh1use strict;
25759b3d2Safresh1use warnings;
35759b3d2Safresh1
45759b3d2Safresh1use Test2::Tools::Tiny;
55759b3d2Safresh1use Test2::Event::Subtest;
65759b3d2Safresh1my $st = 'Test2::Event::Subtest';
75759b3d2Safresh1
85759b3d2Safresh1my $trace = Test2::EventFacet::Trace->new(frame => [__PACKAGE__, __FILE__, __LINE__, 'xxx']);
95759b3d2Safresh1my $one = $st->new(
105759b3d2Safresh1    trace     => $trace,
115759b3d2Safresh1    pass      => 1,
125759b3d2Safresh1    buffered  => 1,
135759b3d2Safresh1    name      => 'foo',
145759b3d2Safresh1    subtest_id => "1-1-1",
155759b3d2Safresh1);
165759b3d2Safresh1
175759b3d2Safresh1ok($one->isa('Test2::Event::Ok'), "Inherit from Ok");
185759b3d2Safresh1is_deeply($one->subevents, [], "subevents is an arrayref");
195759b3d2Safresh1
205759b3d2Safresh1is($one->summary, "foo", "simple summary");
215759b3d2Safresh1$one->set_todo('');
225759b3d2Safresh1is($one->summary, "foo (TODO)", "simple summary + TODO");
235759b3d2Safresh1$one->set_todo('foo');
245759b3d2Safresh1is($one->summary, "foo (TODO: foo)", "simple summary + TODO + Reason");
255759b3d2Safresh1
265759b3d2Safresh1$one->set_todo(undef);
275759b3d2Safresh1$one->set_name('');
285759b3d2Safresh1is($one->summary, "Nameless Subtest", "unnamed summary");
295759b3d2Safresh1
305759b3d2Safresh1require Test2::Event::Pass;
315759b3d2Safresh1push @{$one->subevents} => Test2::Event::Pass->new(name => 'xxx');
325759b3d2Safresh1
335759b3d2Safresh1my $facet_data = $one->facet_data;
345759b3d2Safresh1ok($facet_data->{about}, "got parent facet data");
355759b3d2Safresh1
365759b3d2Safresh1is_deeply(
375759b3d2Safresh1    $facet_data->{parent},
385759b3d2Safresh1    {
395759b3d2Safresh1        hid      => "1-1-1",
405759b3d2Safresh1        buffered => 1,
415759b3d2Safresh1        children => [
425759b3d2Safresh1            {
435759b3d2Safresh1                about => {
445759b3d2Safresh1                    details => 'pass',
45f3efcd01Safresh1                    package => 'Test2::Event::Pass',
46f3efcd01Safresh1                    eid     => $one->subevents->[0]->eid,
475759b3d2Safresh1                },
485759b3d2Safresh1                assert => {
495759b3d2Safresh1                    details => 'xxx',
505759b3d2Safresh1                    pass    => 1
515759b3d2Safresh1                },
525759b3d2Safresh1            }
535759b3d2Safresh1        ],
545759b3d2Safresh1    },
555759b3d2Safresh1    "Got facet data"
565759b3d2Safresh1);
575759b3d2Safresh1
58*256a93a4Safresh1$one->{start_stamp} = 123;
59*256a93a4Safresh1$one->{stop_stamp} = 456;
60*256a93a4Safresh1
61*256a93a4Safresh1$facet_data = $one->facet_data;
62*256a93a4Safresh1is_deeply(
63*256a93a4Safresh1    $facet_data->{parent},
64*256a93a4Safresh1    {
65*256a93a4Safresh1        hid      => "1-1-1",
66*256a93a4Safresh1        buffered => 1,
67*256a93a4Safresh1        start_stamp => 123,
68*256a93a4Safresh1        stop_stamp  => 456,
69*256a93a4Safresh1        children => [
70*256a93a4Safresh1            {
71*256a93a4Safresh1                about => {
72*256a93a4Safresh1                    details => 'pass',
73*256a93a4Safresh1                    package => 'Test2::Event::Pass',
74*256a93a4Safresh1                    eid     => $one->subevents->[0]->eid,
75*256a93a4Safresh1                },
76*256a93a4Safresh1                assert => {
77*256a93a4Safresh1                    details => 'xxx',
78*256a93a4Safresh1                    pass    => 1
79*256a93a4Safresh1                },
80*256a93a4Safresh1            }
81*256a93a4Safresh1        ],
82*256a93a4Safresh1    },
83*256a93a4Safresh1    "Got facet data with stamps"
84*256a93a4Safresh1);
85*256a93a4Safresh1
86*256a93a4Safresh1
875759b3d2Safresh1done_testing;
88