From: Paul Vriens Date: Mon, 22 Mar 2010 12:29:06 +0000 (+0100) Subject: shell32/tests: Fix test failures on Win95, Win98 and NT4. X-Git-Tag: wine-1.1.42~407 X-Git-Url: http://git.etersoft.ru/projects/?a=commitdiff_plain;h=d57f05f062dc51edd35b7302f8b8e4c36d8ef2ca;p=wine%2Feterwine.git shell32/tests: Fix test failures on Win95, Win98 and NT4. --- diff --git a/dlls/shell32/tests/shelllink.c b/dlls/shell32/tests/shelllink.c index 52a21f12ee..8685e67f95 100644 --- a/dlls/shell32/tests/shelllink.c +++ b/dlls/shell32/tests/shelllink.c @@ -421,8 +421,6 @@ void create_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int save_fails) lok(SUCCEEDED(r), "no IID_IPersistFile (0x%08x)\n", r); if (SUCCEEDED(r)) { - CHAR buff[MAX_PATH], buff2[MAX_PATH]; - IMalloc *pmalloc; LPOLESTR str; if (0) @@ -434,8 +432,10 @@ void create_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int save_fails) /* test GetCurFile before ::Save */ str = (LPWSTR)0xdeadbeef; r = IPersistFile_GetCurFile(pf, &str); - lok(r == S_FALSE, "got 0x%08x\n", r); - ok(str == NULL, "got %p\n", str); + lok(r == S_FALSE || + broken(r == S_OK), /* shell32 < 5.0 */ + "got 0x%08x\n", r); + lok(str == NULL, "got %p\n", str); r = IPersistFile_Save(pf, path, TRUE); if (save_fails) @@ -452,14 +452,22 @@ void create_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int save_fails) /* test GetCurFile after ::Save */ r = IPersistFile_GetCurFile(pf, &str); lok(r == S_OK, "got 0x%08x\n", r); + lok(str != NULL || + broken(str == NULL), /* shell32 < 5.0 */ + "Didn't expect NULL\n"); + if (str != NULL) + { + IMalloc *pmalloc; - WideCharToMultiByte( CP_ACP, 0, str, -1, buff, sizeof(buff), NULL, NULL ); - WideCharToMultiByte( CP_ACP, 0, path, -1, buff2, sizeof(buff2), NULL, NULL ); + lok(!winetest_strcmpW(path, str), "Expected %s, got %s\n", + wine_dbgstr_w(path), wine_dbgstr_w(str)); - lok(!strcmp(buff, buff2), "Expected %s, got %s\n", buff2, buff); + SHGetMalloc(&pmalloc); + IMalloc_Free(pmalloc, str); + } + else + win_skip("GetCurFile fails on shell32 < 5.0\n"); - SHGetMalloc(&pmalloc); - IMalloc_Free(pmalloc, str); IPersistFile_Release(pf); } @@ -472,8 +480,6 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo) IShellLinkA *sl; IPersistFile *pf; char buffer[INFOTIPSIZE]; - CHAR buff[MAX_PATH], buff2[MAX_PATH]; - IMalloc *pmalloc; LPOLESTR str; r = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, @@ -490,12 +496,12 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo) return; } - SHGetMalloc(&pmalloc); - /* test GetCurFile before ::Load */ str = (LPWSTR)0xdeadbeef; r = IPersistFile_GetCurFile(pf, &str); - lok(r == S_FALSE, "got 0x%08x\n", r); + lok(r == S_FALSE || + broken(r == S_OK), /* shell32 < 5.0 */ + "got 0x%08x\n", r); lok(str == NULL, "got %p\n", str); r = IPersistFile_Load(pf, path, STGM_READ); @@ -504,13 +510,21 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo) /* test GetCurFile after ::Save */ r = IPersistFile_GetCurFile(pf, &str); lok(r == S_OK, "got 0x%08x\n", r); + lok(str != NULL || + broken(str == NULL), /* shell32 < 5.0 */ + "Didn't expect NULL\n"); + if (str != NULL) + { + IMalloc *pmalloc; - WideCharToMultiByte( CP_ACP, 0, str, -1, buff, sizeof(buff), NULL, NULL ); - WideCharToMultiByte( CP_ACP, 0, path, -1, buff2, sizeof(buff2), NULL, NULL ); - - lok(!strcmp(buff, buff2), "Expected %s, got %s\n", buff2, buff); + lok(!winetest_strcmpW(path, str), "Expected %s, got %s\n", + wine_dbgstr_w(path), wine_dbgstr_w(str)); - IMalloc_Free(pmalloc, str); + SHGetMalloc(&pmalloc); + IMalloc_Free(pmalloc, str); + } + else + win_skip("GetCurFile fails on shell32 < 5.0\n"); IPersistFile_Release(pf); if (FAILED(r))