0
     ˆ¿¾ƒh¹ÁÀ      MAJOR=4
MINOR=45
DEVNAME=tty45
     	�_’I|¥‰ÓMjqØ‚¦ð¬÷ÂÁ      	File not found.
  /   ˆl–ß=¿JJj"T ÍÀ‚ã.©‹FÿÀƒd/»_‹uÐb&=LV[(ÄÃ }    package Test2::Event::Subtest;
use strict;
use warnings;

our $VERSION = '1.302183';

BEGIN { require Test2::Event::Ok; our @ISA = qw(Test2::Event::Ok) }
use Test2::Util::HashBase qw{subevents buffered subtest_id subtest_uuid};

sub init {
    my $self = shift;
    $self->SUPER::init();
    $self->{+SUBEVENTS} ||= [];
    if ($self->{+EFFECTIVE_PASS}) {
        $_->set_effective_pass(1) for grep { $_->can('effective_pass') } @{$self->{+SUBEVENTS}};
    }
}

{
    no warnings 'redefine';

    sub set_subevents {
        my $self      = shift;
        my @subevents = @_;

        if ($self->{+EFFECTIVE_PASS}) {
            $_->set_effective_pass(1) for grep { $_->can('effective_pass') } @subevents;
        }

        $self->{+SUBEVENTS} = \@subevents;
    }

    sub set_effective_pass {
        my $self = shift;
        my ($pass) = @_;

        if ($pass) {
            $_->set_effective_pass(1) for grep { $_->can('effective_pass') } @{$self->{+SUBEVENTS}};
        }
        elsif ($self->{+EFFECTIVE_PASS} && !$pass) {
            for my $s (grep { $_->can('effective_pass') } @{$self->{+SUBEVENTS}}) {
                $_->set_effective_pass(0) unless $s->can('todo') && defined $s->todo;
            }
        }

        $self->{+EFFECTIVE_PASS} = $pass;
    }
}

sub summary {
    my $self = shift;

    my $name = $self->{+NAME} || "Nameless Subtest";

    my $todo = $self->{+TODO};
    if ($todo) {
        $name .= " (TODO: $todo)";
    }
    elsif (defined $todo) {
        $name .= " (TODO)";
    }

    return $name;
}

sub facet_data {
    my $self = shift;

    my $out = $self->SUPER::facet_data();

    $out->{parent} = {
        hid      => $self->subtest_id,
        children => [map {$_->facet_data} @{$self->{+SUBEVENTS}}],
        buffered => $self->{+BUFFERED},
    };

    return $out;
}

sub add_amnesty {
    my $self = shift;

    for my $am (@_) {
        $am = {%$am} if ref($am) ne 'ARRAY';
        $am = Test2::EventFacet::Amnesty->new($am);

        push @{$self->{+AMNESTY}} => $am;

        for my $e (@{$self->{+SUBEVENTS}}) {
            $e->add_amnesty($am->clone(inherited => 1));
        }
    }
}


1;

__END__

=pod

=encoding UTF-8

=head1 NAME

Test2::Event::Subtest - Event for subtest types

=head1 DESCRIPTION

This class represents a subtest. This class is a subclass of
L<Test2::Event::Ok>.

=head1 ACCESSORS

This class inherits from L<Test2::Event::Ok>.

=over 4

=item $arrayref = $e->subevents

Returns the arrayref containing all the events from the subtest

=item $bool = $e->buffered

True if the subtest is buffered, that is all subevents render at once. If this
is false it means all subevents render as they are produced.

=back

=head1 SOURCE

The source code repository for Test2 can be found at
F<http://github.com/Test-More/test-more/>.

=head1 MAINTAINERS

=over 4

=item Chad Granum E<lt>exodist@cpan.orgE<gt>

=back

=head1 AUTHORS

=over 4

=item Chad Granum E<lt>exodist@cpan.orgE<gt>

=back

=head1 COPYRIGHT

Copyright 2020 Chad Granum E<lt>exodist@cpan.orgE<gt>.

This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

See F<http://dev.perl.org/licenses/>

=cut
     �Àa–Ým_J*j"Tâ€zàCp@S�ÿÄ      File not found.
  1   ˆl–Ým_Jµ!®Å8 ¸Èn 
bÑ¿Ã832_�uÐb&=LyZof¯ÀÆ @    ‹     eTMOã0½ûWŒr´4b‘Vâ€V[ Ý�¶j‚—I2M¬:vd;-üû;ý öÒÚ“ñ›÷ÞŒ�æ�O·£l~û{’Ã$—ð«×pyñõ[‰ì¬é=]òò�Ôýk"Dú’ÀOc¡4ÚIçI—oçÐ)BG°&ê Ãª’º+ëÆ*YkªÒÃ9zÅ–Óá$½�de$P =ÔhãcüNN¸`ö ³ñß‰ð²+GÎ”kòð2×˜md»Øig¬?©WÆ¶è¥ÑÃáìy6_dÓL¤X�©ÔðåŠ?y	£+ÁåðD±¦áØ|‘Oç³LÌ» åàt¥°vgàôP¢†‚X«sT1÷·mC–¸6&ö¦mƒž²A©Yz¾à2KH^FMç,m4jHu‰È‚†°,ØhPè<lØ³j�‘¾7í3ÙFl¥Rƒ»ø€¨«Cþ‰5i²¨bf
9sîŒ“A(˜UÔ`¢ì½"çmè©t ­%EÔ>|º›d·Ëi4KŒ?4„³-u–iÏ.oÌ	z›0Œì©&P‚?Y7¦gÓœGOŒT»�"t€ L-Kf‹„nƒÆ–€›`J‰¡ÆVú¤zk´¦2|Û—ÇÈ�g%-‡ÔÛ»�Þ0]Ãâí>¯´ÄcÅ6 gú‚Sâb*V�ßé÷F¸¦«Ý`òøìlYV‹AïWÅ=×ÇþõÜ_7ÕÆ|QŸÂÏF"ÿ=‹]�&OÓ²|œ?fbò*}ô¢wAùÈÕa`×—