busybox/testsuite/unexpand.tests
Mark Edgar b2ab920716 unexpand: correct behavior for --first-only --tabs=4
Prior to the patch, both -f and --first-only are in all cases either
no-op or ignored.
Without --tabs, --first-only is the default so specifying it is a no-op.
With --tabs, --all is implied, and --first-only is intended to reset this.

function                                             old     new   delta
expand_main                                          690     694      +4

Signed-off-by: Mark Edgar <medgar123@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2020-06-09 15:40:49 +02:00

73 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
# Copyright 2008 by Denys Vlasenko
# Licensed under GPLv2, see file LICENSE in this source tree.
. ./testing.sh
test -f "$bindir/.config" && . "$bindir/.config"
# testing "test name" "options" "expected result" "file input" "stdin"
testing "unexpand case 1" "unexpand" \
"\t12345678\n" "" " 12345678\n" \
testing "unexpand case 2" "unexpand" \
"\t 12345678\n" "" " 12345678\n" \
testing "unexpand case 3" "unexpand" \
"\t 12345678\n" "" " 12345678\n" \
testing "unexpand case 4" "unexpand" \
"\t12345678\n" "" " \t12345678\n" \
testing "unexpand case 5" "unexpand" \
"\t12345678\n" "" " \t12345678\n" \
testing "unexpand case 6" "unexpand" \
"\t12345678\n" "" " \t12345678\n" \
testing "unexpand case 7" "unexpand" \
"123\t 45678\n" "" "123 \t 45678\n" \
testing "unexpand case 8" "unexpand" \
"a b\n" "" "a b\n" \
testcase()
{
testing "unexpand flags $*" "unexpand $*" \
"$want" "" ' a b c'
}
# tabs=8, Convert only leading sequences of blanks
want='\ta b c'
testcase
testcase -f
testcase -f -t8
testcase -t8 -f
testcase -t8 --first-only
# tabs=8, Convert all blanks
want='\ta\tb c'
testcase -a
testcase -t8
testcase -a -t8
# tabs=4, Convert all blanks
want='\t\ta\t\tb\t c'
testcase -t4
testcase -a -t4
testcase -t4 -a
# tabs=4, Convert only leading sequences of blanks
want='\t\ta b c'
testcase -t4 -f
testcase -f -t4
testcase -t4 --first-only
testcase --first-only -t4
test x"$CONFIG_UNICODE_SUPPORT" = x"y" \
&& test x"$CONFIG_UNICODE_USING_LOCALE" != x"y" \
&& testing "unexpand with unicode characher 0x394" "unexpand" \
"1ΔΔΔ5\t99999\n" "" "1ΔΔΔ5 99999\n"
exit $FAILCOUNT