~ubuntu-branches/ubuntu/saucy/bioperl/saucy-proposed

« back to all changes in this revision

Viewing changes to t/lib/Test/Harness/Iterator.pm

  • Committer: Bazaar Package Importer
  • Author(s): Charles Plessy
  • Date: 2009-03-10 07:19:11 UTC
  • mfrom: (1.2.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20090310071911-fukqzw54pyb1f0bd
Tags: 1.6.0-2
* Removed patch system (not used):
  - removed instuctions in debian/rules;
  - removed quilt from Build-Depends in debian/control.
* Re-enabled tests:
  - uncommented test command in debian/rules;
  - uncommented previously missing build-dependencies in debian/control.
  - Re-enabled tests and uncommented build-dependencies accordingly.
* Removed libmodule-build-perl and libtest-harness-perl from
  Build-Depends-Indep (provided by perl-modules).
* Better cleaning of empty directories using find -type d -empty -delete
  instead of rmdir in debian/rules (LP: #324001).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package Test::Harness::Iterator;
 
2
 
 
3
use strict;
 
4
use vars qw($VERSION);
 
5
$VERSION = 0.02;
 
6
 
 
7
=head1 NAME
 
8
 
 
9
Test::Harness::Iterator - Internal Test::Harness Iterator
 
10
 
 
11
=head1 SYNOPSIS
 
12
 
 
13
  use Test::Harness::Iterator;
 
14
  my $it = Test::Harness::Iterator->new(\*TEST);
 
15
  my $it = Test::Harness::Iterator->new(\@array);
 
16
 
 
17
  my $line = $it->next;
 
18
 
 
19
=head1 DESCRIPTION
 
20
 
 
21
B<FOR INTERNAL USE ONLY!>
 
22
 
 
23
This is a simple iterator wrapper for arrays and filehandles.
 
24
 
 
25
=head2 new()
 
26
 
 
27
Create an iterator.
 
28
 
 
29
=head2 next()
 
30
 
 
31
Iterate through it, of course.
 
32
 
 
33
=cut
 
34
 
 
35
sub new {
 
36
    my($proto, $thing) = @_;
 
37
 
 
38
    my $self = {};
 
39
    if( ref $thing eq 'GLOB' ) {
 
40
        bless $self, 'Test::Harness::Iterator::FH';
 
41
        $self->{fh} = $thing;
 
42
    }
 
43
    elsif( ref $thing eq 'ARRAY' ) {
 
44
        bless $self, 'Test::Harness::Iterator::ARRAY';
 
45
        $self->{idx}   = 0;
 
46
        $self->{array} = $thing;
 
47
    }
 
48
    else {
 
49
        warn "Can't iterate with a ", ref $thing;
 
50
    }
 
51
 
 
52
    return $self;
 
53
}
 
54
 
 
55
package Test::Harness::Iterator::FH;
 
56
sub next {
 
57
    my $fh = $_[0]->{fh};
 
58
 
 
59
    # readline() doesn't work so good on 5.5.4.
 
60
    return scalar <$fh>;
 
61
}
 
62
 
 
63
 
 
64
package Test::Harness::Iterator::ARRAY;
 
65
sub next {
 
66
    my $self = shift;
 
67
    return $self->{array}->[$self->{idx}++];
 
68
}
 
69
 
 
70
"Steve Peters, Master Of True Value Finding, was here.";