.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Test2::EventFacet::Info 3perl" .TH Test2::EventFacet::Info 3perl 2023-11-30 "perl v5.38.2" "Perl Programmers Reference Guide" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Test2::EventFacet::Info \- Facet for information a developer might care about. .SH DESCRIPTION .IX Header "DESCRIPTION" This facet represents messages intended for humans that will help them either understand a result, or diagnose a failure. .SH NOTES .IX Header "NOTES" This facet appears in a list instead of being a single item. .SH FIELDS .IX Header "FIELDS" .ie n .IP "$string_or_structure = $info\->{details}" 4 .el .IP "\f(CW$string_or_structure\fR = \f(CW$info\fR\->{details}" 4 .IX Item "$string_or_structure = $info->{details}" .PD 0 .ie n .IP "$string_or_structure = $info\->\fBdetails()\fR" 4 .el .IP "\f(CW$string_or_structure\fR = \f(CW$info\fR\->\fBdetails()\fR" 4 .IX Item "$string_or_structure = $info->details()" .PD Human readable string or data structure, this is the information to display. Formatters are free to render the structures however they please. This may contain a blessed object. .Sp If the \f(CW\*(C`table\*(C'\fR attribute (see below) is set then a renderer may choose to display the table instead of the details. .ie n .IP "$structure = $info\->{table}" 4 .el .IP "\f(CW$structure\fR = \f(CW$info\fR\->{table}" 4 .IX Item "$structure = $info->{table}" .PD 0 .ie n .IP "$structure = $info\->\fBtable()\fR" 4 .el .IP "\f(CW$structure\fR = \f(CW$info\fR\->\fBtable()\fR" 4 .IX Item "$structure = $info->table()" .PD If the data the \f(CW\*(C`info\*(C'\fR facet needs to convey can be represented as a table then the data may be placed in this attribute in a more raw form for better display. The data must also be represented in the \f(CW\*(C`details\*(C'\fR attribute for renderers which do not support rendering tables directly. .Sp The table structure: .Sp .Vb 2 \& my %table = { \& header => [ \*(Aqcolumn 1 header\*(Aq, \*(Aqcolumn 2 header\*(Aq, ... ], # Optional \& \& rows => [ \& [\*(Aqrow 1 column 1\*(Aq, \*(Aqrow 1, column 2\*(Aq, ... ], \& [\*(Aqrow 2 column 1\*(Aq, \*(Aqrow 2, column 2\*(Aq, ... ], \& ... \& ], \& \& # Allow the renderer to hide empty columns when true, Optional \& collapse => $BOOL, \& \& # List by name or number columns that should never be collapsed \& no_collapse => \e@LIST, \& } .Ve .ie n .IP "$short_string = $info\->{tag}" 4 .el .IP "\f(CW$short_string\fR = \f(CW$info\fR\->{tag}" 4 .IX Item "$short_string = $info->{tag}" .PD 0 .ie n .IP "$short_string = $info\->\fBtag()\fR" 4 .el .IP "\f(CW$short_string\fR = \f(CW$info\fR\->\fBtag()\fR" 4 .IX Item "$short_string = $info->tag()" .PD Short tag to categorize the info. This is usually 10 characters or less, formatters may truncate longer tags. .ie n .IP "$bool = $info\->{debug}" 4 .el .IP "\f(CW$bool\fR = \f(CW$info\fR\->{debug}" 4 .IX Item "$bool = $info->{debug}" .PD 0 .ie n .IP "$bool = $info\->\fBdebug()\fR" 4 .el .IP "\f(CW$bool\fR = \f(CW$info\fR\->\fBdebug()\fR" 4 .IX Item "$bool = $info->debug()" .PD Set this to true if the message is critical, or explains a failure. This is info that should be displayed by formatters even in less-verbose modes. .Sp When false the information is not considered critical and may not be rendered in less-verbose modes. .ie n .IP "$bool = $info\->{important}" 4 .el .IP "\f(CW$bool\fR = \f(CW$info\fR\->{important}" 4 .IX Item "$bool = $info->{important}" .PD 0 .ie n .IP "$bool = $info\->important" 4 .el .IP "\f(CW$bool\fR = \f(CW$info\fR\->important" 4 .IX Item "$bool = $info->important" .PD This should be set for non debug messages that are still important enough to show when a formatter is in quiet mode. A formatter should send these to STDOUT not STDERR, but should show them even in non-verbose mode. .SH SOURCE .IX Header "SOURCE" The source code repository for Test2 can be found at \&\fIhttp://github.com/Test\-More/test\-more/\fR. .SH MAINTAINERS .IX Header "MAINTAINERS" .IP "Chad Granum " 4 .IX Item "Chad Granum " .SH AUTHORS .IX Header "AUTHORS" .PD 0 .IP "Chad Granum " 4 .IX Item "Chad Granum " .PD .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright 2020 Chad Granum . .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .PP See \fIhttp://dev.perl.org/licenses/\fR