Zebediah Figura : quartz/tests: Test that IFilterMapper enums filters registered with IFilterMapper2.

Alexandre Julliard julliard at winehq.org
Mon Mar 5 16:14:32 CST 2018


Module: wine
Branch: master
Commit: dd92761706098f1e8d08e8736236ed40908cffd8
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=dd92761706098f1e8d08e8736236ed40908cffd8

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Sun Mar  4 23:11:06 2018 -0600

quartz/tests: Test that IFilterMapper enums filters registered with IFilterMapper2.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/quartz/tests/filtermapper.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/dlls/quartz/tests/filtermapper.c b/dlls/quartz/tests/filtermapper.c
index 99e77b5..602a6d1 100644
--- a/dlls/quartz/tests/filtermapper.c
+++ b/dlls/quartz/tests/filtermapper.c
@@ -65,7 +65,9 @@ static BOOL enum_find_filter(const WCHAR *wszFilterName, IEnumMoniker *pEnum)
 
 static void test_fm2_enummatchingfilters(void)
 {
+    IEnumRegFilters *enum_reg;
     IFilterMapper2 *pMapper = NULL;
+    IFilterMapper *mapper;
     HRESULT hr;
     REGFILTER2 rgf2;
     REGFILTERPINS2 rgPins2[2];
@@ -76,6 +78,8 @@ static void test_fm2_enummatchingfilters(void)
     CLSID clsidFilter2;
     IEnumMoniker *pEnum = NULL;
     BOOL found, registered = TRUE;
+    REGFILTER *regfilter;
+    ULONG count;
 
     ZeroMemory(&rgf2, sizeof(rgf2));
 
@@ -168,6 +172,22 @@ static void test_fm2_enummatchingfilters(void)
             found = enum_find_filter(wszFilterName1, pEnum);
             ok(found, "EnumMatchingFilters failed to return the test filter 1\n");
         }
+
+        hr = IFilterMapper2_QueryInterface(pMapper, &IID_IFilterMapper, (void **)&mapper);
+        ok(hr == S_OK, "QueryInterface(IFilterMapper) failed: %#x\n", hr);
+
+        found = FALSE;
+        hr = IFilterMapper_EnumMatchingFilters(mapper, &enum_reg, MERIT_UNLIKELY,
+            FALSE, GUID_NULL, GUID_NULL, FALSE, FALSE, GUID_NULL, GUID_NULL);
+        ok(hr == S_OK, "IFilterMapper_EnumMatchingFilters failed: %#x\n", hr);
+        while (!found && IEnumRegFilters_Next(enum_reg, 1, &regfilter, &count) == S_OK)
+        {
+            trace("%s %s\n", wine_dbgstr_guid(&regfilter->Clsid), wine_dbgstr_w(regfilter->Name));
+            if (!lstrcmpW(regfilter->Name, wszFilterName1) && IsEqualGUID(&clsidFilter1, &regfilter->Clsid))
+                found = TRUE;
+        }
+        IEnumRegFilters_Release(enum_reg);
+        ok(found, "IFilterMapper didn't find filter\n");
     }
 
     if (pEnum) IEnumMoniker_Release(pEnum);




More information about the wine-cvs mailing list