summaryrefslogtreecommitdiff
path: root/tests/cut/Test.pm
blob: 7e0a072711ef02a3cfe93bfd9dc356988735cc5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package Test;
require 5.002;
use strict;

my $nl = "\n";
@Test::t = (
# test flags		input		expected output	expected return code
#
['1', '-d: -f1,3-',	"a:b:c$nl",		"a:c\n",		0],
['2', '-d: -f1,3-',	"a:b:c\n",		"a:c\n",		0],
['3', '-d: -f2-',	"a:b:c$nl",		"b:c\n",		0],
['4', '-d: -f4',	"a:b:c$nl",		"\n",			0],
['5', '-d: -f4',	"",			"",			0],
['6', '-c4',		"123$nl",		"\n",			0],
['7', '-c4',		"123",			"\n",			0],
['8', '-c4',		"123\n1",		"\n\n",			0],
['9', '-c4',		"",			"",			0],
['a', '-s -d: -f3-',	"a:b:c$nl",		"c\n",			0],
['b', '-s -d: -f2,3',	"a:b:c$nl",		"b:c\n",		0],
['c', '-s -d: -f1,3',	"a:b:c$nl",		"a:c\n",		0],
# Trailing colon should not be output
['d', '-s -d: -f1,3',	"a:b:c:$nl",		"a:c\n",		0],
['e', '-s -d: -f3-',	"a:b:c:$nl",		"c:\n",			0],
['f', '-s -d: -f3-4',	"a:b:c:$nl",		"c:\n",			0],
['g', '-s -d: -f3,4',	"a:b:c:$nl",		"c:\n",			0],
# Make sure -s suppresses non-delimited lines
['h', '-s -d: -f2,3',	"abc\n",		"",			0],
#
['i', '-d: -f1-3',	":::\n",		"::\n",			0],
['j', '-d: -f1-4',	":::\n",		":::\n",		0],
['k', '-d: -f2-3',	":::\n",		":\n",			0],
['l', '-d: -f2-4',	":::\n",		"::\n",			0],
['m', '-s -d: -f1-3',	":::\n",		"::\n",			0],
['n', '-s -d: -f1-4',	":::\n",		":::\n",		0],
['o', '-s -d: -f2-3',	":::\n",		":\n",			0],
['p', '-s -d: -f2-4',	":::\n",		"::\n",			0],
['q', '-s -d: -f2-4',	":::\n:\n",		"::\n\n",		0],
['r', '-s -d: -f2-4',	":::\n:1\n",		"::\n1\n",		0],
['s', '-s -d: -f1-4',	":::\n:a\n",		":::\n:a\n",		0],
['t', '-s -d: -f3-',	":::\n:1\n",		":\n\n",		0],
# Make sure it handles empty input properly, with and without -s.
['u', '-s -f3-',	"",			"",			0],
['v', '-f3-',		"",			"",			0],
# Make sure it handles empty input properly.
['w', '-b 1',		"",			"",			0],
['x', '-s -d: -f2-4',	":\n",			"\n",			0],
# Errors
# -s may be used only with -f
['y', '-s -b4',		":\n",			"",			1],
# You must specify bytes or fields (or chars)
['z', '',		":\n",			"",			1],
# Empty field list
['A', '-f \'\'',	":\n",			"",			1],
# Missing field list
['B', '-f',		":\n",			"",			1],
# Empty byte list
['C', '-b \'\'',	":\n",			"",			1],
# Missing byte list
['D', '-b',		":\n",			"",			1],
);

1;