From d3ec328926fd85ec846c47aa996bbee1d3e24f06 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 21 Dec 2010 11:00:14 +0000 Subject: users/15663: some incomplete array assignment tests --- ChangeLog | 5 ++- Test/A06assign.ztst | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 103 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b6d6e54c4..e4b442dfb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2010-12-21 Peter Stephenson + * users/15663: Test/A06Assign.ztst: some (incomplete) array + assignment tests. + * unposted: Config/version.mk: update version to 4.3.11-dev-1. 2010-12-20 Peter Stephenson @@ -14021,5 +14024,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5164 $ +* $Revision: 1.5165 $ ***************************************************** diff --git a/Test/A06assign.ztst b/Test/A06assign.ztst index 44c8e3193..46b38359a 100644 --- a/Test/A06assign.ztst +++ b/Test/A06assign.ztst @@ -7,6 +7,105 @@ 1:assign to association with odd no. of values ?(eval):2: bad set of key/value pairs for associative array +# tests of array element assignment + + array=(1 2 3 4 5) + array[1]=42 + print $array +0:Replacement of array element +>42 2 3 4 5 + + array=(1 2 3 4 5) + array[1]=(42 43) + print $array +0:Replacement of array element with array +>42 43 2 3 4 5 + + array=(1 2 3 4 5) + array[1,2]=(42 43) + print $array +0:Replacement of start of array +>42 43 3 4 5 + + array=(1 2 3 4 5) + array[1,4]=(42 43) + print $array +0:Replacement of start of array with shorter slice +>42 43 5 + + array=(1 2 3 4 5) + array[1,6]=(42 43) + print $array +0:Replacement of array by extending slice +>42 43 + + array=(1 2 3 4 5) + array[3]=(42 43) + print $array +0:Replacement of middle element with array +>1 2 42 43 4 5 + + array=(1 2 3 4 5) + array[3,4]=(42 43 44) + print $array +0:Replacement of slice in middle +>1 2 42 43 44 5 + + array=(1 2 3 4 5) + array[7,8]=(42 43) + print $array + # check that [6] was left empty... + array[6]=41 + print $array +0:Appending by replacing elements off the end +>1 2 3 4 5 42 43 +>1 2 3 4 5 41 42 43 + + array=(1 2 3 4 5) + array[-1]=42 + print $array +0:Replacement of last element of array, negative indices +>1 2 3 4 42 + + array=(1 2 3 4 5) + array[-1]=(42 43) + print $array +0:Replacement of last element of array with array, negative indices +>1 2 3 4 42 43 + + array=(1 2 3 4 5) + array[-3,-2]=(42 43 44) + print $array +0:Replacement of middle of array, negative indices +>1 2 42 43 44 5 + + array=(1 2 3 4 5) + array[-5,-1]=(42 43) + print $array +0:Replacement of entire array, negative indices +>42 43 + + array=(1 2 3 4 5) + array[-7,-1]=(42 43) + print $array +0:Replacement of more than entire array, negative indices +>42 43 + + array=(1 2 3 4 5) + array[-7]=42 + print $array +0:Replacement of element off start of array. +>42 1 2 3 4 5 + + array=(1 2 3 4 5) + array[-7]=42 + array[-6]=43 + print $array +0:Replacement off start doesn't leave gaps. Hope this is right. +>43 1 2 3 4 5 + +# TODO: mixed indices [-num,num] and [num,-num] + # tests of var+=scalar s+=foo -- cgit 1.4.1