xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/lib/Test2/EventFacet/Info.pm (revision 5486feefcc8cb79b19e014ab332cc5dfd05b3b33)
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