From d7fd00fdab1ab00b1d1fa2b58e4d431c6110e2be Mon Sep 17 00:00:00 2001
From: Jacek Caban <jacek@codeweavers.com>
Date: Wed, 28 Dec 2011 12:07:15 +0100
Subject: [PATCH] jscript: Added more control flow tests.

---
 dlls/jscript/tests/lang.js | 58 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js
index 7eabdcf3c41..d7182c6c197 100644
--- a/dlls/jscript/tests/lang.js
+++ b/dlls/jscript/tests/lang.js
@@ -839,6 +839,64 @@ for(tmp in obj1.nonexistent)
     ok(false, "for(tmp in obj1.nonexistent) called with tmp = " + tmp);
 ok(!("nonexistent" in obj1), "nonexistent added to obj1 by for..in loop");
 
+var i, j;
+
+
+tmp = "";
+i = 0;
+while(true) {
+    tmp += "1";
+    for(i = 1; i < 3; i++) {
+        switch(i) {
+        case 1:
+            tmp += "2";
+            continue;
+        case 2:
+            tmp += "3";
+            try {
+                throw null;
+            }finally {
+                tmp += "4";
+                break;
+            }
+        default:
+            ok(false, "unexpected state");
+        }
+        tmp += "5";
+    }
+    with({prop: "6"}) {
+        tmp += prop;
+        break;
+    }
+}
+ok(tmp === "123456", "tmp = " + tmp);
+
+tmp = "";
+i = 0;
+for(j in [1,2,3]) {
+    tmp += "1";
+    for(;;) {
+        with({prop: "2"}) {
+            tmp += prop;
+            try {
+                throw "3";
+            }catch(e) {
+                tmp += e;
+                with([0])
+                    break;
+            }
+        }
+        ok(false, "unexpected state");
+    }
+    while(true) {
+        tmp += "4";
+        break;
+    }
+    break;
+}
+ok(tmp === "1234", "tmp = " + tmp);
+
+
 ok((void 1) === undefined, "(void 1) !== undefined");
 
 var inobj = new Object();
-- 
GitLab