This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Revert "Move Text::Tabs/Text::Wrap from lib to ext"
[perl5.git] / lib / Text / TabsWrap / t / tabs.t
CommitLineData
58389ed2 1#!/usr/old/bin/perl5.004_01 -w
1a3850a5 2
3e2ea5df
JH
3@tests = (split(/\nEND\n/s, <<DONE));
4TEST 1 u
5 x
6END
7 x
8END
9TEST 2 e
10 x
11END
12 x
13END
14TEST 3 e
15 x
16 y
17 z
18END
19 x
20 y
21 z
22END
23TEST 4 u
24 x
25 y
26 z
27END
28 x
29 y
30 z
31END
32TEST 5 u
33This Is a test of a line with many embedded tabs
34END
35This Is a test of a line with many embedded tabs
36END
37TEST 6 e
38This Is a test of a line with many embedded tabs
39END
40This Is a test of a line with many embedded tabs
41END
42TEST 7 u
43 x
44END
45 x
46END
47TEST 8 e
48
49
50
1a3850a5 51
3e2ea5df
JH
52
53END
54
55
56
57
58
59END
60TEST 9 u
61
62END
63
64END
65TEST 10 u
66
67
68
69
70
71END
72
73
74
75
76
77END
78TEST 11 u
79foobar IN A 140.174.82.12
80
81END
82foobar IN A 140.174.82.12
1a3850a5 83
3e2ea5df
JH
84END
85DONE
1a3850a5 86
3e2ea5df 87$| = 1;
1a3850a5 88
69e34dac
S
89print "1..";
90print @tests/2;
91print "\n";
1a3850a5 92
3e2ea5df
JH
93use Text::Tabs;
94
95$rerun = $ENV{'PERL_DL_NONLAZY'} ? 0 : 1;
96
97$tn = 1;
98while (@tests) {
99 my $in = shift(@tests);
100 my $out = shift(@tests);
1a3850a5 101
3e2ea5df 102 $in =~ s/^TEST\s*(\d+)?\s*(\S+)?\n//;
1a3850a5 103
3e2ea5df
JH
104 if ($2 eq 'e') {
105 $f = \&expand;
106 $fn = 'expand';
107 } else {
108 $f = \&unexpand;
109 $fn = 'unexpand';
110 }
1a3850a5 111
3e2ea5df
JH
112 my $back = &$f($in);
113
114 if ($back eq $out) {
115 print "ok $tn\n";
116 } elsif ($rerun) {
117 my $oi = $in;
118 foreach ($in, $back, $out) {
119 s/\t/^I\t/gs;
120 s/\n/\$\n/gs;
121 }
122 print "------------ input ------------\n";
123 print $in;
124 print "\$\n------------ $fn -----------\n";
125 print $back;
126 print "\$\n------------ expected ---------\n";
127 print $out;
128 print "\$\n-------------------------------\n";
129 $Text::Tabs::debug = 1;
130 my $back = &$f($in);
131 exit(1);
132 } else {
133 print "not ok $tn\n";
134 }
135 $tn++;
136}