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



NAME

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


DESCRIPTION

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


SYNOPSIS

    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();


ATTRIBUTES

$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 the Test2::EventFacet::Info manpage.

$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 the Test2::EventFacet::Info manpage.

%args = $t->info_args()
This returns the arguments that should be used to construct the proper the Test2::EventFacet::Info manpage structure.
    return (table => $t->as_hash(), details => $t->as_string());


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::EventFacet::Info::Table - Intermediary representation of a table.