scrrun/tests: Fix DriveCollection clone tests when there's only one drive.
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
03c761cf17
commit
015c20a7b7
|
@ -973,7 +973,7 @@ static void test_GetFolder(void)
|
||||||
IFolder_Release(folder);
|
IFolder_Release(folder);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _test_clone(IEnumVARIANT *enumvar, BOOL position_inherited, int line)
|
static void _test_clone(IEnumVARIANT *enumvar, BOOL position_inherited, LONG count, int line)
|
||||||
{
|
{
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
IEnumVARIANT *clone;
|
IEnumVARIANT *clone;
|
||||||
|
@ -998,17 +998,25 @@ static void _test_clone(IEnumVARIANT *enumvar, BOOL position_inherited, int line
|
||||||
VariantInit(&var2);
|
VariantInit(&var2);
|
||||||
fetched = -1;
|
fetched = -1;
|
||||||
hr = IEnumVARIANT_Next(clone, 1, &var2, &fetched);
|
hr = IEnumVARIANT_Next(clone, 1, &var2, &fetched);
|
||||||
ok(hr == S_OK, "%d: got 0x%08x\n", line, hr);
|
if (position_inherited && count == 1)
|
||||||
ok(fetched == 1, "%d: got %d\n", line, fetched);
|
{
|
||||||
if (!position_inherited)
|
ok(hr == S_FALSE, "%d: got 0x%08x\n", line, hr);
|
||||||
todo_wine ok(V_DISPATCH(&var) == V_DISPATCH(&var2), "%d: values don't match\n", line);
|
ok(fetched == 0, "%d: got %d\n", line, fetched);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fetched = -1;
|
|
||||||
hr = IEnumVARIANT_Next(enumvar, 1, &var, &fetched);
|
|
||||||
ok(hr == S_OK, "%d: got 0x%08x\n", line, hr);
|
ok(hr == S_OK, "%d: got 0x%08x\n", line, hr);
|
||||||
ok(fetched == 1, "%d: got %d\n", line, fetched);
|
ok(fetched == 1, "%d: got %d\n", line, fetched);
|
||||||
todo_wine ok(V_DISPATCH(&var) == V_DISPATCH(&var2), "%d: values don't match\n", line);
|
if (!position_inherited)
|
||||||
|
todo_wine ok(V_DISPATCH(&var) == V_DISPATCH(&var2), "%d: values don't match\n", line);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fetched = -1;
|
||||||
|
hr = IEnumVARIANT_Next(enumvar, 1, &var, &fetched);
|
||||||
|
ok(hr == S_OK, "%d: got 0x%08x\n", line, hr);
|
||||||
|
ok(fetched == 1, "%d: got %d\n", line, fetched);
|
||||||
|
todo_wine ok(V_DISPATCH(&var) == V_DISPATCH(&var2), "%d: values don't match\n", line);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
VariantClear(&var2);
|
VariantClear(&var2);
|
||||||
|
@ -1018,7 +1026,7 @@ static void _test_clone(IEnumVARIANT *enumvar, BOOL position_inherited, int line
|
||||||
hr = IEnumVARIANT_Reset(enumvar);
|
hr = IEnumVARIANT_Reset(enumvar);
|
||||||
ok(hr == S_OK, "%d: got 0x%08x\n", line, hr);
|
ok(hr == S_OK, "%d: got 0x%08x\n", line, hr);
|
||||||
}
|
}
|
||||||
#define test_clone(a, b) _test_clone(a, b, __LINE__)
|
#define test_clone(a, b, c) _test_clone(a, b, c, __LINE__)
|
||||||
|
|
||||||
/* Please keep the tests for IFolderCollection and IFileCollection in sync */
|
/* Please keep the tests for IFolderCollection and IFileCollection in sync */
|
||||||
static void test_FolderCollection(void)
|
static void test_FolderCollection(void)
|
||||||
|
@ -1115,7 +1123,7 @@ static void test_FolderCollection(void)
|
||||||
ref2 = GET_REFCOUNT(folders);
|
ref2 = GET_REFCOUNT(folders);
|
||||||
ok(ref2 == ref, "got %d, %d\n", ref2, ref);
|
ok(ref2 == ref, "got %d, %d\n", ref2, ref);
|
||||||
|
|
||||||
test_clone(enumvar, FALSE);
|
test_clone(enumvar, FALSE, count);
|
||||||
|
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
|
@ -1285,7 +1293,7 @@ static void test_FileCollection(void)
|
||||||
ref2 = GET_REFCOUNT(files);
|
ref2 = GET_REFCOUNT(files);
|
||||||
ok(ref2 == ref, "got %d, %d\n", ref2, ref);
|
ok(ref2 == ref, "got %d, %d\n", ref2, ref);
|
||||||
|
|
||||||
test_clone(enumvar, FALSE);
|
test_clone(enumvar, FALSE, count);
|
||||||
|
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
|
@ -1399,7 +1407,7 @@ static void test_DriveCollection(void)
|
||||||
hr = IEnumVARIANT_Skip(enumvar, 1);
|
hr = IEnumVARIANT_Skip(enumvar, 1);
|
||||||
ok(hr == S_FALSE, "got 0x%08x\n", hr);
|
ok(hr == S_FALSE, "got 0x%08x\n", hr);
|
||||||
|
|
||||||
test_clone(enumvar, TRUE);
|
test_clone(enumvar, TRUE, count);
|
||||||
|
|
||||||
while (IEnumVARIANT_Next(enumvar, 1, &var, &fetched) == S_OK) {
|
while (IEnumVARIANT_Next(enumvar, 1, &var, &fetched) == S_OK) {
|
||||||
IDrive *drive = (IDrive*)V_DISPATCH(&var);
|
IDrive *drive = (IDrive*)V_DISPATCH(&var);
|
||||||
|
|
Loading…
Reference in New Issue