内容

名称

TAP::Parser::SourceHandler::Handle - 从 IO::Handle 或 GLOB 流式传输 TAP。

版本

版本 3.44

概要

use TAP::Parser::Source;
use TAP::Parser::SourceHandler::Executable;

my $source = TAP::Parser::Source->new->raw( \*TAP_FILE );
$source->assemble_meta;

my $class = 'TAP::Parser::SourceHandler::Handle';
my $vote  = $class->can_handle( $source );
my $iter  = $class->make_iterator( $source );

描述

这是一个 存储在 IO Handle 中的原始 TAP TAP::Parser::SourceHandler 类。它有两个任务

1. 确定它所给定的 TAP::Parser::Source 是否是包含原始 TAP 输出的 IO::Handle 或 GLOB ("can_handle")。

2. 为 IO::Handle 和 glob 创建迭代器 ("make_iterator")。

除非您正在编写插件或对 TAP::Parser 进行子类化,否则您可能不需要直接使用此模块。

方法

类方法

can_handle

my $vote = $class->can_handle( $source );

投出以下投票

0.9 if $source is an IO::Handle
0.8 if $source is a glob

make_iterator

my $iterator = $class->make_iterator( $source );

返回一个新的 TAP::Parser::Iterator::Stream 用于源代码。

iterator_class

要使用的迭代器类,如果您是子类,请覆盖它。默认值为 TAP::Parser::Iterator::Stream

子类化

请参阅 "TAP::Parser 中的子类化" 以获取子类化概述。

另请参阅

TAP::Object, TAP::Parser, TAP::Parser::Iterator, TAP::Parser::Iterator::Stream, TAP::Parser::IteratorFactory, TAP::Parser::SourceHandler, TAP::Parser::SourceHandler::Executable, TAP::Parser::SourceHandler::Perl, TAP::Parser::SourceHandler::File, TAP::Parser::SourceHandler::RawTAP