diff vendor/nikic/php-parser/test/code/parser/expr/arrayDestructuring.test @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 5fb285c0d0e3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/nikic/php-parser/test/code/parser/expr/arrayDestructuring.test	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,144 @@
+Array destructuring
+-----
+<?php
+
+[$a, $b] = [$c, $d];
+[, $a, , , $b, ,] = $foo;
+[, [[$a]], $b] = $bar;
+['a' => $b, 'b' => $a] = $baz;
+-----
+!!php7
+array(
+    0: Expr_Assign(
+        var: Expr_Array(
+            items: array(
+                0: Expr_ArrayItem(
+                    key: null
+                    value: Expr_Variable(
+                        name: a
+                    )
+                    byRef: false
+                )
+                1: Expr_ArrayItem(
+                    key: null
+                    value: Expr_Variable(
+                        name: b
+                    )
+                    byRef: false
+                )
+            )
+        )
+        expr: Expr_Array(
+            items: array(
+                0: Expr_ArrayItem(
+                    key: null
+                    value: Expr_Variable(
+                        name: c
+                    )
+                    byRef: false
+                )
+                1: Expr_ArrayItem(
+                    key: null
+                    value: Expr_Variable(
+                        name: d
+                    )
+                    byRef: false
+                )
+            )
+        )
+    )
+    1: Expr_Assign(
+        var: Expr_Array(
+            items: array(
+                0: null
+                1: Expr_ArrayItem(
+                    key: null
+                    value: Expr_Variable(
+                        name: a
+                    )
+                    byRef: false
+                )
+                2: null
+                3: null
+                4: Expr_ArrayItem(
+                    key: null
+                    value: Expr_Variable(
+                        name: b
+                    )
+                    byRef: false
+                )
+                5: null
+            )
+        )
+        expr: Expr_Variable(
+            name: foo
+        )
+    )
+    2: Expr_Assign(
+        var: Expr_Array(
+            items: array(
+                0: null
+                1: Expr_ArrayItem(
+                    key: null
+                    value: Expr_Array(
+                        items: array(
+                            0: Expr_ArrayItem(
+                                key: null
+                                value: Expr_Array(
+                                    items: array(
+                                        0: Expr_ArrayItem(
+                                            key: null
+                                            value: Expr_Variable(
+                                                name: a
+                                            )
+                                            byRef: false
+                                        )
+                                    )
+                                )
+                                byRef: false
+                            )
+                        )
+                    )
+                    byRef: false
+                )
+                2: Expr_ArrayItem(
+                    key: null
+                    value: Expr_Variable(
+                        name: b
+                    )
+                    byRef: false
+                )
+            )
+        )
+        expr: Expr_Variable(
+            name: bar
+        )
+    )
+    3: Expr_Assign(
+        var: Expr_Array(
+            items: array(
+                0: Expr_ArrayItem(
+                    key: Scalar_String(
+                        value: a
+                    )
+                    value: Expr_Variable(
+                        name: b
+                    )
+                    byRef: false
+                )
+                1: Expr_ArrayItem(
+                    key: Scalar_String(
+                        value: b
+                    )
+                    value: Expr_Variable(
+                        name: a
+                    )
+                    byRef: false
+                )
+            )
+        )
+        expr: Expr_Variable(
+            name: baz
+        )
+    )
+)
\ No newline at end of file