=?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