DEFINE_EXPECT(testobj_delete_test);
DEFINE_EXPECT(testobj_delete_nodelete);
DEFINE_EXPECT(testobj_value);
+DEFINE_EXPECT(testobj_construct);
DEFINE_EXPECT(testobj_prop_d);
DEFINE_EXPECT(testobj_withprop_d);
DEFINE_EXPECT(testobj_withprop_i);
DEFINE_EXPECT(testobj_noprop_d);
DEFINE_EXPECT(testobj_onlydispid_d);
DEFINE_EXPECT(testobj_onlydispid_i);
+DEFINE_EXPECT(testobj_notexists_d);
DEFINE_EXPECT(GetItemInfo_testVal);
DEFINE_EXPECT(ActiveScriptSite_OnScriptError);
DEFINE_EXPECT(invoke_func);
*pid = DISPID_TESTOBJ_ONLYDISPID;
return S_OK;
}
+ if(!strcmp_wa(bstrName, "notExists")) {
+ CHECK_EXPECT(testobj_notexists_d);
+ test_grfdex(grfdex, fdexNameCaseSensitive);
+ return DISP_E_UNKNOWNNAME;
+ }
ok(0, "unexpected name %s\n", wine_dbgstr_w(bstrName));
return E_NOTIMPL;
case INVOKE_FUNC|INVOKE_PROPERTYGET:
ok(pdp->cArgs == 1, "cArgs = %d\n", pdp->cArgs);
break;
+ case DISPATCH_CONSTRUCT:
+ CHECK_EXPECT(testobj_construct);
+ ok(pdp->cArgs == 1, "cArgs = %d\n", pdp->cArgs);
+ break;
default:
ok(0, "invalid flag (%x)\n", wFlags);
}
hres = parse_script_expr("reportSuccess(); return true", &v);
ok(hres == 0x800a03fa, "parse_script_expr failed: %08x\n", hres);
+ SET_EXPECT(global_success_d);
+ SET_EXPECT(global_success_i);
+ hres = parse_script_expr("reportSuccess(); true", NULL);
+ ok(hres == S_OK, "parse_script_expr failed: %08x\n", hres);
+ CHECK_CALLED(global_success_d);
+ CHECK_CALLED(global_success_i);
+
testing_expr = FALSE;
}
parse_script_a("var notExists; notExists = 1;");
CHECK_CALLED(global_notexists_d);
+ SET_EXPECT(testobj_notexists_d);
+ parse_script_a("testObj.notExists;");
+ CHECK_CALLED(testobj_notexists_d);
+
parse_script_a("function f() { var testPropGet; }");
parse_script_a("(function () { var testPropGet; })();");
parse_script_a("(function () { eval('var testPropGet;'); })();");
parse_script_a("ok(String.prototype.concat.call(testObj, ' OK') === '1 OK', 'wrong concat result');");
CHECK_CALLED(testobj_value);
+ SET_EXPECT(testobj_construct);
+ parse_script_a("var t = new testObj(1);");
+ CHECK_CALLED(testobj_construct);
+
SET_EXPECT(global_propget_d);
SET_EXPECT(global_propget_i);
parse_script_a("this.testPropGet;");