15759b3d2Safresh1package Test2::EventFacet::Info; 25759b3d2Safresh1use strict; 35759b3d2Safresh1use warnings; 45759b3d2Safresh1 5*5486feefSafresh1our $VERSION = '1.302199'; 65759b3d2Safresh1 75759b3d2Safresh1sub is_list { 1 } 85759b3d2Safresh1 95759b3d2Safresh1BEGIN { require Test2::EventFacet; our @ISA = qw(Test2::EventFacet) } 10f3efcd01Safresh1use Test2::Util::HashBase qw{-tag -debug -important -table}; 115759b3d2Safresh1 125759b3d2Safresh11; 135759b3d2Safresh1 145759b3d2Safresh1__END__ 155759b3d2Safresh1 165759b3d2Safresh1=pod 175759b3d2Safresh1 185759b3d2Safresh1=encoding UTF-8 195759b3d2Safresh1 205759b3d2Safresh1=head1 NAME 215759b3d2Safresh1 225759b3d2Safresh1Test2::EventFacet::Info - Facet for information a developer might care about. 235759b3d2Safresh1 245759b3d2Safresh1=head1 DESCRIPTION 255759b3d2Safresh1 265759b3d2Safresh1This facet represents messages intended for humans that will help them either 275759b3d2Safresh1understand a result, or diagnose a failure. 285759b3d2Safresh1 295759b3d2Safresh1=head1 NOTES 305759b3d2Safresh1 315759b3d2Safresh1This facet appears in a list instead of being a single item. 325759b3d2Safresh1 335759b3d2Safresh1=head1 FIELDS 345759b3d2Safresh1 355759b3d2Safresh1=over 4 365759b3d2Safresh1 375759b3d2Safresh1=item $string_or_structure = $info->{details} 385759b3d2Safresh1 395759b3d2Safresh1=item $string_or_structure = $info->details() 405759b3d2Safresh1 415759b3d2Safresh1Human readable string or data structure, this is the information to display. 425759b3d2Safresh1Formatters are free to render the structures however they please. This may 435759b3d2Safresh1contain a blessed object. 445759b3d2Safresh1 45f3efcd01Safresh1If the C<table> attribute (see below) is set then a renderer may choose to 46f3efcd01Safresh1display the table instead of the details. 47f3efcd01Safresh1 48f3efcd01Safresh1=item $structure = $info->{table} 49f3efcd01Safresh1 50f3efcd01Safresh1=item $structure = $info->table() 51f3efcd01Safresh1 52f3efcd01Safresh1If the data the C<info> facet needs to convey can be represented as a table 53f3efcd01Safresh1then the data may be placed in this attribute in a more raw form for better 54f3efcd01Safresh1display. The data must also be represented in the C<details> attribute for 55f3efcd01Safresh1renderers which do not support rendering tables directly. 56f3efcd01Safresh1 57f3efcd01Safresh1The table structure: 58f3efcd01Safresh1 59f3efcd01Safresh1 my %table = { 60f3efcd01Safresh1 header => [ 'column 1 header', 'column 2 header', ... ], # Optional 61f3efcd01Safresh1 62f3efcd01Safresh1 rows => [ 63f3efcd01Safresh1 ['row 1 column 1', 'row 1, column 2', ... ], 64f3efcd01Safresh1 ['row 2 column 1', 'row 2, column 2', ... ], 65f3efcd01Safresh1 ... 66f3efcd01Safresh1 ], 67f3efcd01Safresh1 68f3efcd01Safresh1 # Allow the renderer to hide empty columns when true, Optional 69f3efcd01Safresh1 collapse => $BOOL, 70f3efcd01Safresh1 71f3efcd01Safresh1 # List by name or number columns that should never be collapsed 72f3efcd01Safresh1 no_collapse => \@LIST, 73f3efcd01Safresh1 } 74f3efcd01Safresh1 755759b3d2Safresh1=item $short_string = $info->{tag} 765759b3d2Safresh1 775759b3d2Safresh1=item $short_string = $info->tag() 785759b3d2Safresh1 795759b3d2Safresh1Short tag to categorize the info. This is usually 10 characters or less, 805759b3d2Safresh1formatters may truncate longer tags. 815759b3d2Safresh1 825759b3d2Safresh1=item $bool = $info->{debug} 835759b3d2Safresh1 845759b3d2Safresh1=item $bool = $info->debug() 855759b3d2Safresh1 865759b3d2Safresh1Set this to true if the message is critical, or explains a failure. This is 875759b3d2Safresh1info that should be displayed by formatters even in less-verbose modes. 885759b3d2Safresh1 895759b3d2Safresh1When false the information is not considered critical and may not be rendered 905759b3d2Safresh1in less-verbose modes. 915759b3d2Safresh1 925759b3d2Safresh1=item $bool = $info->{important} 935759b3d2Safresh1 945759b3d2Safresh1=item $bool = $info->important 955759b3d2Safresh1 965759b3d2Safresh1This should be set for non debug messages that are still important enough to 975759b3d2Safresh1show when a formatter is in quiet mode. A formatter should send these to STDOUT 985759b3d2Safresh1not STDERR, but should show them even in non-verbose mode. 995759b3d2Safresh1 1005759b3d2Safresh1=back 1015759b3d2Safresh1 1025759b3d2Safresh1=head1 SOURCE 1035759b3d2Safresh1 1045759b3d2Safresh1The source code repository for Test2 can be found at 105*5486feefSafresh1L<https://github.com/Test-More/test-more/>. 1065759b3d2Safresh1 1075759b3d2Safresh1=head1 MAINTAINERS 1085759b3d2Safresh1 1095759b3d2Safresh1=over 4 1105759b3d2Safresh1 1115759b3d2Safresh1=item Chad Granum E<lt>exodist@cpan.orgE<gt> 1125759b3d2Safresh1 1135759b3d2Safresh1=back 1145759b3d2Safresh1 1155759b3d2Safresh1=head1 AUTHORS 1165759b3d2Safresh1 1175759b3d2Safresh1=over 4 1185759b3d2Safresh1 1195759b3d2Safresh1=item Chad Granum E<lt>exodist@cpan.orgE<gt> 1205759b3d2Safresh1 1215759b3d2Safresh1=back 1225759b3d2Safresh1 1235759b3d2Safresh1=head1 COPYRIGHT 1245759b3d2Safresh1 125256a93a4Safresh1Copyright 2020 Chad Granum E<lt>exodist@cpan.orgE<gt>. 1265759b3d2Safresh1 1275759b3d2Safresh1This program is free software; you can redistribute it and/or 1285759b3d2Safresh1modify it under the same terms as Perl itself. 1295759b3d2Safresh1 130*5486feefSafresh1See L<https://dev.perl.org/licenses/> 1315759b3d2Safresh1 1325759b3d2Safresh1=cut 133