jscript: Added support for Function constructor called as a function.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2016-01-06 16:29:42 +01:00 committed by Alexandre Julliard
parent 1c2dd4b3e7
commit d7e4193df2
2 changed files with 11 additions and 0 deletions

View File

@ -821,6 +821,7 @@ static HRESULT FunctionConstr_value(script_ctx_t *ctx, vdisp_t *jsthis, WORD fla
TRACE("\n");
switch(flags) {
case DISPATCH_METHOD:
case DISPATCH_CONSTRUCT: {
IDispatch *ret;

View File

@ -1869,6 +1869,16 @@ ok(tmp === undefined, "func() = " + tmp);
tmp = func.toString();
ok(tmp == "function anonymous() {\n\n}", "func.toString() = " + tmp);
// Function constructor called as function
func = Function("return 3;");
tmp = func();
ok(tmp === 3, "func() = " + tmp);
ok(func.call() === 3, "func.call() = " + tmp);
ok(func.length === 0, "func.length = " + func.length);
tmp = func.toString();
ok(tmp === "function anonymous() {\nreturn 3;\n}", "func.toString() = " + tmp);
func = (function() {
var tmp = 3;
return new Function("return tmp;");