summaryrefslogtreecommitdiff
path: root/tests/array27.sub
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2018-11-23 15:32:57 -0500
committerChet Ramey <chet.ramey@case.edu>2018-11-23 15:32:57 -0500
commit2ae59c1134a75d5778997b7202b15b0586283042 (patch)
tree6a0fa496d41b222f5f69e3640d84932fb7a84778 /tests/array27.sub
parent2f5dfe5a18b4670eb4cea32c1c76295eb70a8865 (diff)
downloadbash-5.0-beta2.tar.gz
bash-5.0-beta2 releasebash-5.0-beta2
Diffstat (limited to 'tests/array27.sub')
-rw-r--r--tests/array27.sub59
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/array27.sub b/tests/array27.sub
new file mode 100644
index 00000000..fe1ffd35
--- /dev/null
+++ b/tests/array27.sub
@@ -0,0 +1,59 @@
+# tests for `problem' keys when using associative arrays and assoc_expand_once
+# deal with problems for now; this is a placeholder for if and when I fix them
+
+typeset -A a
+shopt -s assoc_expand_once
+
+k='['
+echo $(( a[$k]=7 ))
+
+k=']'
+echo $(( a[$k]=7 ))
+
+unset a
+
+declare -A A
+
+for k in $'\t' ' '; do
+ (( A[$k]=2 ))
+done
+declare -p A
+
+for k in ']' '*' '@'; do
+ (( A[$k]=2 ))
+done
+
+declare -p A
+
+unset A
+declare -A A
+
+for k in $'\t' ' ' ']' '*' '@'; do
+ read "A[$k]" <<< X
+done
+declare -p A
+
+unset A
+declare -A A
+
+for k in $'\t' ' ' ']' '*' '@'; do
+ printf -v "A[$k]" "%s" X
+done
+declare -p A
+
+unset A
+declare -A A
+
+for k in ']' '*' '@'; do
+ declare A[$k]=X
+done
+declare -p A
+
+unset A
+declare -A A
+
+for k in ']' '*' '@'; do
+ declare "A[$k]=X"
+done
+declare -p A
+