From e949e37c57a7b8894b837a34a436233508daf2e1 Mon Sep 17 00:00:00 2001 From: Nick Ing-Simmons Date: Sun, 11 Aug 2002 10:25:15 +0000 Subject: Fix for [perl #15986] tell/seek misbehave for :crlf Test from "Vadim Konovalov" fix by Nick I-S based on study of problem based on Vadim's analysis. p4raw-id: //depot/perlio@17709 --- t/io/crlf.t | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 't/io') diff --git a/t/io/crlf.t b/t/io/crlf.t index 08ab4fe3b0..484596bd47 100644 --- a/t/io/crlf.t +++ b/t/io/crlf.t @@ -15,7 +15,7 @@ END { } if (find PerlIO::Layer 'perlio') { - plan(tests => 7); + plan(tests => 8); ok(open(FOO,">:crlf",$file)); ok(print FOO 'a'.((('a' x 14).qq{\n}) x 2000) || close(FOO)); ok(open(FOO,"<:crlf",$file)); @@ -30,6 +30,18 @@ if (find PerlIO::Layer 'perlio') { { local $/; $text = } is(count_chars($text, "\015\012"), 2000); + { + my $fcontents = join "", map {"$_\r\n"} "a".."zzz"; + open my $fh, "<:crlf", \$fcontents; + local $/ = "xxx"; + local $_ = <$fh>; + my $pos = tell $fh; # pos must be behind "xxx", before "\nyyy\n" + seek $fh, $pos, 0; + $/ = "\n"; + $s = <$fh>.<$fh>; + ok($s eq "\nxxy\n"); + } + ok(close(FOO)); } else { -- cgit v1.2.1