Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
TAP::Parser::Result::TePerl)Programmers	Reference TAP::Parser::Result::Test(3)

       TAP::Parser::Result::Test - Test	result token.

       Version 3.42

       This is a subclass of TAP::Parser::Result.  A token of this class will
       be returned if a	test line is encountered.

	ok 1 - woo hooo!

       This class is the workhorse of the TAP::Parser system.  Most TAP	lines
       will be test lines and if "$result->is_test", then you have a bunch of
       methods at your disposal.

   Instance Methods

	 my $ok	= $result->ok;

       Returns the literal text	of the "ok" or "not ok"	status.


	 my $test_number = $result->number;

       Returns the number of the test, even if the original TAP	output did not
       supply that number.


	 my $description = $result->description;

       Returns the description of the test, if any.  This is the portion after
       the test	number but before the directive.


	 my $directive = $result->directive;

       Returns either "TODO" or	"SKIP" if either directive was present for a
       test line.


	 my $explanation = $result->explanation;

       If a test had either a "TODO" or	"SKIP" directive, this method will
       return the accompanying explanation, if present.

	 not ok	17 - 'Pigs can fly' # TODO not enough acid

       For the above line, the explanation is not enough acid.


	 if ( $result->is_ok ) { ... }

       Returns a boolean value indicating whether or not the test passed.
       Remember	that for TODO tests, the test always passes.

       If the test is unplanned, this method will always return	false.	See


	 if ( $result->is_actual_ok ) {	... }

       Returns a boolean value indicating whether or not the test passed,
       regardless of its TODO status.


       Deprecated.  Please use "is_actual_ok" instead.


	 if ( $test->todo_passed ) {
	    # test unexpectedly	succeeded

       If this is a TODO test and an 'ok' line,	this method returns true.
       Otherwise, it will always return	false (regardless of passing status on
       non-todo	tests).

       This is used to track which tests unexpectedly succeeded.


	 # deprecated in favor of 'todo_passed'.  This method was horribly misnamed.

       This was	a badly	misnamed method.  It indicates which TODO tests
       unexpectedly succeeded.	Will now issue a warning and call


	 if ( $result->has_skip	) { ...	}

       Returns a boolean value indicating whether or not this test has a SKIP


	 if ( $result->has_todo	) { ...	}

       Returns a boolean value indicating whether or not this test has a TODO


	 print $result->as_string;

       This method prints the test as a	string.	 It will probably be similar,
       but not necessarily identical, to the original test line.  Directives
       are capitalized,	some whitespace	may be trimmed and a test number will
       be added	if it was not present in the original line.  If	you need the
       original	text of	the test line, use the "raw" method.


	 if ( $test->is_unplanned ) { ... }

       If a test number	is greater than	the number of planned tests, this
       method will return true.	 Unplanned tests will always return false for
       "is_ok",	regardless of whether or not the test "has_todo".

       Note that if tests have a trailing plan,	it is not possible to set this
       property	for unplanned tests as we do not know it's unplanned until the
       plan is reached:

	 print <<'END';
	 ok 1
	 ok 2

perl v5.28.3			  2020-05-14	  TAP::Parser::Result::Test(3)


Want to link to this manual page? Use this URL:

home | help