Nikolay Sivov : scrrun/tests: Test to query for IUnknown from IProvideClassInfo.

Alexandre Julliard julliard at winehq.org
Mon Dec 12 16:15:27 CST 2016


Module: wine
Branch: master
Commit: 2c2b50a4ed5143fea37b3c3c572c9d09069a60df
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=2c2b50a4ed5143fea37b3c3c572c9d09069a60df

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Sun Dec 11 08:13:51 2016 +0300

scrrun/tests: Test to query for IUnknown from IProvideClassInfo.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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);




More information about the wine-cvs mailing list