# file : tests/expansion/subscript.testscript # license : MIT; see accompanying LICENSE file # Test subscript expansion. .include ../common.testscript : basics : $* <>EOO x = zero one two three y = zero@one two@three i = 2 print ($x[1]) print ($x[4]) print (($x)[1]) print (($x)[4]) print ($identity($x)[1]) print ($identity($x)[4]) print print ($y[1]) print ($y[4]) print (($y)[1]) print (($y)[4]) print ($identity($y)[1]) print ($identity($y)[4]) print print ($x[$i]) EOI one [null] one [null] one [null] two@three [null] two@three [null] two@three [null] two EOO : unseparated : $* <>EOO x = zero one print ($x [1]) EOI zero one EOO : escape : $* <>EOO x = zero print ($x\[abc]) EOI EOO : preparse : $* <>EOO x = zero one two three print (true ? $x[1] : $x[]) EOI one EOO : missing-rsbrace : $* <'print ($x[1)' 2>>EOE != 0 :1:12: error: expected ']' instead of ')' EOE : invalid-subscript : $* <'print ($x[1a])' 2>>EOE != 0 :1:11: error: invalid value subscript: invalid uint64 value '1a' :1:9: info: use the '\[' escape sequence if this is a wildcard pattern EOE : empty-subscript : $* <'print ($x[])' 2>>EOE != 0 :1:11: error: invalid value subscript: invalid uint64 value: empty :1:9: info: use the '\[' escape sequence if this is a wildcard pattern EOE