Jacek Caban : jscript/tests: Added more tests.
Alexandre Julliard
julliard at winehq.org
Fri Aug 5 16:20:08 CDT 2016
Module: wine
Branch: master
Commit: afc63fd570e889594a331ff2d8eeafd758b9f17e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=afc63fd570e889594a331ff2d8eeafd758b9f17e
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Aug 5 17:15:20 2016 +0200
jscript/tests: Added more tests.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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
More information about the wine-cvs
mailing list