Test2::Event::V2 - Second generation event.



NAME

Test2::Event::V2 - Second generation event.


DESCRIPTION

This is the event type that should be used instead of the Test2::Event manpage or its legacy subclasses.


SYNOPSIS

USING A CONTEXT

    use Test2::API qw/context/;
    sub my_tool {
        my $ctx = context();
        my $event = $ctx->send_ev2(info => [{tag => 'NOTE', details => "This is a note"}]);
        $ctx->release;
        return $event;
    }

USING THE CONSTRUCTOR

    use Test2::Event::V2;
    my $e = Test2::Event::V2->new(
        trace => {frame => [$PKG, $FILE, $LINE, $SUBNAME]},
        info  => [{tag => 'NOTE', details => "This is a note"}],
    );


METHODS

This class inherits from the Test2::Event manpage.

$fd = $e->facet_data()
This will return a hashref of facet data. Each facet hash will be a shallow copy of the original.

$about = $e->about()
This will return the 'about' facet hashref.

NOTE: This will return the internal hashref, not a copy.

$trace = $e->trace()
This will return the 'trace' facet, normally blessed (but this is not enforced when the trace is set using set_trace().

NOTE: This will return the internal trace, not a copy.

MUTATION

$e->add_amnesty({...})
Inherited from the Test2::Event manpage. This can be used to add 'amnesty' facets to an existing event. Each new item is added to the END of the list.

NOTE: Items ARE blessed when added.

$e->add_hub({...})
Inherited from the Test2::Event manpage. This is used by hubs to stamp events as they pass through. New items are added to the START of the list.

NOTE: Items ARE NOT blessed when added.

$e->set_uuid($UUID)
Inherited from the Test2::Event manpage, overridden to also vivify/mutate the 'about' facet.

$e->set_trace($trace)
Inherited from the Test2::Event manpage which allows you to change the trace.

Note: This method does not bless/clone the trace for you. Many things will expect the trace to be blessed, so you should probably do that.

LEGACY SUPPORT METHODS

These are all imported from the Test2::Util::Facets2Legacy manpage, see that module or the Test2::Event manpage for documentation on what they do.

causes_fail
diagnostics
global
increments_count
no_display
sets_plan
subtest_id
summary
terminate


THIRD PARTY META-DATA

This object consumes the Test2::Util::ExternalMeta manpage which provides a consistent way for you to attach meta-data to instances of this class. This is useful for tools, plugins, and other extensions.


SOURCE

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


MAINTAINERS

Chad Granum <exodist@cpan.org>


AUTHORS

Chad Granum <exodist@cpan.org>


COPYRIGHT

Copyright 2019 Chad Granum <exodist@cpan.org>.

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

See http://dev.perl.org/licenses/

 Test2::Event::V2 - Second generation event.