xref: /openbsd/gnu/usr.bin/perl/cpan/Text-Tabs/t/tabs.t (revision 09467b48)
1#!/usr/old/bin/perl5.004_01 -w
2
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   	
51
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
83
84END
85DONE
86
87$| = 1;
88
89my $numtests = scalar(@tests) / 2;
90print "1..$numtests\n";
91
92use Text::Tabs;
93
94$rerun = $ENV{'PERL_DL_NONLAZY'} ? 0 : 1;
95
96$tn = 1;
97while (@tests) {
98	my $in = shift(@tests);
99	my $out = shift(@tests);
100
101	$in =~ s/^TEST\s*(\d+)?\s*(\S+)?\n//;
102
103	if ($2 eq 'e') {
104		$f = \&expand;
105		$fn = 'expand';
106	} else {
107		$f = \&unexpand;
108		$fn = 'unexpand';
109	}
110
111	my $back = &$f($in);
112
113	if ($back eq $out) {
114		print "ok $tn\n";
115	} elsif ($rerun) {
116		my $oi = $in;
117		foreach ($in, $back, $out) {
118			s/\t/^I\t/gs;
119			s/\n/\$\n/gs;
120		}
121		print "------------ input ------------\n";
122		print $in;
123		print "\$\n------------ $fn -----------\n";
124		print $back;
125		print "\$\n------------ expected ---------\n";
126		print $out;
127		print "\$\n-------------------------------\n";
128		$Text::Tabs::debug = 1;
129		my $back = &$f($in);
130		exit(1);
131	} else {
132		print "not ok $tn\n";
133	}
134	$tn++;
135}
136