about summary refs log tree commit diff
path: root/Test
diff options
context:
space:
mode:
authorSebastian Gniazdowski <psprint3@fastmail.com>2017-03-04 15:35:19 -0800
committerBarton E. Schaefer <schaefer@zsh.org>2017-03-04 15:35:19 -0800
commit8522e996ecc88697344dcc4814367ec7e32e7deb (patch)
tree8219045868eaee6c56cd720a6b3359f5750bcbc9 /Test
parent5e61eaf855dc4bc94c35e9e950fb2e1d7f88d5af (diff)
downloadzsh-8522e996ecc88697344dcc4814367ec7e32e7deb.tar.gz
zsh-8522e996ecc88697344dcc4814367ec7e32e7deb.tar.xz
zsh-8522e996ecc88697344dcc4814367ec7e32e7deb.zip
40781: optimize array assignment, similar to 39995 for string assignment
Diffstat (limited to 'Test')
-rw-r--r--Test/A06assign.ztst66
1 files changed, 66 insertions, 0 deletions
diff --git a/Test/A06assign.ztst b/Test/A06assign.ztst
index bf39aee7f..fd2b4177c 100644
--- a/Test/A06assign.ztst
+++ b/Test/A06assign.ztst
@@ -133,6 +133,72 @@
 >1 2 42 43 44 5
 >1 2 42 100 99 5
 
+# (subsection: append to array)
+
+ array=( )
+ array[5,6]=( 1 2 3 )
+ print $array
+ print "${(q@)array}"
+0:Append to empty array by range
+>1 2 3
+>'' '' '' '' 1 2 3
+
+ array=( a )
+ array[5,6]=( 1 2 3 )
+ print $array
+ print "${(q@)array}"
+0:Append to 1-element array by range
+>a 1 2 3
+>a '' '' '' 1 2 3
+
+ array=( a b )
+ array[5,6]=( 1 2 3 )
+ print $array
+ print "${(q@)array}"
+0:Append to 2-element array by range
+>a b 1 2 3
+>a b '' '' 1 2 3
+
+ array=( a b )
+ array[5,5]=( 1 2 3 )
+ print $array
+ print "${(q@)array}"
+0:Append to 2-element array by [a,a] range
+>a b 1 2 3
+>a b '' '' 1 2 3
+
+ array=( a b c d )
+ array[5,6]=( 1 2 3 )
+ print $array
+ print "${(q@)array}"
+0:Append array by range, continuously
+>a b c d 1 2 3
+>a b c d 1 2 3
+
+ array=( a b c d )
+ array[5,5]=( 1 2 3 )
+ print $array
+ print "${(q@)array}"
+0:Append array by [a,a] range, continuously
+>a b c d 1 2 3
+>a b c d 1 2 3
+
+ array=( )
+ array+=( 1 2 3 )
+ print $array
+ print "${(q@)array}"
+0:Append empty array via +=
+>1 2 3
+>1 2 3
+
+ array=( a )
+ array+=( 1 2 3 )
+ print $array
+ print "${(q@)array}"
+0:Append 1-element array via +=
+>a 1 2 3
+>a 1 2 3
+
 # tests of var+=scalar
 
  s+=foo