# phpman > perldoc > Test2::EventFacet::Info::Table

## NAME
    [Test2::EventFacet::Info::Table](https://www.chedong.com/phpMan.php/perldoc/Test2%3A%3AEventFacet%3A%3AInfo%3A%3ATable/markdown) - Intermediary representation of a table.

## DESCRIPTION
    Intermediary representation of a table for use in specialized [Test::API::Context](https://www.chedong.com/phpMan.php/perldoc/Test%3A%3AAPI%3A%3AContext/markdown) methods which
    generate [Test2::EventFacet::Info](https://www.chedong.com/phpMan.php/perldoc/Test2%3A%3AEventFacet%3A%3AInfo/markdown) facets.

## SYNOPSIS
        use [Test2::EventFacet::Info::Table](https://www.chedong.com/phpMan.php/perldoc/Test2%3A%3AEventFacet%3A%3AInfo%3A%3ATable/markdown);
        use [Test2::API](https://www.chedong.com/phpMan.php/perldoc/Test2%3A%3AAPI/markdown) qw/context/;

        sub my_tool {
            my $ctx = context();

            ...

            $ctx->fail(
                $name,
                "failure diag message",
                [Test2::EventFacet::Info::Table](https://www.chedong.com/phpMan.php/perldoc/Test2%3A%3AEventFacet%3A%3AInfo%3A%3ATable/markdown)->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
        [Test2::EventFacet::Info](https://www.chedong.com/phpMan.php/perldoc/Test2%3A%3AEventFacet%3A%3AInfo/markdown).

    $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](https://www.chedong.com/phpMan.php/perldoc/Test2%3A%3AEventFacet%3A%3AInfo/markdown).

    %args = $t->info_args()
        This returns the arguments that should be used to construct the proper
        [Test2::EventFacet::Info](https://www.chedong.com/phpMan.php/perldoc/Test2%3A%3AEventFacet%3A%3AInfo/markdown) 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 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 <http://dev.perl.org/licenses/>

