Nikolay Sivov : shell32/tests: Remove workarounds for SHGetFolderLocation().
Alexandre Julliard
julliard at winehq.org
Tue Jan 7 17:25:23 CST 2020
Module: wine
Branch: master
Commit: 5b66af0204f2b0567b83835bf0d7ed379a432c84
URL: https://source.winehq.org/git/wine.git/?a=commit;h=5b66af0204f2b0567b83835bf0d7ed379a432c84
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Jan 7 00:08:21 2020 +0300
shell32/tests: Remove workarounds for SHGetFolderLocation().
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/shell32/tests/shellpath.c | 62 ++++++++++++++++--------------------------
1 file changed, 23 insertions(+), 39 deletions(-)
diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c
index 4ea2ef14cd..8161330b1e 100644
--- a/dlls/shell32/tests/shellpath.c
+++ b/dlls/shell32/tests/shellpath.c
@@ -86,8 +86,6 @@ struct shellExpectedValues {
static HRESULT (WINAPI *pDllGetVersion)(DLLVERSIONINFO *);
static HRESULT (WINAPI *pSHGetFolderPathA)(HWND, int, HANDLE, DWORD, LPSTR);
-static HRESULT (WINAPI *pSHGetFolderLocation)(HWND, int, HANDLE, DWORD,
- LPITEMIDLIST *);
static BOOL (WINAPI *pSHGetSpecialFolderPathA)(HWND, LPSTR, int, BOOL);
static HRESULT (WINAPI *pSHGetSpecialFolderLocation)(HWND, int, LPITEMIDLIST *);
static LPITEMIDLIST (WINAPI *pILFindLastID)(LPCITEMIDLIST);
@@ -196,7 +194,6 @@ static void loadShell32(void)
GET_PROC(DllGetVersion)
GET_PROC(SHGetFolderPathA)
GET_PROC(SHGetFolderPathEx)
- GET_PROC(SHGetFolderLocation)
GET_PROC(SHGetKnownFolderPath)
GET_PROC(SHSetKnownFolderPath)
GET_PROC(SHGetSpecialFolderPathA)
@@ -1318,22 +1315,19 @@ static void test_parameters(void)
char path[MAX_PATH];
HRESULT hr;
- if (pSHGetFolderLocation)
- {
- /* check a bogus CSIDL: */
- pidl = NULL;
- hr = pSHGetFolderLocation(NULL, 0xeeee, NULL, 0, &pidl);
- ok(hr == E_INVALIDARG, "got 0x%08x, expected E_INVALIDARG\n", hr);
- if (hr == S_OK) IMalloc_Free(pMalloc, pidl);
+ /* check a bogus CSIDL: */
+ pidl = NULL;
+ hr = SHGetFolderLocation(NULL, 0xeeee, NULL, 0, &pidl);
+ ok(hr == E_INVALIDARG, "got 0x%08x, expected E_INVALIDARG\n", hr);
+ if (hr == S_OK) IMalloc_Free(pMalloc, pidl);
- /* check a bogus user token: */
- pidl = NULL;
- hr = pSHGetFolderLocation(NULL, CSIDL_FAVORITES, (HANDLE)2, 0, &pidl);
- ok(hr == E_FAIL || hr == E_HANDLE, "got 0x%08x, expected E_FAIL or E_HANDLE\n", hr);
- if (hr == S_OK) IMalloc_Free(pMalloc, pidl);
+ /* check a bogus user token: */
+ pidl = NULL;
+ hr = SHGetFolderLocation(NULL, CSIDL_FAVORITES, (HANDLE)2, 0, &pidl);
+ ok(hr == E_FAIL || hr == E_HANDLE, "got 0x%08x, expected E_FAIL or E_HANDLE\n", hr);
+ if (hr == S_OK) IMalloc_Free(pMalloc, pidl);
- /* a NULL pidl pointer crashes, so don't test it */
- }
+ /* a NULL pidl pointer crashes, so don't test it */
if (pSHGetSpecialFolderLocation)
{
@@ -1381,11 +1375,8 @@ static BYTE testSHGetFolderLocation(int folder)
HRESULT hr;
BYTE ret = 0xff;
- /* treat absence of function as success */
- if (!pSHGetFolderLocation) return TRUE;
-
pidl = NULL;
- hr = pSHGetFolderLocation(NULL, folder, NULL, 0, &pidl);
+ hr = SHGetFolderLocation(NULL, folder, NULL, 0, &pidl);
if (hr == S_OK)
{
if (pidl)
@@ -1399,6 +1390,7 @@ static BYTE testSHGetFolderLocation(int folder)
IMalloc_Free(pMalloc, pidl);
}
}
+
return ret;
}
@@ -1468,16 +1460,14 @@ static void test_ShellValues(const struct shellExpectedValues testEntries[],
int j;
BOOL foundTypeMatch = FALSE;
- if (pSHGetFolderLocation)
- {
- type = testSHGetFolderLocation(testEntries[i].folder);
- for (j = 0; !foundTypeMatch && j < testEntries[i].numTypes; j++)
- if (testEntries[i].types[j] == type)
- foundTypeMatch = TRUE;
- ok(foundTypeMatch || optional || broken(type == 0xff) /* Win9x */,
- "%s has unexpected type %d (0x%02x)\n",
- getFolderName(testEntries[i].folder), type, type);
- }
+ type = testSHGetFolderLocation(testEntries[i].folder);
+ for (j = 0; !foundTypeMatch && j < testEntries[i].numTypes; j++)
+ if (testEntries[i].types[j] == type)
+ foundTypeMatch = TRUE;
+ ok(foundTypeMatch || optional || broken(type == 0xff) /* Win9x */,
+ "%s has unexpected type %d (0x%02x)\n",
+ getFolderName(testEntries[i].folder), type, type);
+
type = testSHGetSpecialFolderLocation(testEntries[i].folder);
for (j = 0, foundTypeMatch = FALSE; !foundTypeMatch &&
j < testEntries[i].numTypes; j++)
@@ -1533,11 +1523,10 @@ static void matchGUID(int folder, const GUID *guid, const GUID *guid_alt)
LPITEMIDLIST pidl;
HRESULT hr;
- if (!pSHGetFolderLocation) return;
if (!guid) return;
pidl = NULL;
- hr = pSHGetFolderLocation(NULL, folder, NULL, 0, &pidl);
+ hr = SHGetFolderLocation(NULL, folder, NULL, 0, &pidl);
if (hr == S_OK)
{
LPITEMIDLIST pidlLast = pILFindLastID(pidl);
@@ -1710,7 +1699,7 @@ static void doChild(const char *arg)
"SHGetFolderPath returned 0x%08x, expected 0x80070002\n", hr);
pidl = NULL;
- hr = pSHGetFolderLocation(NULL, CSIDL_FAVORITES, NULL, 0, &pidl);
+ hr = SHGetFolderLocation(NULL, CSIDL_FAVORITES, NULL, 0, &pidl);
ok(hr == E_FAIL || hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND),
"SHGetFolderLocation returned 0x%08x\n", hr);
if (hr == S_OK && pidl) IMalloc_Free(pMalloc, pidl);
@@ -1780,7 +1769,6 @@ static void test_NonExistentPath(void)
HKEY key;
if (!pSHGetFolderPathA) return;
- if (!pSHGetFolderLocation) return;
if (!pSHGetSpecialFolderPathA) return;
if (!pSHGetSpecialFolderLocation) return;
if (!pSHFileOperationA) return;
@@ -2993,10 +2981,6 @@ START_TEST(shellpath)
doChild(myARGV[2]);
else
{
- /* Report missing functions once */
- if (!pSHGetFolderLocation)
- win_skip("SHGetFolderLocation is not available\n");
-
/* first test various combinations of parameters: */
test_parameters();
More information about the wine-cvs
mailing list