mirror of
https://github.com/reactos/wine.git
synced 2024-11-26 13:10:28 +00:00
mshtml: Added IPersistPropertyBag calls test.
This commit is contained in:
parent
067092c223
commit
cc88c5a331
@ -60,6 +60,8 @@ DEFINE_EXPECT(CreateInstance);
|
||||
DEFINE_EXPECT(FreezeEvents_TRUE);
|
||||
DEFINE_EXPECT(FreezeEvents_FALSE);
|
||||
DEFINE_EXPECT(QuickActivate);
|
||||
DEFINE_EXPECT(IPersistPropertyBag_InitNew);
|
||||
DEFINE_EXPECT(IPersistPropertyBag_Load);
|
||||
|
||||
static HWND container_hwnd;
|
||||
|
||||
@ -68,18 +70,6 @@ static HWND container_hwnd;
|
||||
static const GUID CLSID_TestActiveX =
|
||||
{0x178fc163,0xf585,0x4e24,{0x9c,0x13,0x4b,0xb7,0xf6,0x68,0x07,0x46}};
|
||||
|
||||
static const char *debugstr_guid(REFIID riid)
|
||||
{
|
||||
static char buf[50];
|
||||
|
||||
sprintf(buf, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
|
||||
riid->Data1, riid->Data2, riid->Data3, riid->Data4[0],
|
||||
riid->Data4[1], riid->Data4[2], riid->Data4[3], riid->Data4[4],
|
||||
riid->Data4[5], riid->Data4[6], riid->Data4[7]);
|
||||
|
||||
return buf;
|
||||
}
|
||||
|
||||
static const char object_ax_str[] =
|
||||
"<html><head></head><body>"
|
||||
"<object classid=\"clsid:" TESTACTIVEX_CLSID "\" width=\"300\" height=\"200\" id=\"objid\">"
|
||||
@ -102,7 +92,7 @@ static const REFIID pluginhost_iids[] = {
|
||||
NULL
|
||||
};
|
||||
|
||||
static const char *dbgstr_guid(REFIID riid)
|
||||
static const char *debugstr_guid(REFIID riid)
|
||||
{
|
||||
static char buf[50];
|
||||
|
||||
@ -138,7 +128,7 @@ static void _test_ifaces(unsigned line, IUnknown *iface, REFIID *iids)
|
||||
|
||||
for(piid = iids; *piid; piid++) {
|
||||
hres = IDispatch_QueryInterface(iface, *piid, (void**)&unk);
|
||||
ok_(__FILE__,line) (hres == S_OK, "Could not get %s interface: %08x\n", dbgstr_guid(*piid), hres);
|
||||
ok_(__FILE__,line) (hres == S_OK, "Could not get %s interface: %08x\n", debugstr_guid(*piid), hres);
|
||||
if(SUCCEEDED(hres))
|
||||
IUnknown_Release(unk);
|
||||
}
|
||||
@ -280,6 +270,62 @@ static const IQuickActivateVtbl QuickActivateVtbl = {
|
||||
|
||||
static IQuickActivate QuickActivate = { &QuickActivateVtbl };
|
||||
|
||||
static HRESULT WINAPI PersistPropertyBag_QueryInterface(IPersistPropertyBag *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
return ax_qi(riid, ppv);
|
||||
}
|
||||
|
||||
static ULONG WINAPI PersistPropertyBag_AddRef(IPersistPropertyBag *iface)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
static ULONG WINAPI PersistPropertyBag_Release(IPersistPropertyBag *iface)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI PersistPropertyBag_GetClassID(IPersistPropertyBag *face, CLSID *pClassID)
|
||||
{
|
||||
ok(0, "unexpected call\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI PersistPropertyBag_InitNew(IPersistPropertyBag *face)
|
||||
{
|
||||
CHECK_EXPECT(IPersistPropertyBag_InitNew);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI PersistPropertyBag_Load(IPersistPropertyBag *face, IPropertyBag *pPropBag, IErrorLog *pErrorLog)
|
||||
{
|
||||
CHECK_EXPECT(IPersistPropertyBag_Load);
|
||||
|
||||
ok(pPropBag != NULL, "pPropBag == NULL\n");
|
||||
ok(!pErrorLog, "pErrorLog != NULL\n");
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI PersistPropertyBag_Save(IPersistPropertyBag *face, IPropertyBag *pPropBag, BOOL fClearDisrty, BOOL fSaveAllProperties)
|
||||
{
|
||||
ok(0, "unexpected call\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static const IPersistPropertyBagVtbl PersistPropertyBagVtbl = {
|
||||
PersistPropertyBag_QueryInterface,
|
||||
PersistPropertyBag_AddRef,
|
||||
PersistPropertyBag_Release,
|
||||
PersistPropertyBag_GetClassID,
|
||||
PersistPropertyBag_InitNew,
|
||||
PersistPropertyBag_Load,
|
||||
PersistPropertyBag_Save
|
||||
|
||||
};
|
||||
|
||||
static IPersistPropertyBag PersistPropertyBag = { &PersistPropertyBagVtbl };
|
||||
|
||||
static HRESULT ax_qi(REFIID riid, void **ppv)
|
||||
{
|
||||
if(IsEqualGUID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IOleControl)) {
|
||||
@ -292,6 +338,11 @@ static HRESULT ax_qi(REFIID riid, void **ppv)
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
if(IsEqualGUID(riid, &IID_IPersistPropertyBag)) {
|
||||
*ppv = &PersistPropertyBag;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
*ppv = NULL;
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
@ -351,6 +402,8 @@ static const IClassFactoryVtbl ClassFactoryVtbl = {
|
||||
ClassFactory_LockServer
|
||||
};
|
||||
|
||||
static IClassFactory activex_cf = { &ClassFactoryVtbl };
|
||||
|
||||
static HRESULT cs_qi(REFIID,void **);
|
||||
static IOleDocumentView *view;
|
||||
|
||||
@ -726,7 +779,6 @@ static HRESULT cs_qi(REFIID riid, void **ppv)
|
||||
return *ppv ? S_OK : E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static IClassFactory activex_cf = { &ClassFactoryVtbl };
|
||||
static IHTMLDocument2 *notif_doc;
|
||||
static BOOL doc_complete;
|
||||
|
||||
@ -914,6 +966,7 @@ static void test_object_ax(void)
|
||||
SET_EXPECT(FreezeEvents_TRUE);
|
||||
SET_EXPECT(QuickActivate);
|
||||
SET_EXPECT(FreezeEvents_FALSE);
|
||||
SET_EXPECT(IPersistPropertyBag_Load);
|
||||
|
||||
doc = create_doc(object_ax_str, &called_CreateInstance);
|
||||
|
||||
@ -923,6 +976,7 @@ static void test_object_ax(void)
|
||||
CHECK_CALLED(QuickActivate);
|
||||
todo_wine
|
||||
CHECK_CALLED(FreezeEvents_FALSE);
|
||||
CHECK_CALLED(IPersistPropertyBag_Load);
|
||||
|
||||
release_doc(doc);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user