Acme-InputRecordSeparatorIsRegexp
view release on metacpan or search on metacpan
t/06-DATA.t view on Meta::CPAN
use Test::More;
use Acme::InputRecordSeparatorIsRegexp;
use strict;
use warnings;
if ($] < 5.010000) {
diag "readline on this package is sloooow for Perl $]. ",
"Skipping this set of tests which is a near duplicate of ",
"another set of tests.";
ok(1, "# skip $0 tests on Perl $]");
done_testing();
exit;
}
tie *DAT, 'Acme::InputRecordSeparatorIsRegexp', *DATA, '1.43|T.44|E...XD';
ok(tied(*DAT), 'return tied handle');
my (@tell, @seek);
push @tell, tell(DAT);
while (<DAT>) {
push @seek, $_;
push @tell, tell(DAT);
if (@seek > 1) {
ok( $seek[-2] =~ /1.43$/ || $seek[-2] =~ /T.44$/ ||
$seek[-2] =~ /E....XD$/, 'correct line ending' )
or diag $seek[-2], "\n\n", $seek[-1],
"\n\n", length($seek[-2]),"\t",length($seek[-1]);
}
}
# don't close
while (@seek) {
my ($s,$t);
my $i = int(rand(@seek));
$t = splice @tell, $i, 1;
$s = splice @seek, $i, 1;
seek(DAT, $t, 0);
my $u = readline(DAT);
is( $u, $s, "seek to $t returns same result");
}
done_testing();
__DATA__
0:AAA1:AAB2:AAC3:AAD4:AAE5:AAF6:AAG7:AAH8:AAI9:AAJ10:AAK11:AAL12:AAM13:AAN14:AAO15:AAP16:AAQ17:AAR18:AAS19:AAT20:AAU21:AAV22:AAW23:AAX24:AAY25:AAZ26:ABA27:ABB28:ABC29:ABD30:ABE31:ABF32:ABG33:ABH34:ABI35:ABJ36:ABK37:ABL38:ABM39:ABN40:ABO41:ABP42:ABQ43...
( run in 1.446 second using v1.01-cache-2.11-cpan-39bf76dae61 )