From 8522e996ecc88697344dcc4814367ec7e32e7deb Mon Sep 17 00:00:00 2001 From: Sebastian Gniazdowski Date: Sat, 4 Mar 2017 15:35:19 -0800 Subject: 40781: optimize array assignment, similar to 39995 for string assignment --- Test/A06assign.ztst | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) (limited to 'Test') 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 -- cgit 1.4.1