Commit f5b6c7cc authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

jscript: Throw error in jsdisp_delete_idx for non-configurable properties.

parent 380ae426
......@@ -2327,7 +2327,10 @@ HRESULT jsdisp_delete_idx(jsdisp_t *obj, DWORD idx)
if(FAILED(hres) || !prop)
return hres;
return delete_prop(prop, &b);
hres = delete_prop(prop, &b);
if(FAILED(hres))
return hres;
return b ? S_OK : JS_E_INVALID_ACTION;
}
HRESULT disp_delete(IDispatch *disp, DISPID id, BOOL *ret)
......
......@@ -1044,13 +1044,11 @@ sync_test("freeze", function() {
Object.freeze(o);
try {
o.pop();
todo_wine.
ok(false, "exception expected on o.pop");
}catch(e) {
ok(e.name === "TypeError", "got " + e.name + " exception");
}
ok(o[0] === 1, "o[0] = " + o[0]);
todo_wine.
ok(o.length === 1, "o.length = " + o.length);
});
......@@ -1098,13 +1096,11 @@ sync_test("seal", function() {
Object.seal(o);
try {
o.pop();
todo_wine.
ok(false, "exception expected on o.pop");
}catch(e) {
ok(e.name === "TypeError", "got " + e.name + " exception");
}
ok(o[0] === 1, "o[0] = " + o[0]);
todo_wine.
ok(o.length === 1, "o.length = " + o.length);
});
......
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