=?UTF-8?Q?Michael=20M=C3=BCller=20?=: netprofm/tests: Add tests for ConnectionPointContainer::FindConnectionPoint.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Mar 25 10:13:23 CDT 2015
Module: wine
Branch: master
Commit: d07f76e39affdbe29f8733ffb1087d400b305a53
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d07f76e39affdbe29f8733ffb1087d400b305a53
Author: Michael Müller <michael at fds-team.de>
Date: Wed Mar 25 12:03:48 2015 +0100
netprofm/tests: Add tests for ConnectionPointContainer::FindConnectionPoint.
The refcounting is also tested because some apps depend on that.
---
dlls/netprofm/tests/list.c | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/dlls/netprofm/tests/list.c b/dlls/netprofm/tests/list.c
index ce4891a..06a8086 100644
--- a/dlls/netprofm/tests/list.c
+++ b/dlls/netprofm/tests/list.c
@@ -27,12 +27,15 @@
static void test_INetworkListManager( void )
{
- IConnectionPointContainer *cpc;
+ IConnectionPointContainer *cpc, *cpc2;
INetworkListManager *mgr;
INetworkCostManager *cost_mgr;
NLM_CONNECTIVITY connectivity;
VARIANT_BOOL connected;
+ IConnectionPoint *pt;
HRESULT hr;
+ ULONG ref1, ref2;
+ IID iid;
hr = CoCreateInstance( &CLSID_NetworkListManager, NULL, CLSCTX_INPROC_SERVER,
&IID_INetworkListManager, (void **)&mgr );
@@ -78,8 +81,31 @@ static void test_INetworkListManager( void )
hr = INetworkListManager_QueryInterface( mgr, &IID_IConnectionPointContainer, (void**)&cpc );
ok( hr == S_OK, "got %08x\n", hr );
+
+ ref1 = IConnectionPointContainer_AddRef( cpc );
+
+ hr = IConnectionPointContainer_FindConnectionPoint( cpc, &IID_INetworkListManagerEvents, &pt );
+ ok( hr == S_OK, "got %08x\n", hr );
+
+ ref2 = IConnectionPointContainer_AddRef( cpc );
+ ok( ref2 == ref1 + 2, "Expected refcount %d, got %d\n", ref1 + 2, ref2 );
+
+ IConnectionPointContainer_Release( cpc );
IConnectionPointContainer_Release( cpc );
+ hr = IConnectionPoint_GetConnectionPointContainer( pt, &cpc2 );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( cpc2 == cpc, "Expected cpc2 == %p, but got %p\n", cpc, cpc2 );
+ IConnectionPointContainer_Release( cpc2 );
+
+ memset( &iid, 0, sizeof(iid) );
+ hr = IConnectionPoint_GetConnectionInterface( pt, &iid );
+ ok( hr == S_OK, "got %08x\n", hr );
+ ok( !memcmp( &iid, &IID_INetworkListManagerEvents, sizeof(iid) ),
+ "Expected iid to be IID_INetworkListManagerEvents\n" );
+
+ IConnectionPoint_Release( pt );
+ IConnectionPointContainer_Release( cpc );
INetworkListManager_Release( mgr );
}
More information about the wine-cvs
mailing list