Retract #8552.
Jarkko Hietaniemi [Sun, 28 Jan 2001 02:06:12 +0000 (02:06 +0000)]
p4raw-id: //depot/perl@8573

lib/Text/Wrap.pm
t/lib/textwrap.t

index 9241dfc..04efe19 100644 (file)
@@ -25,9 +25,7 @@ sub wrap
        my ($ip, $xp, @t) = @_;
 
        my $r = "";
-
-       my $t = _linearize(@t);
-
+       my $t = expand(join(" ",@t));
        my $lead = $ip;
        my $ll = $columns - length(expand($ip)) - 1;
        my $nll = $columns - length(expand($xp)) - 1;
@@ -63,18 +61,6 @@ sub wrap
        return $r;
 }
 
-sub _linearize {
-    my @lines = expand(@_);
-
-    # Join the lines together, adding in extra whitespace only where needed
-    # to keep words seperated.
-    my $text = join "", map { /\s+\Z/ ? $_ : $_.' ' } @lines[0..$#lines-1];
-    $text .= $lines[-1];
-
-    return $text;
-}
-
-
 sub fill 
 {
        my ($ip, $xp, @raw) = @_;
index 2c4608c..af24036 100755 (executable)
@@ -84,21 +84,12 @@ END
  a123456789b123456789c123456789d123456789e123456789f123456789g123456789g123
  4567
 END
-TEST10
-my mother once said
-"never eat paste my darling"
-would that I heeded
-END
-   my mother once said
- "never eat paste my darling"
- would that I heeded
-END
 DONE
 
 
 $| = 1;
 
-print "1..". @tests . "\n";
+print "1..", @tests/2, "\n";
 
 use Text::Wrap;
 
@@ -111,36 +102,28 @@ while (@tests) {
 
        $in =~ s/^TEST(\d+)?\n//;
 
-        # Make sure split() doesn't drop trailing empty sets.
-        my @in = split("\n", $in, -1);
-        @in = ((map { "$_\n" } @in[0..$#in-1]), $in[-1]);
-
-        # We run wrap() both with a string and a list to test its
-        # line joining logic.
-       foreach my $back (wrap('   ', ' ', @in),
-                          wrap('   ', ' ', $in) ) {
+       my $back = wrap('   ', ' ', $in);
 
-                if ($back eq $out) {
-                        print "ok $tn\n";
-                } elsif ($rerun) {
-                        my $oi = $in;
-                        foreach ($in, $back, $out) {
-                                s/\t/^I\t/gs;
-                                s/\n/\$\n/gs;
-                        }
-                        print "------------ input ------------\n";
-                        print $in;
-                        print "\n------------ output -----------\n";
-                        print $back;
-                        print "\n------------ expected ---------\n";
-                        print $out;
-                        print "\n-------------------------------\n";
-                        $Text::Wrap::debug = 1;
-                        wrap('   ', ' ', $oi);
-                        exit(1);
-                } else {
-                        print "not ok $tn\n";
-                }
-                $tn++;
-        }
+       if ($back eq $out) {
+               print "ok $tn\n";
+       } elsif ($rerun) {
+               my $oi = $in;
+               foreach ($in, $back, $out) {
+                       s/\t/^I\t/gs;
+                       s/\n/\$\n/gs;
+               }
+               print "------------ input ------------\n";
+               print $in;
+               print "\n------------ output -----------\n";
+               print $back;
+               print "\n------------ expected ---------\n";
+               print $out;
+               print "\n-------------------------------\n";
+               $Text::Wrap::debug = 1;
+               wrap('   ', ' ', $oi);
+               exit(1);
+       } else {
+               print "not ok $tn\n";
+       }
+       $tn++;
 }