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 }, 47 assert => { 48 details => 'xxx', 49 pass => 1 50 }, 51 } 52 ], 53 }, 54 "Got facet data" 55); 56 57done_testing; 58