1 package Test2::Util::Facets2Legacy;
5 our $VERSION = '1.302097';
7 use Carp qw/croak confess/;
8 use Scalar::Util qw/blessed/;
22 our %EXPORT_TAGS = ( ALL => \@EXPORT_OK );
24 our $CYCLE_DETECT = 0;
28 if (blessed($in) && $in->isa('Test2::Event')) {
29 confess "Cycle between Facets2Legacy and $in\->facet_data() (Did you forget to override the facet_data() method?)"
32 local $CYCLE_DETECT = 1;
33 return $in->facet_data;
36 return $in if ref($in) eq 'HASH';
38 croak "'$in' Does not appear to be either a Test::Event or an EventFacet hashref";
42 my $facet_data = _get_facet_data(shift @_);
44 return 1 if $facet_data->{errors} && grep { $_->{fail} } @{$facet_data->{errors}};
46 if (my $control = $facet_data->{control}) {
47 return 1 if $control->{halt};
48 return 1 if $control->{terminate};
51 return 0 if $facet_data->{amnesty} && @{$facet_data->{amnesty}};
52 return 1 if $facet_data->{assert} && !$facet_data->{assert}->{pass};
57 my $facet_data = _get_facet_data(shift @_);
58 return 1 if $facet_data->{errors} && @{$facet_data->{errors}};
59 return 0 unless $facet_data->{info} && @{$facet_data->{info}};
60 return (grep { $_->{debug} } @{$facet_data->{info}}) ? 1 : 0;
64 my $facet_data = _get_facet_data(shift @_);
65 return 0 unless $facet_data->{control};
66 return $facet_data->{control}->{global};
69 sub increments_count {
70 my $facet_data = _get_facet_data(shift @_);
71 return $facet_data->{assert} ? 1 : 0;
75 my $facet_data = _get_facet_data(shift @_);
76 return 0 unless $facet_data->{about};
77 return $facet_data->{about}->{no_display};
81 my $facet_data = _get_facet_data(shift @_);
82 my $plan = $facet_data->{plan} or return;
83 my @out = ($plan->{count} || 0);
87 push @out => $plan->{details} if defined $plan->{details};
89 elsif ($plan->{none}) {
90 push @out => 'NO PLAN'
97 my $facet_data = _get_facet_data(shift @_);
98 return undef unless $facet_data->{parent};
99 return $facet_data->{parent}->{hid};
103 my $facet_data = _get_facet_data(shift @_);
104 return '' unless $facet_data->{about} && $facet_data->{about}->{details};
105 return $facet_data->{about}->{details};
109 my $facet_data = _get_facet_data(shift @_);
110 return undef unless $facet_data->{control};
111 return $facet_data->{control}->{terminate};