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