From 4d57e0a8dab2139a631a21aab862487481548702 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 22:32:59 +0200 Subject: Adding upstream version 2.23.7. Signed-off-by: Daniel Baumann --- test/bashisms/array-expansion.sh | 60 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 test/bashisms/array-expansion.sh (limited to 'test/bashisms/array-expansion.sh') diff --git a/test/bashisms/array-expansion.sh b/test/bashisms/array-expansion.sh new file mode 100644 index 0000000..ca2b57a --- /dev/null +++ b/test/bashisms/array-expansion.sh @@ -0,0 +1,60 @@ +#!/bin/sh + +# This is a TO DO, but irrelevant to this test case: +foo=(foo bar moo BASH ISM) + +n=1 + +echo BASHISM ${foo[1]%r} +echo BASHISM ${foo[$n]%r} +echo BASHISM ${foo[*]%o} +echo BASHISM ${foo[@]%o} + +echo BASHISM ${foo[1]%%r} +echo BASHISM ${foo[$n]%%r} +echo BASHISM ${foo[*]%%o} +echo BASHISM ${foo[@]%%o} + +echo BASHISM ${foo[1]#*a} +echo BASHISM ${foo[$n]#*a} +echo BASHISM ${foo[*]#*o} +echo BASHISM ${foo[@]#*o} + +echo BASHISM ${foo[1]##*a} +echo BASHISM ${foo[$n]##*a} +echo BASHISM ${foo[*]##*o} +echo BASHISM ${foo[@]##*o} + +echo BASHISM ${#foo[1]} +echo BASHISM ${#foo[$n]} +echo BASHISM ${#foo[*]} +echo BASHISM ${#foo[@]} + +# Technically, there are two bashisms here, but I'm happy if it at +# least matches one. The regexes become more complex without real gain +# otherwise. (hence the "BASH ISMS", with the extra space) + +echo BASHISM BASH ISMS ${foo[1]^*a} +echo BASHISM BASH ISMS ${foo[$n]^*a} +echo BASHISM BASH ISMS ${foo[*]^*o} +echo BASHISM BASH ISMS ${foo[@]^*o} + +echo BASHISM BASH ISMS ${foo[1]^^*a} +echo BASHISM BASH ISMS ${foo[$n]^^*a} +echo BASHISM BASH ISMS ${foo[*]^^*o} +echo BASHISM BASH ISMS ${foo[@]^^*o} + +echo BASHISM BASH ISMS ${foo[1],*a} +echo BASHISM BASH ISMS ${foo[$n],*a} +echo BASHISM BASH ISMS ${foo[*],*a} +echo BASHISM BASH ISMS ${foo[@],*a} + +echo BASHISM BASH ISMS ${foo[1],,*a} +echo BASHISM BASH ISMS ${foo[$n],,*a} +echo BASHISM BASH ISMS ${foo[*],,*a} +echo BASHISM BASH ISMS ${foo[@],,*a} + +echo BASHISM BASH ISMS ${foo[1]/a/R} +echo BASHISM BASH ISMS ${foo[$n]/a/R} +echo BASHISM BASH ISMS ${foo[*]/a/R} +echo BASHISM BASH ISMS ${foo[@]/a/R} -- cgit v1.2.3