diff --git a/node/expr/t_short_array_test.go b/node/expr/t_short_array_test.go new file mode 100644 index 0000000..0d68a19 --- /dev/null +++ b/node/expr/t_short_array_test.go @@ -0,0 +1,90 @@ +package expr_test + +import ( + "bytes" + "testing" + + "github.com/z7zmey/php-parser/node/scalar" + + "github.com/z7zmey/php-parser/node/expr" + + "github.com/z7zmey/php-parser/node" + "github.com/z7zmey/php-parser/node/stmt" + "github.com/z7zmey/php-parser/php5" + "github.com/z7zmey/php-parser/php7" +) + +func TestShortArray(t *testing.T) { + src := `1, &$b,];` + + expected := &stmt.StmtList{ + Stmts: []node.Node{ + &stmt.Expression{ + Expr: &expr.ShortArray{ + Items: []node.Node{ + &expr.ArrayItem{ + ByRef: false, + Key: &scalar.Lnumber{Value: "1"}, + Val: &scalar.Lnumber{Value: "1"}, + }, + &expr.ArrayItem{ + ByRef: true, + Val: &expr.Variable{VarName: &node.Identifier{Value: "$b"}}, + }, + }, + }, + }, + }, + } + + actual, _, _ := php7.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) + + actual, _, _ = php5.Parse(bytes.NewBufferString(src), "test.php") + assertEqual(t, expected, actual) +}