[PATCH v2 2/5] quartz/tests: Move the test for filter mapper aggregation to filtergraph.c.

Zebediah Figura z.figura12 at gmail.com
Sun Feb 2 16:34:32 CST 2020


Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/quartz/tests/filtergraph.c  | 25 ++++++++++++++
 dlls/quartz/tests/filtermapper.c | 58 --------------------------------
 2 files changed, 25 insertions(+), 58 deletions(-)

diff --git a/dlls/quartz/tests/filtergraph.c b/dlls/quartz/tests/filtergraph.c
index 01152c214a3..5b913d828da 100644
--- a/dlls/quartz/tests/filtergraph.c
+++ b/dlls/quartz/tests/filtergraph.c
@@ -2493,6 +2493,7 @@ static IUnknown test_outer = {&outer_vtbl};
 static void test_aggregation(void)
 {
     IFilterGraph2 *graph, *graph2;
+    IFilterMapper2 *mapper;
     IUnknown *unk, *unk2;
     HRESULT hr;
     ULONG ref;
@@ -2547,6 +2548,30 @@ static void test_aggregation(void)
     ref = IUnknown_Release(unk);
     ok(!ref, "Got unexpected refcount %d.\n", ref);
     ok(outer_ref == 1, "Got unexpected refcount %d.\n", outer_ref);
+
+    /* Test the aggregated filter mapper. */
+
+    graph = create_graph();
+
+    ref = get_refcount(graph);
+    ok(ref == 1, "Got unexpected refcount %d.\n", ref);
+
+    hr = IFilterGraph2_QueryInterface(graph, &IID_IFilterMapper2, (void **)&mapper);
+    ok(hr == S_OK, "Got hr %#x.\n", hr);
+
+    ref = get_refcount(graph);
+    ok(ref == 2, "Got unexpected refcount %d.\n", ref);
+    ref = get_refcount(mapper);
+    ok(ref == 2, "Got unexpected refcount %d.\n", ref);
+
+    hr = IFilterMapper2_QueryInterface(mapper, &IID_IFilterGraph2, (void **)&graph2);
+    ok(hr == S_OK, "Got hr %#x.\n", hr);
+    ok(graph2 == graph, "Got unexpected IFilterGraph2 %p.\n", graph2);
+    IFilterGraph2_Release(graph2);
+
+    IFilterMapper2_Release(mapper);
+    ref = IFilterGraph2_Release(graph);
+    ok(!ref, "Got unexpected refcount %d.\n", ref);
 }
 
 /* Test how methods from "control" interfaces (IBasicAudio, IBasicVideo,
diff --git a/dlls/quartz/tests/filtermapper.c b/dlls/quartz/tests/filtermapper.c
index cdfe964b98d..21bf8891f7f 100644
--- a/dlls/quartz/tests/filtermapper.c
+++ b/dlls/quartz/tests/filtermapper.c
@@ -362,63 +362,6 @@ static void test_legacy_filter_registration(void)
     IFilterMapper2_Release(mapper2);
 }
 
-static ULONG getRefcount(IUnknown *iface)
-{
-    IUnknown_AddRef(iface);
-    return IUnknown_Release(iface);
-}
-
-static void test_ifiltermapper_from_filtergraph(void)
-{
-    IFilterGraph2* pgraph2 = NULL;
-    IFilterMapper2 *pMapper2 = NULL;
-    IFilterGraph *filtergraph = NULL;
-    HRESULT hr;
-    ULONG refcount;
-
-    hr = CoCreateInstance(&CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, &IID_IFilterGraph2, (LPVOID*)&pgraph2);
-    ok(hr == S_OK, "CoCreateInstance failed with %08x\n", hr);
-    if (!pgraph2) goto out;
-
-    hr = IFilterGraph2_QueryInterface(pgraph2, &IID_IFilterMapper2, (LPVOID*)&pMapper2);
-    ok(hr == S_OK, "IFilterGraph2_QueryInterface failed with %08x\n", hr);
-    if (!pMapper2) goto out;
-
-    refcount = getRefcount((IUnknown*)pgraph2);
-    ok(refcount == 2, "unexpected reference count: %u\n", refcount);
-    refcount = getRefcount((IUnknown*)pMapper2);
-    ok(refcount == 2, "unexpected reference count: %u\n", refcount);
-
-    IFilterMapper2_AddRef(pMapper2);
-    refcount = getRefcount((IUnknown*)pgraph2);
-    ok(refcount == 3, "unexpected reference count: %u\n", refcount);
-    refcount = getRefcount((IUnknown*)pMapper2);
-    ok(refcount == 3, "unexpected reference count: %u\n", refcount);
-    IFilterMapper2_Release(pMapper2);
-
-    hr = IFilterMapper2_QueryInterface(pMapper2, &IID_IFilterGraph, (LPVOID*)&filtergraph);
-    ok(hr == S_OK, "IFilterMapper2_QueryInterface failed with %08x\n", hr);
-    if (!filtergraph) goto out;
-
-    IFilterMapper2_Release(pMapper2);
-    pMapper2 = NULL;
-    IFilterGraph_Release(filtergraph);
-    filtergraph = NULL;
-
-    hr = CoCreateInstance(&CLSID_FilterMapper2, NULL, CLSCTX_INPROC_SERVER, &IID_IFilterMapper2, (LPVOID*)&pMapper2);
-    ok(hr == S_OK, "CoCreateInstance failed with %08x\n", hr);
-    if (!pMapper2) goto out;
-
-    hr = IFilterMapper2_QueryInterface(pMapper2, &IID_IFilterGraph, (LPVOID*)&filtergraph);
-    ok(hr == E_NOINTERFACE, "IFilterMapper2_QueryInterface unexpected result: %08x\n", hr);
-
-    out:
-
-    if (pMapper2) IFilterMapper2_Release(pMapper2);
-    if (filtergraph) IFilterGraph_Release(filtergraph);
-    if (pgraph2) IFilterGraph2_Release(pgraph2);
-}
-
 static void test_register_filter_with_null_clsMinorType(void)
 {
     static WCHAR wszPinName[] = L"Pin";
@@ -666,7 +609,6 @@ START_TEST(filtermapper)
     test_interfaces();
     test_fm2_enummatchingfilters();
     test_legacy_filter_registration();
-    test_ifiltermapper_from_filtergraph();
     test_register_filter_with_null_clsMinorType();
     test_parse_filter_data();
     test_aggregation();
-- 
2.25.0




More information about the wine-devel mailing list