summaryrefslogtreecommitdiffstats
path: root/upstream/debian-unstable/man3/Test2::Formatter.3perl
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/debian-unstable/man3/Test2::Formatter.3perl')
-rw-r--r--upstream/debian-unstable/man3/Test2::Formatter.3perl166
1 files changed, 166 insertions, 0 deletions
diff --git a/upstream/debian-unstable/man3/Test2::Formatter.3perl b/upstream/debian-unstable/man3/Test2::Formatter.3perl
new file mode 100644
index 00000000..8ee3dc95
--- /dev/null
+++ b/upstream/debian-unstable/man3/Test2::Formatter.3perl
@@ -0,0 +1,166 @@
+.\" -*- 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::Formatter 3perl"
+.TH Test2::Formatter 3perl 2024-01-12 "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::Formatter \- Namespace for formatters.
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+This is the namespace for formatters. This is an empty package.
+.SH "CREATING FORMATTERS"
+.IX Header "CREATING FORMATTERS"
+A formatter is any package or object with a \f(CW\*(C`write($event, $num)\*(C'\fR method.
+.PP
+.Vb 3
+\& package Test2::Formatter::Foo;
+\& use strict;
+\& use warnings;
+\&
+\& sub write {
+\& my $self_or_class = shift;
+\& my ($event, $assert_num) = @_;
+\& ...
+\& }
+\&
+\& sub hide_buffered { 1 }
+\&
+\& sub terminate { }
+\&
+\& sub finalize { }
+\&
+\& sub supports_tables { return $BOOL }
+\&
+\& sub new_root {
+\& my $class = shift;
+\& ...
+\& $class\->new(@_);
+\& }
+\&
+\& 1;
+.Ve
+.PP
+The \f(CW\*(C`write\*(C'\fR method is a method, so it either gets a class or instance. The two
+arguments are the \f(CW$event\fR object it should record, and the \f(CW$assert_num\fR
+which is the number of the current assertion (ok), or the last assertion if
+this event is not itself an assertion. The assertion number may be any integer 0
+or greater, and may be undefined in some cases.
+.PP
+The \f(CWhide_buffered()\fR method must return a boolean. This is used to tell
+buffered subtests whether or not to send it events as they are being buffered.
+See "run_subtest(...)" in Test2::API for more information.
+.PP
+The \f(CW\*(C`terminate\*(C'\fR and \f(CW\*(C`finalize\*(C'\fR methods are optional methods called that you
+can implement if the format you're generating needs to handle these cases, for
+example if you are generating XML and need close open tags.
+.PP
+The \f(CW\*(C`terminate\*(C'\fR method is called when an event's \f(CW\*(C`terminate\*(C'\fR method returns
+true, for example when a Test2::Event::Plan has a \f(CW\*(Aqskip_all\*(Aq\fR plan, or
+when a Test2::Event::Bail event is sent. The \f(CW\*(C`terminate\*(C'\fR method is passed
+a single argument, the Test2::Event object which triggered the terminate.
+.PP
+The \f(CW\*(C`finalize\*(C'\fR method is always the last thing called on the formatter, \fIexcept when \fR\f(CI\*(C`terminate\*(C'\fR\fI is called for a Bail event\fR. It is passed the
+following arguments:
+.PP
+The \f(CW\*(C`supports_tables\*(C'\fR method should be true if the formatter supports directly
+rendering table data from the \f(CW\*(C`info\*(C'\fR facets. This is a newer feature and many
+older formatters may not support it. When not supported the formatter falls
+back to rendering \f(CW\*(C`detail\*(C'\fR instead of the \f(CW\*(C`table\*(C'\fR data.
+.PP
+The \f(CW\*(C`new_root\*(C'\fR method is used when constructing a root formatter. The default
+is to just delegate to the regular \f(CWnew()\fR method, most formatters can ignore
+this.
+.IP \(bu 4
+The number of tests that were planned
+.IP \(bu 4
+The number of tests actually seen
+.IP \(bu 4
+The number of tests which failed
+.IP \(bu 4
+A boolean indicating whether or not the test suite passed
+.IP \(bu 4
+A boolean indicating whether or not this call is for a subtest
+.PP
+The \f(CW\*(C`new_root\*(C'\fR method is called when \f(CW\*(C`Test2::API::Stack\*(C'\fR Initializes the root
+hub for the first time. Most formatters will simply have this call \f(CW\*(C`$class\->new\*(C'\fR, which is the default behavior. Some formatters however may want
+to take extra action during construction of the root formatter, this is where
+they can do that.
+.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 <exodist@cpan.org>" 4
+.IX Item "Chad Granum <exodist@cpan.org>"
+.SH AUTHORS
+.IX Header "AUTHORS"
+.PD 0
+.IP "Chad Granum <exodist@cpan.org>" 4
+.IX Item "Chad Granum <exodist@cpan.org>"
+.PD
+.SH COPYRIGHT
+.IX Header "COPYRIGHT"
+Copyright 2020 Chad Granum <exodist@cpan.org>.
+.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