Jacek Caban : mshtml: Added test of connection points.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri May 5 12:10:36 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 79e2f0c4ff392f425f2a5978a2ef429e66712cb1
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=79e2f0c4ff392f425f2a5978a2ef429e66712cb1
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Apr 28 20:07:03 2006 +0200
mshtml: Added test of connection points.
---
dlls/mshtml/tests/htmldoc.c | 48 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c
index 9b99c62..704e9e0 100644
--- a/dlls/mshtml/tests/htmldoc.c
+++ b/dlls/mshtml/tests/htmldoc.c
@@ -1255,6 +1255,53 @@ static LRESULT WINAPI wnd_proc(HWND hwnd
return DefWindowProc(hwnd, msg, wParam, lParam);
}
+static void test_ConnectionPoint(IConnectionPointContainer *container, REFIID riid)
+{
+ IConnectionPointContainer *tmp_container = NULL;
+ IConnectionPoint *cp;
+ IID iid;
+ HRESULT hres;
+
+ hres = IConnectionPointContainer_FindConnectionPoint(container, riid, &cp);
+ ok(hres == S_OK, "FindConnectionPoint failed: %08lx\n", hres);
+ if(FAILED(hres))
+ return;
+
+ hres = IConnectionPoint_GetConnectionInterface(cp, &iid);
+ ok(hres == S_OK, "GetConnectionInterface failed: %08lx\n", hres);
+ ok(IsEqualGUID(riid, &iid), "wrong iid\n");
+
+ hres = IConnectionPoint_GetConnectionInterface(cp, NULL);
+ ok(hres == E_POINTER, "GetConnectionInterface failed: %08lx, expected E_POINTER\n", hres);
+
+ hres = IConnectionPoint_GetConnectionPointContainer(cp, &tmp_container);
+ ok(hres == S_OK, "GetConnectionPointContainer failed: %08lx\n", hres);
+ ok(tmp_container == container, "container != tmp_container\n");
+ if(SUCCEEDED(hres))
+ IConnectionPointContainer_Release(tmp_container);
+
+ hres = IConnectionPoint_GetConnectionPointContainer(cp, NULL);
+ ok(hres == E_POINTER, "GetConnectionPointContainer failed: %08lx, expected E_POINTER\n", hres);
+
+ IConnectionPoint_Release(cp);
+}
+
+static void test_ConnectionPointContainer(IUnknown *unk)
+{
+ IConnectionPointContainer *container;
+ HRESULT hres;
+
+ hres = IUnknown_QueryInterface(unk, &IID_IConnectionPointContainer, (void**)&container);
+ ok(hres == S_OK, "QueryInterface(IID_IConnectionPointContainer) failed: %08lx\n", hres);
+ if(FAILED(hres))
+ return;
+
+ test_ConnectionPoint(container, &DIID_HTMLDocumentEvents);
+ test_ConnectionPoint(container, &DIID_HTMLDocumentEvents2);
+
+ IConnectionPointContainer_Release(container);
+}
+
static void test_Load(IPersistMoniker *persist)
{
IMoniker *mon;
@@ -1927,6 +1974,7 @@ static void test_HTMLDocument(void)
if(FAILED(hres))
return;
+ test_ConnectionPointContainer(unk);
test_Persist(unk);
if(load_state == LD_NO)
test_OnAmbientPropertyChange2(unk);
More information about the wine-cvs
mailing list