netprofm/tests: Add tests for ConnectionPointContainer::FindConnectionPoint.
The refcounting is also tested because some apps depend on that.
This commit is contained in:
parent
8e99972204
commit
d07f76e39a
|
@ -27,12 +27,15 @@
|
||||||
|
|
||||||
static void test_INetworkListManager( void )
|
static void test_INetworkListManager( void )
|
||||||
{
|
{
|
||||||
IConnectionPointContainer *cpc;
|
IConnectionPointContainer *cpc, *cpc2;
|
||||||
INetworkListManager *mgr;
|
INetworkListManager *mgr;
|
||||||
INetworkCostManager *cost_mgr;
|
INetworkCostManager *cost_mgr;
|
||||||
NLM_CONNECTIVITY connectivity;
|
NLM_CONNECTIVITY connectivity;
|
||||||
VARIANT_BOOL connected;
|
VARIANT_BOOL connected;
|
||||||
|
IConnectionPoint *pt;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
ULONG ref1, ref2;
|
||||||
|
IID iid;
|
||||||
|
|
||||||
hr = CoCreateInstance( &CLSID_NetworkListManager, NULL, CLSCTX_INPROC_SERVER,
|
hr = CoCreateInstance( &CLSID_NetworkListManager, NULL, CLSCTX_INPROC_SERVER,
|
||||||
&IID_INetworkListManager, (void **)&mgr );
|
&IID_INetworkListManager, (void **)&mgr );
|
||||||
|
@ -78,8 +81,31 @@ static void test_INetworkListManager( void )
|
||||||
|
|
||||||
hr = INetworkListManager_QueryInterface( mgr, &IID_IConnectionPointContainer, (void**)&cpc );
|
hr = INetworkListManager_QueryInterface( mgr, &IID_IConnectionPointContainer, (void**)&cpc );
|
||||||
ok( hr == S_OK, "got %08x\n", hr );
|
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 );
|
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 );
|
INetworkListManager_Release( mgr );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue