From e34dbc4fdcae6e21bb186c225f76d399d2656d75 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 24 Jul 2017 02:49:56 +0200 Subject: ash: add all hush parsing tests to ast tests All pass. Signed-off-by: Denys Vlasenko --- shell/ash_test/ash-parsing/starquoted2.tests | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100755 shell/ash_test/ash-parsing/starquoted2.tests (limited to 'shell/ash_test/ash-parsing/starquoted2.tests') diff --git a/shell/ash_test/ash-parsing/starquoted2.tests b/shell/ash_test/ash-parsing/starquoted2.tests new file mode 100755 index 000000000..7c5ff45b8 --- /dev/null +++ b/shell/ash_test/ash-parsing/starquoted2.tests @@ -0,0 +1,19 @@ +if test $# != 0; then + exec "$THIS_SH" "$0" +fi + +# No params! +for a in "$*"; do echo Should be printed; done +for a in "$@"; do echo Should not be printed; done +# Yes, believe it or not, bash is mesmerized by "$@" and stops +# treating "" as "this word cannot be expanded to nothing, +# but must be at least null string". Now it can be expanded to nothing. +for a in "$@"""; do echo Would not be printed by bash; done +for a in """$@"; do echo Would not be printed by bash; done +for a in """$@"''"$@"''; do echo Would not be printed by bash; done +for a in ""; do echo Should be printed; done + +# Bug 207: "$@" expands to nothing, and we erroneously glob "%s\n" twice: +printf 'Empty:%s\n' "$@" +printf "Empty:%s\n" "$@" +printf "Empty:%s\\n" "$@" -- cgit v1.2.3