xref: /openbsd/gnu/usr.bin/perl/cpan/Text-Tabs/t/tabs.t (revision 5dea098c)
1use strict; use warnings;
2
3BEGIN { require './t/lib/ok.pl' }
4use Text::Tabs;
5
6my @tests = (split(/\nEND\n/s, <<DONE));
7TEST 1 u
8                x
9END
10		x
11END
12TEST 2 e
13		x
14END
15                x
16END
17TEST 3 e
18	x
19		y
20			z
21END
22        x
23                y
24                        z
25END
26TEST 4 u
27        x
28                y
29                        z
30END
31	x
32		y
33			z
34END
35TEST 5 u
36This    Is      a       test    of      a       line with many embedded tabs
37END
38This	Is	a	test	of	a	line with many embedded tabs
39END
40TEST 6 e
41This	Is	a	test	of	a	line with many embedded tabs
42END
43This    Is      a       test    of      a       line with many embedded tabs
44END
45TEST 7 u
46            x
47END
48	    x
49END
50TEST 8 e
51
52
53
54
55
56END
57
58
59
60
61
62END
63TEST 9 u
64
65END
66
67END
68TEST 10 u
69
70
71
72
73
74END
75
76
77
78
79
80END
81TEST 11 u
82foobar                  IN	A		140.174.82.12
83
84END
85foobar			IN	A		140.174.82.12
86
87END
88DONE
89
90
91my $numtests = scalar(@tests) / 2;
92print "1..$numtests\n";
93
94while (@tests) {
95	my $in = shift(@tests);
96	my $out = shift(@tests);
97
98	$in =~ s/^TEST\s*(\d+)?\s*(\S+)?\n//;
99
100	my $f = $2 eq 'e' ? \&expand : \&unexpand;
101
102	my $back = &$f($in);
103
104	ok( $back eq $out );
105}
106