Module: wine Branch: refs/heads/master Commit: 71a7393f451cca87d0c1625dbc294fa84e0c094e URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=71a7393f451cca87d0c1625d...
Author: Robert Shearman rob@codeweavers.com Date: Mon May 8 15:55:01 2006 +0100
ole32: Add tests for IsRunning, GetTimeOfLastChange, BindToObject, BindToStorage and Inverse.
---
dlls/ole32/tests/moniker.c | 102 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 1 deletions(-)
diff --git a/dlls/ole32/tests/moniker.c b/dlls/ole32/tests/moniker.c index 2e7cd7d..bb22b74 100644 --- a/dlls/ole32/tests/moniker.c +++ b/dlls/ole32/tests/moniker.c @@ -482,6 +482,10 @@ static void test_class_moniker(void) IMoniker *moniker; DWORD moniker_type; DWORD hash; + IBindCtx *bindctx; + IMoniker *inverse; + IUnknown *unknown; + FILETIME filetime;
hr = CreateClassMoniker(&CLSID_StdComponentCategoriesMgr, &moniker); todo_wine ok_ole_success(hr, CreateClassMoniker); @@ -511,6 +515,30 @@ static void test_class_moniker(void) "dwMkSys != MKSYS_CLASSMONIKER, instead was 0x%08lx", moniker_type);
+ hr = CreateBindCtx(0, &bindctx); + ok_ole_success(hr, CreateBindCtx); + + /* IsRunning test */ + hr = IMoniker_IsRunning(moniker, bindctx, NULL, NULL); + ok(hr == E_NOTIMPL, "IMoniker_IsRunning should return E_NOTIMPL, not 0x%08lx\n", hr); + + hr = IMoniker_GetTimeOfLastChange(moniker, bindctx, NULL, &filetime); + ok(hr == MK_E_UNAVAILABLE, "IMoniker_GetTimeOfLastChange should return MK_E_UNAVAILABLE, not 0x%08lx\n", hr); + + hr = IMoniker_BindToObject(moniker, bindctx, NULL, &IID_IUnknown, (void **)&unknown); + ok_ole_success(hr, IMoniker_BindToStorage); + IUnknown_Release(unknown); + + hr = IMoniker_BindToStorage(moniker, bindctx, NULL, &IID_IUnknown, (void **)&unknown); + ok_ole_success(hr, IMoniker_BindToStorage); + IUnknown_Release(unknown); + + IBindCtx_Release(bindctx); + + hr = IMoniker_Inverse(moniker, &inverse); + ok_ole_success(hr, IMoniker_Inverse); + IMoniker_Release(inverse); + IMoniker_Release(moniker); }
@@ -582,6 +610,9 @@ static void test_item_moniker(void) IMoniker *moniker; DWORD moniker_type; DWORD hash; + IBindCtx *bindctx; + IMoniker *inverse; + IUnknown *unknown; static const WCHAR wszDelimeter[] = {'!',0}; static const WCHAR wszObjectName[] = {'T','e','s','t',0}; static const WCHAR expected_display_name[] = { '!','T','e','s','t',0 }; @@ -613,6 +644,25 @@ static void test_item_moniker(void) "dwMkSys != MKSYS_ITEMMONIKER, instead was 0x%08lx", moniker_type);
+ hr = CreateBindCtx(0, &bindctx); + ok_ole_success(hr, CreateBindCtx); + + /* IsRunning test */ + hr = IMoniker_IsRunning(moniker, bindctx, NULL, NULL); + ok(hr == S_FALSE, "IMoniker_IsRunning should return S_FALSE, not 0x%08lx\n", hr); + + hr = IMoniker_BindToObject(moniker, bindctx, NULL, &IID_IUnknown, (void **)&unknown); + ok(hr == E_INVALIDARG, "IMoniker_BindToStorage should return E_INVALIDARG, not 0x%08lx\n", hr); + + hr = IMoniker_BindToStorage(moniker, bindctx, NULL, &IID_IUnknown, (void **)&unknown); + ok(hr == E_INVALIDARG, "IMoniker_BindToObject should return E_INVALIDARG, not 0x%08lx\n", hr); + + IBindCtx_Release(bindctx); + + hr = IMoniker_Inverse(moniker, &inverse); + ok_ole_success(hr, IMoniker_Inverse); + IMoniker_Release(inverse); + IMoniker_Release(moniker); }
@@ -620,9 +670,12 @@ static void test_anti_moniker(void) { HRESULT hr; IMoniker *moniker; - IMoniker *inverse; DWORD moniker_type; DWORD hash; + IBindCtx *bindctx; + FILETIME filetime; + IMoniker *inverse; + IUnknown *unknown; static const WCHAR expected_display_name[] = { '\','.','.',0 };
hr = CreateAntiMoniker(&moniker); @@ -653,6 +706,24 @@ static void test_anti_moniker(void) ok(hr == MK_E_NOINVERSE, "IMoniker_Inverse should have returned MK_E_NOINVERSE instead of 0x%08lx\n", hr); ok(inverse == NULL, "inverse should have been set to NULL instead of %p\n", inverse);
+ hr = CreateBindCtx(0, &bindctx); + ok_ole_success(hr, CreateBindCtx); + + /* IsRunning test */ + hr = IMoniker_IsRunning(moniker, bindctx, NULL, NULL); + ok(hr == S_FALSE, "IMoniker_IsRunning should return S_FALSE, not 0x%08lx\n", hr); + + hr = IMoniker_GetTimeOfLastChange(moniker, bindctx, NULL, &filetime); + ok(hr == E_NOTIMPL, "IMoniker_GetTimeOfLastChange should return E_NOTIMPL, not 0x%08lx\n", hr); + + hr = IMoniker_BindToObject(moniker, bindctx, NULL, &IID_IUnknown, (void **)&unknown); + ok(hr == E_NOTIMPL, "IMoniker_BindToObject should return E_NOTIMPL, not 0x%08lx\n", hr); + + hr = IMoniker_BindToStorage(moniker, bindctx, NULL, &IID_IUnknown, (void **)&unknown); + ok(hr == E_NOTIMPL, "IMoniker_BindToStorage should return E_NOTIMPL, not 0x%08lx\n", hr); + + IBindCtx_Release(bindctx); + IMoniker_Release(moniker); }
@@ -664,6 +735,10 @@ static void test_generic_composite_monik IMoniker *moniker2; DWORD moniker_type; DWORD hash; + IBindCtx *bindctx; + FILETIME filetime; + IMoniker *inverse; + IUnknown *unknown; static const WCHAR wszDelimeter1[] = {'!',0}; static const WCHAR wszObjectName1[] = {'T','e','s','t',0}; static const WCHAR wszDelimeter2[] = {'#',0}; @@ -701,6 +776,31 @@ static void test_generic_composite_monik "dwMkSys != MKSYS_GENERICCOMPOSITE, instead was 0x%08lx", moniker_type);
+ hr = CreateBindCtx(0, &bindctx); + ok_ole_success(hr, CreateBindCtx); + + /* IsRunning test */ + hr = IMoniker_IsRunning(moniker, bindctx, NULL, NULL); + todo_wine + ok(hr == S_FALSE, "IMoniker_IsRunning should return S_FALSE, not 0x%08lx\n", hr); + + hr = IMoniker_GetTimeOfLastChange(moniker, bindctx, NULL, &filetime); + ok(hr == MK_E_NOTBINDABLE, "IMoniker_GetTimeOfLastChange should return MK_E_NOTBINDABLE, not 0x%08lx\n", hr); + + hr = IMoniker_BindToObject(moniker, bindctx, NULL, &IID_IUnknown, (void **)&unknown); + todo_wine + ok(hr == E_INVALIDARG, "IMoniker_BindToObject should return E_INVALIDARG, not 0x%08lx\n", hr); + + todo_wine + hr = IMoniker_BindToStorage(moniker, bindctx, NULL, &IID_IUnknown, (void **)&unknown); + ok(hr == E_INVALIDARG, "IMoniker_BindToStorage should return E_INVALIDARG, not 0x%08lx\n", hr); + + IBindCtx_Release(bindctx); + + hr = IMoniker_Inverse(moniker, &inverse); + ok_ole_success(hr, IMoniker_Inverse); + IMoniker_Release(inverse); + IMoniker_Release(moniker); }