TAP::Parser::Result - TAP::Parser 输出对象的基类
版本 3.44
# abstract class - not meant to be used directly
# see TAP::Parser::ResultFactory for preferred usage
# directly:
use TAP::Parser::Result;
my $token = {...};
my $result = TAP::Parser::Result->new( $token );
这是一个简单的基类,由 TAP::Parser 用于存储表示来自 TAP(通常为单行)的当前测试输出数据片段的对象。除非进行子类化,否则可能不需要直接使用此模块。
new
# see TAP::Parser::ResultFactory for preferred usage
# to use directly:
my $result = TAP::Parser::Result->new($token);
返回一个实例,该实例是传递的测试令牌的适当类。
以下所有方法都返回布尔值,并且将在适当的子类中重写。
is_plan
指示这是否是测试计划行。
1..3
is_pragma
指示这是否是 pragma 行。
pragma +strict
is_test
指示这是否是测试行。
ok 1 Is OK!
is_comment
指示这是否是注释。
# this is a comment
is_bailout
指示这是否是退出行。
Bail out! We're out of dilithium crystals.
is_version
指示这是否是 TAP 版本行。
TAP version 4
is_unknown
指示当前行是否可以解析。
... this line is junk ...
is_yaml
指示这是否是 YAML 块。
raw
print $result->raw;
返回已解析的原始文本行。
type
my $type = $result->type;
返回令牌的“类型”,例如 comment
或 test
。
as_string
print $result->as_string;
打印令牌的字符串表示形式。然而,这可能不是确切的输出。如果不存在,测试将添加测试编号,TODO 和 SKIP 指令将大写,并且通常会进行清理。如果您需要令牌的原始文本,请参阅 raw
方法。
is_ok
if ( $result->is_ok ) { ... }
报告给定结果是否通过。任何不是测试结果的内容都返回 true。这仅仅作为一种便捷的快捷方式提供。
passed
已弃用。请改用 is_ok
。
has_directive
if ( $result->has_directive ) {
...
}
指示给定结果是否有 TODO 或 SKIP 指令。
has_todo
if ( $result->has_todo ) {
...
}
指示给定结果是否有 TODO 指令。
has_skip
if ( $result->has_skip ) {
...
}
指示给定结果是否有 SKIP 指令。
set_directive
设置与此令牌关联的指令。在内部用于伪造 TODO 测试。
有关子类化的概述,请参阅 TAP::Parser 中的“SUBCLASSING”。
请记住:如果您希望解析器自动使用您的子类,则必须使用 TAP::Parser::ResultFactory 中的“register_type” 进行注册。
如果您要创建一个全新的结果类型,您可能还需要对 TAP::Parser::Grammar 进行子类化,否则它将永远不会被使用。
package MyResult;
use strict;
use base 'TAP::Parser::Result';
# register with the factory:
TAP::Parser::ResultFactory->register_type( 'my_type' => __PACKAGE__ );
sub as_string { 'My results all look the same' }
TAP::Object、TAP::Parser、TAP::Parser::ResultFactory、TAP::Parser::Result::Bailout、TAP::Parser::Result::Comment、TAP::Parser::Result::Plan、TAP::Parser::Result::Pragma、TAP::Parser::Result::Test、TAP::Parser::Result::Unknown、TAP::Parser::Result::Version、TAP::Parser::Result::YAML,