|
NAMETest2::Util::Facets2Legacy - Convert facet data to the legacy event API. DESCRIPTIONThis module exports several subroutines from the older event API (see Test2::Event). These subroutines can be used as methods on any object that provides a custom facet_data() method. These subroutines can also be used as functions that take a facet data hashref as arguments. SYNOPSISAS METHODS package My::Event;
use Test2::Util::Facets2Legacy ':ALL';
sub facet_data { return { ... } }
Then to use it: my $e = My::Event->new(...);
my $causes_fail = $e->causes_fail;
my $summary = $e->summary;
....
AS FUNCTIONS use Test2::Util::Facets2Legacy ':ALL';
my $f = {
assert => { ... },
info => [{...}, ...],
control => {...},
...
};
my $causes_fail = causes_fail($f);
my $summary = summary($f);
NOTE ON CYCLESWhen used as methods, all these subroutines call "$e->facet_data()". The default facet_data() method in Test2::Event relies on the legacy methods this module emulates in order to work. As a result of this it is very easy to create infinite recursion bugs. These methods have cycle detection and will throw an exception early if a cycle is detected. uuid() is currently the only subroutine in this library that has a fallback behavior when cycles are detected. EXPORTSNothing is exported by default. You must specify which methods to import, or use the ':ALL' tag.
SOURCEThe source code repository for Test2 can be found at <https://github.com/Test-More/test-more/>. MAINTAINERSAUTHORSCOPYRIGHTCopyright 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 <https://dev.perl.org/licenses/>
|