| Test-Harness documentation | Contained in the Test-Harness distribution. |
TAP::Parser::Iterator::Array - Iterator for array-based TAP sources
Version 3.23
use TAP::Parser::Iterator::Array;
my @data = ('foo', 'bar', baz');
my $it = TAP::Parser::Iterator::Array->new(\@data);
my $line = $it->next;
This is a simple iterator wrapper for arrays of scalar content, used by TAP::Parser. Unless you're writing a plugin or subclassing, you probably won't need to use this module directly.
newCreate an iterator. Takes one argument: an $array_ref
nextIterate through it, of course.
next_rawIterate raw input without applying any fixes for quirky input syntax.
waitGet the wait status for this iterator. For an array iterator this will always be zero.
exitGet the exit status for this iterator. For an array iterator this will always be zero.
Originally ripped off from Test::Harness.
| Test-Harness documentation | Contained in the Test-Harness distribution. |
package TAP::Parser::Iterator::Array; use strict; use vars qw($VERSION @ISA); use TAP::Parser::Iterator (); @ISA = 'TAP::Parser::Iterator';
$VERSION = '3.23';
# new() implementation supplied by TAP::Object sub _initialize { my ( $self, $thing ) = @_; chomp @$thing; $self->{idx} = 0; $self->{array} = $thing; $self->{exit} = undef; return $self; } sub wait { shift->exit } sub exit { my $self = shift; return 0 if $self->{idx} >= @{ $self->{array} }; return; } sub next_raw { my $self = shift; return $self->{array}->[ $self->{idx}++ ]; } 1;