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