Security update for Core, with self-updated composer
[yaffs-website] / vendor / nikic / php-parser / test / code / parser / stmt / tryCatch.test
diff --git a/vendor/nikic/php-parser/test/code/parser/stmt/tryCatch.test b/vendor/nikic/php-parser/test/code/parser/stmt/tryCatch.test
new file mode 100644 (file)
index 0000000..8f7c5ec
--- /dev/null
@@ -0,0 +1,130 @@
+Try/catch
+-----
+<?php
+
+try {
+    doTry();
+} catch (A $b) {
+    doCatchA();
+} catch (B $c) {
+    doCatchB();
+} finally {
+    doFinally();
+}
+
+// no finally
+try { }
+catch (A $b) { }
+
+// no catch
+try { }
+finally { }
+
+-----
+array(
+    0: Stmt_TryCatch(
+        stmts: array(
+            0: Expr_FuncCall(
+                name: Name(
+                    parts: array(
+                        0: doTry
+                    )
+                )
+                args: array(
+                )
+            )
+        )
+        catches: array(
+            0: Stmt_Catch(
+                types: array(
+                    0: Name(
+                        parts: array(
+                            0: A
+                        )
+                    )
+                )
+                var: b
+                stmts: array(
+                    0: Expr_FuncCall(
+                        name: Name(
+                            parts: array(
+                                0: doCatchA
+                            )
+                        )
+                        args: array(
+                        )
+                    )
+                )
+            )
+            1: Stmt_Catch(
+                types: array(
+                    0: Name(
+                        parts: array(
+                            0: B
+                        )
+                    )
+                )
+                var: c
+                stmts: array(
+                    0: Expr_FuncCall(
+                        name: Name(
+                            parts: array(
+                                0: doCatchB
+                            )
+                        )
+                        args: array(
+                        )
+                    )
+                )
+            )
+        )
+        finally: Stmt_Finally(
+            stmts: array(
+                0: Expr_FuncCall(
+                    name: Name(
+                        parts: array(
+                            0: doFinally
+                        )
+                    )
+                    args: array(
+                    )
+                )
+            )
+        )
+    )
+    1: Stmt_TryCatch(
+        stmts: array(
+        )
+        catches: array(
+            0: Stmt_Catch(
+                types: array(
+                    0: Name(
+                        parts: array(
+                            0: A
+                        )
+                    )
+                )
+                var: b
+                stmts: array(
+                )
+            )
+        )
+        finally: null
+        comments: array(
+            0: // no finally
+        )
+    )
+    2: Stmt_TryCatch(
+        stmts: array(
+        )
+        catches: array(
+        )
+        finally: Stmt_Finally(
+            stmts: array(
+            )
+        )
+        comments: array(
+            0: // no catch
+        )
+    )
+)
\ No newline at end of file