mirror of
https://github.com/reactos/wine.git
synced 2024-12-01 07:30:37 +00:00
shell32/tests: Hack SHGetFileInfo() so it does not crash and add a test for it.
This commit is contained in:
parent
3d01fc39aa
commit
d2daa384e9
@ -356,6 +356,14 @@ DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR path,DWORD dwFileAttributes,
|
|||||||
(flags & (SHGFI_ATTRIBUTES|SHGFI_EXETYPE|SHGFI_PIDL)))
|
(flags & (SHGFI_ATTRIBUTES|SHGFI_EXETYPE|SHGFI_PIDL)))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
if ( (flags & SHGFI_USEFILEATTRIBUTES) &&
|
||||||
|
(flags & (SHGFI_ICONLOCATION | SHGFI_ICON | SHGFI_SYSICONINDEX)) )
|
||||||
|
{
|
||||||
|
FIXME("This combination of flags is not supported yet\n");
|
||||||
|
/* And it would cause a crash, so return false instead */
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/* windows initializes these values regardless of the flags */
|
/* windows initializes these values regardless of the flags */
|
||||||
if (psfi != NULL)
|
if (psfi != NULL)
|
||||||
{
|
{
|
||||||
|
@ -111,6 +111,26 @@ static void clean_after_shfo_tests(void)
|
|||||||
RemoveDirectoryA("nonexistent");
|
RemoveDirectoryA("nonexistent");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void test_get_file_info(void)
|
||||||
|
{
|
||||||
|
DWORD rc;
|
||||||
|
SHFILEINFO shfi;
|
||||||
|
|
||||||
|
strcpy(shfi.szDisplayName, "dummy");
|
||||||
|
shfi.iIcon=0xdeadbeef;
|
||||||
|
rc=SHGetFileInfoA("c:\\nonexistent", FILE_ATTRIBUTE_DIRECTORY,
|
||||||
|
&shfi, sizeof(shfi),
|
||||||
|
SHGFI_ICONLOCATION | SHGFI_USEFILEATTRIBUTES);
|
||||||
|
todo_wine ok(rc, "SHGetFileInfoA(c:\\nonexistent) returned %d\n", rc);
|
||||||
|
if (rc)
|
||||||
|
{
|
||||||
|
ok(strcpy(shfi.szDisplayName, "dummy") != 0, "SHGetFileInfoA(c:\\nonexistent) displayname is not set\n");
|
||||||
|
ok(shfi.iIcon != 0xdeadbeef, "SHGetFileInfoA(c:\\nonexistent) iIcon is not set\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
puts into the specified buffer file names with current directory.
|
puts into the specified buffer file names with current directory.
|
||||||
files - string with file names, separated by null characters. Ends on a double
|
files - string with file names, separated by null characters. Ends on a double
|
||||||
@ -855,6 +875,8 @@ START_TEST(shlfileop)
|
|||||||
|
|
||||||
clean_after_shfo_tests();
|
clean_after_shfo_tests();
|
||||||
|
|
||||||
|
test_get_file_info();
|
||||||
|
|
||||||
init_shfo_tests();
|
init_shfo_tests();
|
||||||
test_delete();
|
test_delete();
|
||||||
clean_after_shfo_tests();
|
clean_after_shfo_tests();
|
||||||
|
Loading…
Reference in New Issue
Block a user