```{index} single: Test2::Event::V2 ``` # Test2::Event::V2 Second generation event. ## DESCRIPTION This is the event type that should be used instead of [Test2::Event](../Event.md) or its legacy subclasses. ## SYNOPSIS ### USING A CONTEXT ```perl 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 ```perl 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 [Test2::Event](../Event.md). - $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 [Test2::Event](../Event.md). 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 [Test2::Event](../Event.md). 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 [Test2::Event](../Event.md), overridden to also vivify/mutate the 'about' facet. - $e->set\_trace($trace) Inherited from [Test2::Event](../Event.md) 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 [Test2::Util::Facets2Legacy](../Util/Facets2Legacy.md), see that module or [Test2::Event](../Event.md) 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 [Test2::Util::ExternalMeta](../Util/ExternalMeta.md) 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 [https://github.com/Test-More/test-more/](https://github.com/Test-More/test-more/). ## MAINTAINERS - Chad Granum ## AUTHORS - Chad Granum ## COPYRIGHT Copyright Chad Granum . This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See [https://dev.perl.org/licenses/](https://dev.perl.org/licenses/)