ole32/tests: Simplify test monikers creation helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
b7e4a5bcbd
commit
23390c9a35
|
@ -127,33 +127,41 @@ static IMoniker *create_antimoniker(DWORD level)
|
||||||
return moniker;
|
return moniker;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT create_moniker_from_desc(const char *desc, unsigned int *eaten,
|
static HRESULT create_moniker_parse_desc(const char *desc, unsigned int *eaten,
|
||||||
IMoniker **moniker)
|
IMoniker **moniker)
|
||||||
{
|
{
|
||||||
|
unsigned int comp_len = 0;
|
||||||
|
WCHAR itemnameW[3] = L"Ix";
|
||||||
IMoniker *left, *right;
|
IMoniker *left, *right;
|
||||||
WCHAR nameW[3];
|
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
desc += *eaten;
|
|
||||||
|
|
||||||
switch (*desc)
|
switch (*desc)
|
||||||
{
|
{
|
||||||
case 'I':
|
case 'I':
|
||||||
nameW[0] = desc[0];
|
itemnameW[1] = desc[1];
|
||||||
nameW[1] = desc[1];
|
*eaten = 2;
|
||||||
nameW[2] = 0;
|
return CreateItemMoniker(L"!", itemnameW, moniker);
|
||||||
*eaten += 2;
|
|
||||||
return CreateItemMoniker(L"!", nameW, moniker);
|
|
||||||
case 'A':
|
case 'A':
|
||||||
*eaten += 2;
|
*eaten = 2;
|
||||||
*moniker = create_antimoniker(desc[1] - '0');
|
*moniker = create_antimoniker(desc[1] - '0');
|
||||||
return S_OK;
|
return S_OK;
|
||||||
case 'C':
|
case 'C':
|
||||||
(*eaten)++;
|
*eaten = 1;
|
||||||
hr = create_moniker_from_desc(desc, eaten, &left);
|
desc++;
|
||||||
|
|
||||||
|
comp_len = 0;
|
||||||
|
hr = create_moniker_parse_desc(desc, &comp_len, &left);
|
||||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
hr = create_moniker_from_desc(desc, eaten, &right);
|
|
||||||
|
*eaten += comp_len;
|
||||||
|
desc += comp_len;
|
||||||
|
|
||||||
|
comp_len = 0;
|
||||||
|
hr = create_moniker_parse_desc(desc, &comp_len, &right);
|
||||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
|
*eaten += comp_len;
|
||||||
|
|
||||||
hr = CreateGenericComposite(left, right, moniker);
|
hr = CreateGenericComposite(left, right, moniker);
|
||||||
IMoniker_Release(left);
|
IMoniker_Release(left);
|
||||||
IMoniker_Release(right);
|
IMoniker_Release(right);
|
||||||
|
@ -164,6 +172,12 @@ static HRESULT create_moniker_from_desc(const char *desc, unsigned int *eaten,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static HRESULT create_moniker_from_desc(const char *desc, IMoniker **moniker)
|
||||||
|
{
|
||||||
|
unsigned int eaten = 0;
|
||||||
|
return create_moniker_parse_desc(desc, &eaten, moniker);
|
||||||
|
}
|
||||||
|
|
||||||
static SIZE_T round_global_size(SIZE_T size)
|
static SIZE_T round_global_size(SIZE_T size)
|
||||||
{
|
{
|
||||||
static SIZE_T global_size_alignment = -1;
|
static SIZE_T global_size_alignment = -1;
|
||||||
|
@ -2642,8 +2656,7 @@ todo_wine
|
||||||
|
|
||||||
/* Simplification has to through generic composite logic,
|
/* Simplification has to through generic composite logic,
|
||||||
even when resolved to non-composite, generic composite option has to be enabled. */
|
even when resolved to non-composite, generic composite option has to be enabled. */
|
||||||
eaten = 0;
|
hr = create_moniker_from_desc("CA1A3", &c);
|
||||||
hr = create_moniker_from_desc("CA1A3", &eaten, &c);
|
|
||||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
hr = IMoniker_ComposeWith(moniker, c, TRUE, &moniker2);
|
hr = IMoniker_ComposeWith(moniker, c, TRUE, &moniker2);
|
||||||
ok(hr == MK_E_NEEDGENERIC, "Unexpected hr %#x.\n", hr);
|
ok(hr == MK_E_NEEDGENERIC, "Unexpected hr %#x.\n", hr);
|
||||||
|
@ -2972,7 +2985,6 @@ static void test_generic_composite_moniker(void)
|
||||||
IMoniker *moniker, *inverse, *moniker1, *moniker2;
|
IMoniker *moniker, *inverse, *moniker1, *moniker2;
|
||||||
IEnumMoniker *enummoniker;
|
IEnumMoniker *enummoniker;
|
||||||
IRunningObjectTable *rot;
|
IRunningObjectTable *rot;
|
||||||
unsigned int eaten, i;
|
|
||||||
DWORD hash, cookie;
|
DWORD hash, cookie;
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
IBindCtx *bindctx;
|
IBindCtx *bindctx;
|
||||||
|
@ -2981,6 +2993,7 @@ static void test_generic_composite_moniker(void)
|
||||||
IROTData *rotdata;
|
IROTData *rotdata;
|
||||||
IMarshal *marshal;
|
IMarshal *marshal;
|
||||||
IStream *stream;
|
IStream *stream;
|
||||||
|
unsigned int i;
|
||||||
FILETIME ft;
|
FILETIME ft;
|
||||||
WCHAR *str;
|
WCHAR *str;
|
||||||
ULONG len;
|
ULONG len;
|
||||||
|
@ -2991,16 +3004,14 @@ static void test_generic_composite_moniker(void)
|
||||||
for (i = 0; i < ARRAY_SIZE(simplify_tests); ++i)
|
for (i = 0; i < ARRAY_SIZE(simplify_tests); ++i)
|
||||||
{
|
{
|
||||||
IMoniker *left, *right, *composite = NULL;
|
IMoniker *left, *right, *composite = NULL;
|
||||||
unsigned int moniker_type, eaten;
|
unsigned int moniker_type;
|
||||||
WCHAR *name;
|
WCHAR *name;
|
||||||
|
|
||||||
winetest_push_context("simplify[%u]", i);
|
winetest_push_context("simplify[%u]", i);
|
||||||
|
|
||||||
eaten = 0;
|
hr = create_moniker_from_desc(simplify_tests[i].left, &left);
|
||||||
hr = create_moniker_from_desc(simplify_tests[i].left, &eaten, &left);
|
|
||||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
eaten = 0;
|
hr = create_moniker_from_desc(simplify_tests[i].right, &right);
|
||||||
hr = create_moniker_from_desc(simplify_tests[i].right, &eaten, &right);
|
|
||||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
hr = CreateGenericComposite(left, right, &composite);
|
hr = CreateGenericComposite(left, right, &composite);
|
||||||
ok(hr == S_OK, "Failed to create a composite, hr %#x.\n", hr);
|
ok(hr == S_OK, "Failed to create a composite, hr %#x.\n", hr);
|
||||||
|
@ -3162,12 +3173,10 @@ todo_wine
|
||||||
IMoniker_Release(moniker);
|
IMoniker_Release(moniker);
|
||||||
|
|
||||||
/* GetTimeOfLastChange() */
|
/* GetTimeOfLastChange() */
|
||||||
eaten = 0;
|
hr = create_moniker_from_desc("CI1I2", &moniker);
|
||||||
hr = create_moniker_from_desc("CI1I2", &eaten, &moniker);
|
|
||||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
eaten = 0;
|
hr = create_moniker_from_desc("I1", &moniker1);
|
||||||
hr = create_moniker_from_desc("I1", &eaten, &moniker1);
|
|
||||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
||||||
/* See if non-generic composition is possible */
|
/* See if non-generic composition is possible */
|
||||||
|
@ -3224,7 +3233,6 @@ static void test_pointer_moniker(void)
|
||||||
IStream *stream;
|
IStream *stream;
|
||||||
IROTData *rotdata;
|
IROTData *rotdata;
|
||||||
LPOLESTR display_name;
|
LPOLESTR display_name;
|
||||||
unsigned int eaten;
|
|
||||||
IMarshal *marshal;
|
IMarshal *marshal;
|
||||||
LARGE_INTEGER pos;
|
LARGE_INTEGER pos;
|
||||||
CLSID clsid;
|
CLSID clsid;
|
||||||
|
@ -3417,8 +3425,7 @@ static void test_pointer_moniker(void)
|
||||||
even when resolved to non-composite, generic composite option has to be enabled. */
|
even when resolved to non-composite, generic composite option has to be enabled. */
|
||||||
|
|
||||||
/* P + (A,A3) -> A3 */
|
/* P + (A,A3) -> A3 */
|
||||||
eaten = 0;
|
hr = create_moniker_from_desc("CA1A3", &c);
|
||||||
hr = create_moniker_from_desc("CA1A3", &eaten, &c);
|
|
||||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
hr = IMoniker_ComposeWith(moniker, c, TRUE, &moniker2);
|
hr = IMoniker_ComposeWith(moniker, c, TRUE, &moniker2);
|
||||||
ok(hr == MK_E_NEEDGENERIC, "Unexpected hr %#x.\n", hr);
|
ok(hr == MK_E_NEEDGENERIC, "Unexpected hr %#x.\n", hr);
|
||||||
|
@ -3432,8 +3439,7 @@ static void test_pointer_moniker(void)
|
||||||
IMoniker_Release(c);
|
IMoniker_Release(c);
|
||||||
|
|
||||||
/* P + (A,I) -> I */
|
/* P + (A,I) -> I */
|
||||||
eaten = 0;
|
hr = create_moniker_from_desc("CA1I1", &c);
|
||||||
hr = create_moniker_from_desc("CA1I1", &eaten, &c);
|
|
||||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||||
hr = IMoniker_ComposeWith(moniker, c, TRUE, &moniker2);
|
hr = IMoniker_ComposeWith(moniker, c, TRUE, &moniker2);
|
||||||
ok(hr == MK_E_NEEDGENERIC, "Unexpected hr %#x.\n", hr);
|
ok(hr == MK_E_NEEDGENERIC, "Unexpected hr %#x.\n", hr);
|
||||||
|
|
Loading…
Reference in New Issue