[PATCH] scrrun/tests: Test to query for IUnknown from IProvideClassInfo

Nikolay Sivov nsivov at codeweavers.com
Sat Dec 10 23:13:51 CST 2016


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/scrrun/tests/dictionary.c | 6 ++++++
 dlls/scrrun/tests/filesystem.c | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/dlls/scrrun/tests/dictionary.c b/dlls/scrrun/tests/dictionary.c
index 78922b7..658dd66 100644
--- a/dlls/scrrun/tests/dictionary.c
+++ b/dlls/scrrun/tests/dictionary.c
@@ -36,6 +36,7 @@ static void _test_provideclassinfo(IDispatch *disp, const GUID *guid, int line)
     IProvideClassInfo *classinfo;
     TYPEATTR *attr;
     ITypeInfo *ti;
+    IUnknown *unk;
     HRESULT hr;
 
     hr = IDispatch_QueryInterface(disp, &IID_IProvideClassInfo, (void **)&classinfo);
@@ -50,6 +51,11 @@ static void _test_provideclassinfo(IDispatch *disp, const GUID *guid, int line)
     ok_(__FILE__,line) (IsEqualGUID(&attr->guid, guid), "Unexpected typeinfo %s, expected %s\n", wine_dbgstr_guid(&attr->guid),
         wine_dbgstr_guid(guid));
 
+    hr = IProvideClassInfo_QueryInterface(classinfo, &IID_IUnknown, (void **)&unk);
+    ok(hr == S_OK, "Failed to QI for IUnknown.\n");
+    ok(unk == (IUnknown *)disp, "Got unk %p, original %p\n", unk, disp);
+    IUnknown_Release(unk);
+
     IProvideClassInfo_Release(classinfo);
     ITypeInfo_ReleaseTypeAttr(ti, attr);
     ITypeInfo_Release(ti);
diff --git a/dlls/scrrun/tests/filesystem.c b/dlls/scrrun/tests/filesystem.c
index 5516099..57aacf6 100644
--- a/dlls/scrrun/tests/filesystem.c
+++ b/dlls/scrrun/tests/filesystem.c
@@ -106,6 +106,7 @@ static void _test_provideclassinfo(IDispatch *disp, const GUID *guid, int line)
     IProvideClassInfo *classinfo;
     TYPEATTR *attr;
     ITypeInfo *ti;
+    IUnknown *unk;
     HRESULT hr;
 
     hr = IDispatch_QueryInterface(disp, &IID_IProvideClassInfo, (void **)&classinfo);
@@ -120,6 +121,11 @@ static void _test_provideclassinfo(IDispatch *disp, const GUID *guid, int line)
     ok_(__FILE__,line) (IsEqualGUID(&attr->guid, guid), "Unexpected typeinfo %s, expected %s\n", wine_dbgstr_guid(&attr->guid),
         wine_dbgstr_guid(guid));
 
+    hr = IProvideClassInfo_QueryInterface(classinfo, &IID_IUnknown, (void **)&unk);
+    ok(hr == S_OK, "Failed to QI for IUnknown.\n");
+    ok(unk == (IUnknown *)disp, "Got unk %p, original %p.\n", unk, disp);
+    IUnknown_Release(unk);
+
     IProvideClassInfo_Release(classinfo);
     ITypeInfo_ReleaseTypeAttr(ti, attr);
     ITypeInfo_Release(ti);
-- 
2.10.2




More information about the wine-patches mailing list