mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-15 11:47:19 +00:00
shell32/tests: Add tests for IFolderView2_{Get, Set}CurrentFolderFlags().
This commit is contained in:
parent
cd09a22439
commit
c8209830d5
|
@ -1493,10 +1493,26 @@ static void test_newmenu(void)
|
|||
|
||||
static void test_folder_flags(void)
|
||||
{
|
||||
IFolderView2 *folderview;
|
||||
FOLDERSETTINGS settings;
|
||||
IShellFolder *desktop;
|
||||
IShellView *shellview;
|
||||
DWORD flags;
|
||||
HRESULT hr;
|
||||
int i;
|
||||
static const struct
|
||||
{
|
||||
DWORD mask, flags;
|
||||
DWORD expected;
|
||||
} tests[] =
|
||||
{
|
||||
{ FWF_USESEARCHFOLDER, FWF_NONE, FWF_NONE },
|
||||
{ FWF_NONE, FWF_AUTOARRANGE, FWF_NONE },
|
||||
{ FWF_AUTOARRANGE, FWF_AUTOARRANGE, FWF_AUTOARRANGE },
|
||||
{ FWF_OWNERDATA, FWF_AUTOARRANGE, FWF_NONE },
|
||||
{ FWF_AUTOARRANGE, FWF_OWNERDATA | FWF_AUTOARRANGE, FWF_AUTOARRANGE },
|
||||
{ ~FWF_NONE, FWF_AUTOARRANGE, FWF_AUTOARRANGE },
|
||||
};
|
||||
|
||||
create_interfaces(&desktop, &shellview);
|
||||
|
||||
|
@ -1507,6 +1523,37 @@ static void test_folder_flags(void)
|
|||
ok(settings.fFlags == FWF_USESEARCHFOLDER || broken(!settings.fFlags) /* pre vista */,
|
||||
"Got flags %#x.\n", settings.fFlags);
|
||||
|
||||
hr = IShellView_QueryInterface(shellview, &IID_IFolderView2, (void **)&folderview);
|
||||
ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* pre vista */, "Got hr %#lx.\n", hr);
|
||||
if (hr != S_OK)
|
||||
{
|
||||
win_skip("No IFolderView2 for the desktop folder.\n");
|
||||
destroy_interfaces(desktop, shellview);
|
||||
return;
|
||||
}
|
||||
|
||||
hr = IFolderView2_GetCurrentFolderFlags(folderview, NULL);
|
||||
todo_wine ok(hr == S_OK, "Got hr %#lx.\n", hr);
|
||||
|
||||
flags = 0xdeadbeef;
|
||||
hr = IFolderView2_GetCurrentFolderFlags(folderview, &flags);
|
||||
todo_wine ok(hr == S_OK, "Got hr %#lx.\n", hr);
|
||||
todo_wine ok(flags == FWF_USESEARCHFOLDER, "Got flags %#lx.\n", flags);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(tests); ++i)
|
||||
{
|
||||
hr = IFolderView2_SetCurrentFolderFlags(folderview, tests[i].mask, tests[i].flags);
|
||||
todo_wine ok(hr == S_OK, "Test %u: Got hr %#lx.\n", i, hr);
|
||||
flags = 0xdeadbeef;
|
||||
hr = IFolderView2_GetCurrentFolderFlags(folderview, &flags);
|
||||
todo_wine ok(hr == S_OK, "Test %u: Got hr %#lx.\n", i, hr);
|
||||
todo_wine ok(flags == tests[i].expected, "Test %u: Got flags %#lx.\n", i, flags);
|
||||
|
||||
hr = IFolderView2_SetCurrentFolderFlags(folderview, ~FWF_NONE, FWF_NONE);
|
||||
todo_wine ok(hr == S_OK, "Test %u: Got hr %#lx.\n", i, hr);
|
||||
}
|
||||
|
||||
IFolderView2_Release(folderview);
|
||||
destroy_interfaces(desktop, shellview);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue