From: H.Merijn Brand Date: Wed, 6 Mar 2002 12:59:29 +0000 (+0100) Subject: Re: perl@15047 New format tests for still existing bugs X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=d57f92782c605c0058843c7d2367c6c88d8e6ab9;p=p5sagit%2Fp5-mst-13.2.git Re: perl@15047 New format tests for still existing bugs From: "H.Merijn Brand" Message-Id: <20020306125854.C6F5.H.M.BRAND@hccnet.nl> p4raw-id: //depot/perl@15069 --- diff --git a/t/op/write.t b/t/op/write.t index 2475996..302742b 100755 --- a/t/op/write.t +++ b/t/op/write.t @@ -5,7 +5,7 @@ BEGIN { @INC = '../lib'; } -print "1..44\n"; +print "1..47\n"; my $CAT = ($^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'VMS') ? 'type' : ($^O eq 'MacOS') ? 'catenate' @@ -281,10 +281,36 @@ if ($^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'dos' || use strict; # Amazed that this hackery can be made strict ... +my $test = 12; + # Just a complete test for format, including top-, left- and bottom marging # and format detection through glob entries +format EMPTY = +. + +format Comment = +ok @<<<<< +$test +. + +$= = 10; + +# [ID 20020227.005] format bug with undefined _TOP +{ local $~ = "Comment"; + write; + $test++; + print $- == 9 + ? "ok $test\n" : "not ok $test # TODO \$- = $- instead of 9\n"; + $test++; + print $^ ne "Comment_TOP" + ? "ok $test\n" : "not ok $test # TODO \$^ = $^ instead of 'STDOUT_TOP'\n"; + $test++; + } + + $^ = "STDOUT_TOP"; $= = 7; # Page length + $- = 0; # Lines left my $ps = $^L; $^L = ""; # Catch the page separator my $tm = 1; # Top margin (empty lines before first output) my $bm = 2; # Bottom marging (empty lines between last text and footer) @@ -293,14 +319,13 @@ my $lm = 4; # Left margin (indent in spaces) select ((select (STDOUT), $| = 1)[0]); if ($lm > 0 and !open STDOUT, "|-") { # Left margin (in this test ALWAYS set) select ((select (STDOUT), $| = 1)[0]); - my $i = 12; my $s = " " x $lm; while () { s/^/$s/; - print + ($_ eq ? "" : "not "), "ok ", $i++, "\n"; + print + ($_ eq ? "" : "not "), "ok ", $test++, "\n"; } close STDIN; - print + (?"not ":""), "ok ", $i++, "\n"; + print + (?"not ":""), "ok ", $test++, "\n"; close STDOUT; exit; } @@ -334,9 +359,6 @@ format TOP = $tm . -format EmptyTOP = -. - format ENTRY = @ @<<<<~~ @{(shift @E)||["",""]} @@ -359,7 +381,7 @@ sub has_format ($) $@?0:1; } # has_format -$^ = has_format ("TOP") ? "TOP" : "EmptyTOP"; +$^ = has_format ("TOP") ? "TOP" : "EMPTY"; has_format ("ENTRY") or die "No format defined for ENTRY"; foreach my $e ( [ map { [ $_, "Test$_" ] } 1 .. 7 ], [ map { [ $_, "${_}tseT" ] } 1 .. 5 ]) {