randomconfig fixes
[oweals/busybox.git] / testsuite / unexpand.tests
1 #!/bin/sh
2 # Copyright 2008 by Denys Vlasenko
3 # Licensed under GPLv2, see file LICENSE in this source tree.
4
5 . ./testing.sh
6 test -f "$bindir/.config" && . "$bindir/.config"
7
8 # testing "test name" "options" "expected result" "file input" "stdin"
9
10 testing "unexpand case 1" "unexpand" \
11         "\t12345678\n" "" "        12345678\n" \
12
13 testing "unexpand case 2" "unexpand" \
14         "\t 12345678\n" "" "         12345678\n" \
15
16 testing "unexpand case 3" "unexpand" \
17         "\t  12345678\n" "" "          12345678\n" \
18
19 testing "unexpand case 4" "unexpand" \
20         "\t12345678\n" "" "       \t12345678\n" \
21
22 testing "unexpand case 5" "unexpand" \
23         "\t12345678\n" "" "      \t12345678\n" \
24
25 testing "unexpand case 6" "unexpand" \
26         "\t12345678\n" "" "     \t12345678\n" \
27
28 testing "unexpand case 7" "unexpand" \
29         "123\t 45678\n" "" "123 \t 45678\n" \
30
31 testing "unexpand case 8" "unexpand" \
32         "a b\n" "" "a b\n" \
33
34 testcase()
35 {
36         testing "unexpand flags $*" "unexpand $*" \
37                 "$want" "" '        a       b    c'
38 }
39
40 # tabs=8, Convert only leading sequences of blanks
41 want='\ta       b    c'
42 testcase
43 testcase -f
44 testcase -f -t8
45 testcase -t8 -f
46 testcase -t8 --first-only
47
48 # tabs=8, Convert all blanks
49 want='\ta\tb    c'
50 testcase -a
51 testcase -t8
52 testcase -a -t8
53
54 # tabs=4, Convert all blanks
55 want='\t\ta\t\tb\t c'
56 testcase -t4
57 testcase -a -t4
58 testcase -t4 -a
59
60 # tabs=4, Convert only leading sequences of blanks
61 want='\t\ta       b    c'
62 testcase -t4 -f
63 testcase -f -t4
64 testcase -t4 --first-only
65 testcase --first-only -t4
66
67 test x"$CONFIG_UNICODE_SUPPORT" = x"y" \
68 && test x"$CONFIG_UNICODE_USING_LOCALE" != x"y" \
69 && testing "unexpand with unicode characher 0x394" "unexpand" \
70         "1ΔΔΔ5\t99999\n" "" "1ΔΔΔ5   99999\n"
71
72 exit $FAILCOUNT