Module: wine Branch: master Commit: afc63fd570e889594a331ff2d8eeafd758b9f17e URL: http://source.winehq.org/git/wine.git/?a=commit;h=afc63fd570e889594a331ff2d8...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Aug 5 17:15:20 2016 +0200
jscript/tests: Added more tests.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/jscript/tests/lang.js | 82 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+)
diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js index 4990826..c179265 100644 --- a/dlls/jscript/tests/lang.js +++ b/dlls/jscript/tests/lang.js @@ -269,6 +269,24 @@ testNoRes(); testRes() && testRes(); testNoRes(), testNoRes();
+(function() { + eval("var x=1;"); + ok(x === 1, "x = " + x); +})(); + +(function() { + var e = eval; + var r = e(1); + ok(r === 1, "r = " + r); + (function(x, a) { x(a); })(eval, "2"); +})(); + +(function(r) { + r = eval("1"); + ok(r === 1, "r = " + r); + (function(x, a) { x(a); })(eval, "2"); +})(); + tmp = (function(){ return testNoRes(), testRes();})();
var f1, f2; @@ -384,6 +402,20 @@ ok(typeof(obj2) === "object", "typeof(obj2) = " + typeof(obj2)); var obj3 = new Object; ok(typeof(obj3) === "object", "typeof(obj3) is not object");
+(function() { + ok(typeof(func) === "function", "typeof(func) = " + typeof(func)); + function func() {} + ok(typeof(func) === "function", "typeof(func) = " + typeof(func)); + func = 0; + ok(typeof(func) === "number", "typeof(func) = " + typeof(func)); +})(); + +(function(f) { + ok(typeof(f) === "function", "typeof(f) = " + typeof(f)); + function f() {}; + ok(typeof(f) === "function", "typeof(f) = " + typeof(f)); +})(1); + for(var iter in "test") ok(false, "unexpected forin call, test = " + iter);
@@ -1286,6 +1318,38 @@ try { ok(false, "deleteTest not throwed exception?"); }catch(ex) {}
+(function() { + var to_delete = 2; + var r = delete to_delete; + ok(r === false, "delete 1 returned " + r); + if(r) + return; + ok(to_delete === 2, "to_delete = " + to_delete); + + to_delete = new Object(); + r = delete to_delete; + ok(r === false, "delete 2 returned " + r); + ok(typeof(to_delete) === "object", "typeof(to_delete) = " + typeof(to_delete)); +})(); + +(function(to_delete) { + var r = delete to_delete; + ok(r === false, "delete 3 returned " + r); + ok(to_delete === 2, "to_delete = " + to_delete); + + to_delete = new Object(); + r = delete to_delete; + ok(r === false, "delete 4 returned " + r); + ok(typeof(to_delete) === "object", "typeof(to_delete) = " + typeof(to_delete)); +})(2); + +(function() { + with({to_delete: new Object()}) { + var r = delete to_delete; + ok(r === true, "delete returned " + r); + } +})(); + if (false) if (true) ok(false, "if evaluated"); @@ -1533,6 +1597,24 @@ tmp = (function() { })(); ok(tmp, "tmp = " + tmp);
+(function() { + ok(typeof(func) === "function", "typeof(func) = " + typeof(func)); + with(new Object()) { + var x = false && function func() {}; + } + ok(typeof(func) === "function", "typeof(func) = " + typeof(func)); +})(); + +(function() { + ok(x === undefined, "x = " + x); // x is declared, but never initialized + with({x: 1}) { + ok(x === 1, "x = " + x); + var x = 2; + ok(x === 2, "x = " + x); + } + ok(x === undefined, "x = " + x); +})(); + /* NoNewline rule parser tests */ while(true) { if(true) break