xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/lib/Text/TabsWrap/t/tabs.t (revision 0:68f95e015346)
1#!./perl -w
2
3BEGIN {
4    chdir 't' if -d 't';
5    @INC = '../lib';
6}
7
8@tests = (split(/\nEND\n/s, <<DONE));
9TEST 1 u
10                x
11END
12		x
13END
14TEST 2 e
15		x
16END
17                x
18END
19TEST 3 e
20	x
21		y
22			z
23END
24        x
25                y
26                        z
27END
28TEST 4 u
29        x
30                y
31                        z
32END
33	x
34		y
35			z
36END
37TEST 5 u
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 6 e
43This	Is	a	test	of	a	line with many embedded tabs
44END
45This    Is      a       test    of      a       line with many embedded tabs
46END
47TEST 7 u
48            x
49END
50	    x
51END
52TEST 8 e
53	
54		
55   	
56
57           
58END
59        
60                
61        
62
63           
64END
65TEST 9 u
66           
67END
68	   
69END
70TEST 10 u
71	
72		
73   	
74
75           
76END
77	
78		
79	
80
81	   
82END
83TEST 11 u
84foobar                  IN	A		140.174.82.12
85
86END
87foobar			IN	A		140.174.82.12
88
89END
90DONE
91
92$| = 1;
93
94my $testcount = "1..";
95$testcount .= @tests/2;
96print "$testcount\n";
97
98use Text::Tabs;
99
100$rerun = $ENV{'PERL_DL_NONLAZY'} ? 0 : 1;
101
102$tn = 1;
103while (@tests) {
104	my $in = shift(@tests);
105	my $out = shift(@tests);
106
107	$in =~ s/^TEST\s*(\d+)?\s*(\S+)?\n//;
108
109	if ($2 eq 'e') {
110		$f = \&expand;
111		$fn = 'expand';
112	} else {
113		$f = \&unexpand;
114		$fn = 'unexpand';
115	}
116
117	my $back = &$f($in);
118
119	if ($back eq $out) {
120		print "ok $tn\n";
121	} elsif ($rerun) {
122		my $oi = $in;
123		foreach ($in, $back, $out) {
124			s/\t/^I\t/gs;
125			s/\n/\$\n/gs;
126		}
127		print "------------ input ------------\n";
128		print $in;
129		print "\$\n------------ $fn -----------\n";
130		print $back;
131		print "\$\n------------ expected ---------\n";
132		print $out;
133		print "\$\n-------------------------------\n";
134		$Text::Tabs::debug = 1;
135		my $back = &$f($in);
136		exit(1);
137	} else {
138		print "not ok $tn\n";
139	}
140	$tn++;
141}
142