ole32/tests: Add a trivial test for IMoniker::Enum().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
b9a5ab67f1
commit
7caa9d0bc8
|
@ -1532,6 +1532,7 @@ todo_wine_if(moniker_type == MKSYS_GENERICCOMPOSITE)
|
||||||
static void test_class_moniker(void)
|
static void test_class_moniker(void)
|
||||||
{
|
{
|
||||||
IMoniker *moniker, *inverse, *reduced;
|
IMoniker *moniker, *inverse, *reduced;
|
||||||
|
IEnumMoniker *enummoniker;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
DWORD moniker_type;
|
DWORD moniker_type;
|
||||||
DWORD hash;
|
DWORD hash;
|
||||||
|
@ -1609,6 +1610,21 @@ todo_wine
|
||||||
ok(reduced == moniker, "Unexpected moniker.\n");
|
ok(reduced == moniker, "Unexpected moniker.\n");
|
||||||
IMoniker_Release(reduced);
|
IMoniker_Release(reduced);
|
||||||
|
|
||||||
|
/* Enum() */
|
||||||
|
enummoniker = (void *)0xdeadbeef;
|
||||||
|
hr = IMoniker_Enum(moniker, TRUE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(!enummoniker, "Unexpected pointer.\n");
|
||||||
|
|
||||||
|
enummoniker = (void *)0xdeadbeef;
|
||||||
|
hr = IMoniker_Enum(moniker, FALSE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(!enummoniker, "Unexpected pointer.\n");
|
||||||
|
|
||||||
|
hr = IMoniker_Enum(moniker, FALSE, NULL);
|
||||||
|
todo_wine
|
||||||
|
ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
IBindCtx_Release(bindctx);
|
IBindCtx_Release(bindctx);
|
||||||
|
|
||||||
IMoniker_Release(moniker);
|
IMoniker_Release(moniker);
|
||||||
|
@ -1617,6 +1633,7 @@ todo_wine
|
||||||
static void test_file_moniker(WCHAR* path)
|
static void test_file_moniker(WCHAR* path)
|
||||||
{
|
{
|
||||||
IMoniker *moniker1 = NULL, *moniker2 = NULL, *inverse, *reduced;
|
IMoniker *moniker1 = NULL, *moniker2 = NULL, *inverse, *reduced;
|
||||||
|
IEnumMoniker *enummoniker;
|
||||||
DWORD moniker_type;
|
DWORD moniker_type;
|
||||||
IBindCtx *bind_ctx;
|
IBindCtx *bind_ctx;
|
||||||
IStream *stream;
|
IStream *stream;
|
||||||
|
@ -1673,6 +1690,21 @@ todo_wine
|
||||||
ok(reduced == moniker1, "Unexpected moniker.\n");
|
ok(reduced == moniker1, "Unexpected moniker.\n");
|
||||||
IMoniker_Release(reduced);
|
IMoniker_Release(reduced);
|
||||||
|
|
||||||
|
/* Enum() */
|
||||||
|
enummoniker = (void *)0xdeadbeef;
|
||||||
|
hr = IMoniker_Enum(moniker1, TRUE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(!enummoniker, "Unexpected pointer.\n");
|
||||||
|
|
||||||
|
enummoniker = (void *)0xdeadbeef;
|
||||||
|
hr = IMoniker_Enum(moniker1, FALSE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(!enummoniker, "Unexpected pointer.\n");
|
||||||
|
|
||||||
|
hr = IMoniker_Enum(moniker1, FALSE, NULL);
|
||||||
|
todo_wine
|
||||||
|
ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
IBindCtx_Release(bind_ctx);
|
IBindCtx_Release(bind_ctx);
|
||||||
|
|
||||||
IStream_Release(stream);
|
IStream_Release(stream);
|
||||||
|
@ -1792,6 +1824,7 @@ static void test_item_moniker(void)
|
||||||
static const WCHAR wszDelimiter[] = {'!',0};
|
static const WCHAR wszDelimiter[] = {'!',0};
|
||||||
static const WCHAR wszObjectName[] = {'T','e','s','t',0};
|
static const WCHAR wszObjectName[] = {'T','e','s','t',0};
|
||||||
static const WCHAR expected_display_name[] = { '!','T','e','s','t',0 };
|
static const WCHAR expected_display_name[] = { '!','T','e','s','t',0 };
|
||||||
|
IEnumMoniker *enummoniker;
|
||||||
WCHAR *display_name;
|
WCHAR *display_name;
|
||||||
LARGE_INTEGER pos;
|
LARGE_INTEGER pos;
|
||||||
IStream *stream;
|
IStream *stream;
|
||||||
|
@ -1946,6 +1979,21 @@ todo_wine
|
||||||
ok(reduced == moniker, "Unexpected moniker.\n");
|
ok(reduced == moniker, "Unexpected moniker.\n");
|
||||||
IMoniker_Release(reduced);
|
IMoniker_Release(reduced);
|
||||||
|
|
||||||
|
/* Enum() */
|
||||||
|
enummoniker = (void *)0xdeadbeef;
|
||||||
|
hr = IMoniker_Enum(moniker, TRUE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(!enummoniker, "Unexpected pointer.\n");
|
||||||
|
|
||||||
|
enummoniker = (void *)0xdeadbeef;
|
||||||
|
hr = IMoniker_Enum(moniker, FALSE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(!enummoniker, "Unexpected pointer.\n");
|
||||||
|
|
||||||
|
hr = IMoniker_Enum(moniker, FALSE, NULL);
|
||||||
|
todo_wine
|
||||||
|
ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
IMoniker_Release(moniker);
|
IMoniker_Release(moniker);
|
||||||
|
|
||||||
/* IsEqual */
|
/* IsEqual */
|
||||||
|
@ -1996,6 +2044,7 @@ static void test_anti_moniker(void)
|
||||||
FILETIME filetime;
|
FILETIME filetime;
|
||||||
IUnknown *unknown;
|
IUnknown *unknown;
|
||||||
static const WCHAR expected_display_name[] = { '\\','.','.',0 };
|
static const WCHAR expected_display_name[] = { '\\','.','.',0 };
|
||||||
|
IEnumMoniker *enummoniker;
|
||||||
IStream *stream;
|
IStream *stream;
|
||||||
WCHAR *name;
|
WCHAR *name;
|
||||||
|
|
||||||
|
@ -2169,11 +2218,27 @@ todo_wine
|
||||||
|
|
||||||
IStream_Release(stream);
|
IStream_Release(stream);
|
||||||
|
|
||||||
|
/* Reduce() */
|
||||||
hr = IMoniker_Reduce(moniker, NULL, MKRREDUCE_ALL, NULL, &reduced);
|
hr = IMoniker_Reduce(moniker, NULL, MKRREDUCE_ALL, NULL, &reduced);
|
||||||
ok(hr == MK_S_REDUCED_TO_SELF, "Unexpected hr %#x.\n", hr);
|
ok(hr == MK_S_REDUCED_TO_SELF, "Unexpected hr %#x.\n", hr);
|
||||||
ok(reduced == moniker, "Unexpected moniker.\n");
|
ok(reduced == moniker, "Unexpected moniker.\n");
|
||||||
IMoniker_Release(reduced);
|
IMoniker_Release(reduced);
|
||||||
|
|
||||||
|
/* Enum() */
|
||||||
|
enummoniker = (void *)0xdeadbeef;
|
||||||
|
hr = IMoniker_Enum(moniker, TRUE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(!enummoniker, "Unexpected pointer.\n");
|
||||||
|
|
||||||
|
enummoniker = (void *)0xdeadbeef;
|
||||||
|
hr = IMoniker_Enum(moniker, FALSE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
ok(!enummoniker, "Unexpected pointer.\n");
|
||||||
|
|
||||||
|
hr = IMoniker_Enum(moniker, FALSE, NULL);
|
||||||
|
todo_wine
|
||||||
|
ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
IBindCtx_Release(bindctx);
|
IBindCtx_Release(bindctx);
|
||||||
IMoniker_Release(moniker);
|
IMoniker_Release(moniker);
|
||||||
IMoniker_Release(moniker2);
|
IMoniker_Release(moniker2);
|
||||||
|
@ -2181,6 +2246,7 @@ todo_wine
|
||||||
|
|
||||||
static void test_generic_composite_moniker(void)
|
static void test_generic_composite_moniker(void)
|
||||||
{
|
{
|
||||||
|
IEnumMoniker *enummoniker;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
IMoniker *moniker;
|
IMoniker *moniker;
|
||||||
IMoniker *moniker1;
|
IMoniker *moniker1;
|
||||||
|
@ -2265,18 +2331,31 @@ todo_wine
|
||||||
ok(moniker_type == MKSYS_GENERICCOMPOSITE, "Unexpected moniker type %d.\n", moniker_type);
|
ok(moniker_type == MKSYS_GENERICCOMPOSITE, "Unexpected moniker type %d.\n", moniker_type);
|
||||||
IMoniker_Release(inverse);
|
IMoniker_Release(inverse);
|
||||||
|
|
||||||
|
/* Enum() */
|
||||||
|
hr = IMoniker_Enum(moniker, TRUE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Failed to get enumerator, hr %#x.\n", hr);
|
||||||
|
IEnumMoniker_Release(enummoniker);
|
||||||
|
|
||||||
|
hr = IMoniker_Enum(moniker, FALSE, &enummoniker);
|
||||||
|
ok(hr == S_OK, "Failed to get enumerator, hr %#x.\n", hr);
|
||||||
|
IEnumMoniker_Release(enummoniker);
|
||||||
|
|
||||||
|
hr = IMoniker_Enum(moniker, FALSE, NULL);
|
||||||
|
todo_wine
|
||||||
|
ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
IMoniker_Release(moniker);
|
IMoniker_Release(moniker);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_pointer_moniker(void)
|
static void test_pointer_moniker(void)
|
||||||
{
|
{
|
||||||
|
IMoniker *moniker, *inverse;
|
||||||
|
IEnumMoniker *enummoniker;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
IMoniker *moniker;
|
|
||||||
DWORD moniker_type;
|
DWORD moniker_type;
|
||||||
DWORD hash;
|
DWORD hash;
|
||||||
IBindCtx *bindctx;
|
IBindCtx *bindctx;
|
||||||
FILETIME filetime;
|
FILETIME filetime;
|
||||||
IMoniker *inverse;
|
|
||||||
IUnknown *unknown;
|
IUnknown *unknown;
|
||||||
IStream *stream;
|
IStream *stream;
|
||||||
IROTData *rotdata;
|
IROTData *rotdata;
|
||||||
|
@ -2383,6 +2462,15 @@ todo_wine
|
||||||
|
|
||||||
IBindCtx_Release(bindctx);
|
IBindCtx_Release(bindctx);
|
||||||
|
|
||||||
|
/* Enum() */
|
||||||
|
hr = IMoniker_Enum(moniker, TRUE, &enummoniker);
|
||||||
|
todo_wine
|
||||||
|
ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
|
hr = IMoniker_Enum(moniker, FALSE, &enummoniker);
|
||||||
|
todo_wine
|
||||||
|
ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
IMoniker_Release(moniker);
|
IMoniker_Release(moniker);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue