Commit 84f7f601 authored by Gabriel Ivăncescu's avatar Gabriel Ivăncescu Committed by Alexandre Julliard

jscript: Throw proper error when calling Map constructor as method.

parent 8cb5d741
......@@ -417,6 +417,9 @@ static HRESULT Map_constructor(script_ctx_t *ctx, jsval_t vthis, WORD flags, uns
*r = jsval_obj(&map->dispex);
return S_OK;
case DISPATCH_METHOD:
return throw_error(ctx, JS_E_WRONG_THIS, L"Map");
default:
FIXME("unimplemented flags %x\n", flags);
return E_NOTIMPL;
......
......@@ -1301,6 +1301,13 @@ sync_test("set_obj", function() {
sync_test("map_obj", function() {
if(!("Map" in window)) return;
try {
var s = Map();
ok(false, "expected exception calling constructor as method");
}catch(e) {
ok(e.number === 0xa13fc - 0x80000000, "calling constructor as method threw " + e.number);
}
var s = new Map, r, i;
ok(Object.getPrototypeOf(s) === Map.prototype, "unexpected Map prototype");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment