diff options
author | Jim Meyering <jim@meyering.net> | 1998-12-13 19:01:59 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1998-12-13 19:01:59 +0000 |
commit | 8a644a90ef21d698559f30ccfe475a14c0d1e242 (patch) | |
tree | 3963e2c381ac60c41846abe535e0c68aa11712ca /tests/uniq/Test.pm | |
parent | 29ab746b7919d8cc48a0896b4ca9b92da5152de0 (diff) | |
download | coreutils-8a644a90ef21d698559f30ccfe475a14c0d1e242.tar.xz |
.
Diffstat (limited to 'tests/uniq/Test.pm')
-rw-r--r-- | tests/uniq/Test.pm | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/tests/uniq/Test.pm b/tests/uniq/Test.pm new file mode 100644 index 000000000..270a3c7c9 --- /dev/null +++ b/tests/uniq/Test.pm @@ -0,0 +1,76 @@ +package Test; +require 5.002; +use strict; + +$Test::input_via_stdin = 1; + +my @tv = ( +# test flags input expected output expected return code +# +['1', '', '', '', 0], +['2', '', "a\na\n", "a\n", 0], +['3', '', "a\na", "a\n", 0], +['4', '', "a\nb", "a\nb\n", 0], +['5', '', "a\na\nb", "a\nb\n", 0], +['6', '', "b\na\na\n", "b\na\n", 0], +['7', '', "a\nb\nc\n", "a\nb\nc\n", 0], +# Make sure that eight bit characters work +['8', '', "ö\nv\n", "ö\nv\n", 0], +# Test output of -u option; only unique lines +['9', '-u', "a\na\n", "", 0], +['10', '-u', "a\nb\n", "a\nb\n", 0], +['11', '-u', "a\nb\na\n", "a\nb\na\n", 0], +['12', '-u', "a\na\n", "", 0], +['13', '-u', "a\na\n", "", 0], +#['5', '-u', "a\na\n", "", 0], +# Test output of -d option; only repeated lines +['20', '-d', "a\na\n", "a\n", 0], +['21', '-d', "a\nb\n", "", 0], +['22', '-d', "a\nb\na\n", "", 0], +['23', '-d', "a\na\nb\n", "a\n", 0], +# Check the key options +# If we skip over fields or characters, is the output deterministic? +['30', '-1', "a a\nb a\n", "a a\n", 0], +['31', '-f 1',"a a\nb a\n", "a a\n", 0], +['32', '-f 1',"a a\nb b\n", "a a\nb b\n", 0], +['33', '-f 1',"a a a\nb a c\n", "a a a\nb a c\n", 0], +['34', '-f 1',"b a\na a\n", "b a\n", 0], +['35', '-f 2',"a a c\nb a c\n", "a a c\n", 0], +# Skip over characters +['40', '+1', "aaa\naaa\n", "aaa\n", 0], +['41', '+1', "baa\naaa\n", "aaa\n", 0], +['42', '-s 1',"aaa\naaa\n", "aaa\n", 0], +['43', '-s 2',"baa\naaa\n", "baa\n", 0], +['44', '+1 --', "aaa\naaa\n", "aaa\n", 0], +['45', '+1 --', "baa\naaa\n", "aaa\n", 0], +# Skip over fields and characters +['50', '-f 1 -s 1',"a aaa\nb ab\n", "a aaa\nb ab\n", 0], +['51', '-f 1 -s 1',"a aaa\nb aaa\n", "a aaa\n", 0], +['52', '-s 1 -f 1',"a aaa\nb ab\n", "a aaa\nb ab\n", 0], +['53', '-s 1 -f 1',"a aaa\nb aaa\n", "a aaa\n", 0], +# Only account for a number of characters +['60', '-w 1',"a a\nb a\n", "a a\nb a\n", 0], +['61', '-w 3',"a a\nb a\n", "a a\nb a\n", 0], +['62', '-w 1 -f 1',"a a a\nb a c\n", "a a a\n", 0], +['63', '-f 1 -w 1',"a a a\nb a c\n", "a a a\n", 0], +# The blank after field one is checked too +['64', '-f 1 -w 4',"a a a\nb a c\n", "a a a\nb a c\n", 0], +['65', '-f 1 -w 3',"a a a\nb a c\n", "a a a\n", 0], +# Check the count option +['101', '-c', "a\nb\n", " 1\ta\n 1\tb\n", 0], +['102', '-c', "a\na\n", " 2\ta\n", 0], +); + +sub test_vector +{ + my $t; + foreach $t (@tv) + { + my ($test_name, $flags, $in, $exp, $ret) = @$t; + $Test::input_via{$test_name} = {REDIR => 0, PIPE => 0}; + } + + return @tv; +} + +1; |