Test2::EventFacet::Info::Table(3perl) Perl Programmers Reference Guide Test2::EventFacet::Info::Table(3perl)

Test2::EventFacet::Info::Table - Intermediary representation of a table.

Intermediary representation of a table for use in specialized Test::API::Context methods which generate Test2::EventFacet::Info facets.

use Test2::EventFacet::Info::Table;
use Test2::API qw/context/;
sub my_tool {
    my $ctx = context();
    ...
    $ctx->fail(
        $name,
        "failure diag message",
        Test2::EventFacet::Info::Table->new(
            # Required
            rows => [['a', 'b'], ['c', 'd'], ...],
            # Strongly Recommended
            as_string => "... string to print when table cannot be rendered ...",
            # Optional
            header => ['col1', 'col2'],
            collapse => $bool,
            no_collapse => ['col1', ...],
        ),
    );
    ...
    $ctx->release;
}
my_tool();

$header_aref = $t->header()
$rows_aref = $t->rows()
$bool = $t->collapse()
$aref = $t->no_collapse()
The above are all directly tied to the table hashref structure described in Test2::EventFacet::Info.
$str = $t->as_string()
This returns the string form of the table if it was set, otherwise it returns the string "<TABLE NOT DISPLAYED>".
$href = $t->as_hash()
This returns the data structure used for tables by Test2::EventFacet::Info.
%args = $t->info_args()
This returns the arguments that should be used to construct the proper Test2::EventFacet::Info structure.
return (table => $t->as_hash(), details => $t->as_string());

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

Copyright 2020 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/

2024-09-01 perl v5.40.0