Jacek Caban : jscript: Added more control flow tests.

Alexandre Julliard julliard at winehq.org
Wed Dec 28 13:44:34 CST 2011


Module: wine
Branch: master
Commit: d7fd00fdab1ab00b1d1fa2b58e4d431c6110e2be
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d7fd00fdab1ab00b1d1fa2b58e4d431c6110e2be

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Dec 28 12:07:15 2011 +0100

jscript: Added more control flow tests.

---

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

diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js
index 7eabdcf..d7182c6 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();




More information about the wine-cvs mailing list