Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- dlls/shlwapi/tests/url.c | 485 ++++++++++++++------------------------- 1 file changed, 176 insertions(+), 309 deletions(-)
diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c index 0cc14dc65bf..ea58163ce2e 100644 --- a/dlls/shlwapi/tests/url.c +++ b/dlls/shlwapi/tests/url.c @@ -29,30 +29,6 @@ #include "wininet.h" #include "intshcut.h"
-/* ################ */ -static HMODULE hShlwapi; -static HRESULT (WINAPI *pUrlUnescapeA)(LPSTR,LPSTR,LPDWORD,DWORD); -static HRESULT (WINAPI *pUrlUnescapeW)(LPWSTR,LPWSTR,LPDWORD,DWORD); -static BOOL (WINAPI *pUrlIsA)(LPCSTR,URLIS); -static BOOL (WINAPI *pUrlIsW)(LPCWSTR,URLIS); -static HRESULT (WINAPI *pUrlHashA)(LPCSTR,LPBYTE,DWORD); -static HRESULT (WINAPI *pUrlHashW)(LPCWSTR,LPBYTE,DWORD); -static HRESULT (WINAPI *pUrlGetPartA)(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD); -static HRESULT (WINAPI *pUrlGetPartW)(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD); -static HRESULT (WINAPI *pUrlEscapeA)(LPCSTR,LPSTR,LPDWORD,DWORD); -static HRESULT (WINAPI *pUrlEscapeW)(LPCWSTR,LPWSTR,LPDWORD,DWORD); -static HRESULT (WINAPI *pUrlCreateFromPathA)(LPCSTR,LPSTR,LPDWORD,DWORD); -static HRESULT (WINAPI *pUrlCreateFromPathW)(LPCWSTR,LPWSTR,LPDWORD,DWORD); -static HRESULT (WINAPI *pUrlCombineA)(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD); -static HRESULT (WINAPI *pUrlCombineW)(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD); -static HRESULT (WINAPI *pUrlCanonicalizeA)(LPCSTR, LPSTR, LPDWORD, DWORD); -static HRESULT (WINAPI *pUrlCanonicalizeW)(LPCWSTR, LPWSTR, LPDWORD, DWORD); -static HRESULT (WINAPI *pUrlApplySchemeA)(LPCSTR,LPSTR,LPDWORD,DWORD); -static HRESULT (WINAPI *pUrlApplySchemeW)(LPCWSTR,LPWSTR,LPDWORD,DWORD); -static HRESULT (WINAPI *pParseURLA)(LPCSTR,PARSEDURLA*); -static HRESULT (WINAPI *pParseURLW)(LPCWSTR,PARSEDURLW*); -static HRESULT (WINAPI *pHashData)(LPBYTE, DWORD, LPBYTE, DWORD); - static const char* TEST_URL_1 = "http://www.winehq.org/tests?date=10/10/1923"; static const char* TEST_URL_2 = "http://localhost:8080/tests%2e.html?date=Mon%2010/10/1923"; static const char* TEST_URL_3 = "http://foo:bar@localhost:21/internal.php?query=x&return=y"; @@ -539,15 +515,10 @@ static void test_UrlApplyScheme(void) DWORD len; DWORD i;
- if (!pUrlApplySchemeA) { - win_skip("UrlApplySchemeA not found\n"); - return; - } - for (i = 0; i < ARRAY_SIZE(TEST_APPLY); i++) { len = TEST_APPLY_MAX_LENGTH; lstrcpyA(newurl, untouchedA); - res = pUrlApplySchemeA(TEST_APPLY[i].url, newurl, &len, TEST_APPLY[i].flags); + res = UrlApplySchemeA(TEST_APPLY[i].url, newurl, &len, TEST_APPLY[i].flags); ok( res == TEST_APPLY[i].res, "#%dA: got HRESULT 0x%x (expected 0x%x)\n", i, res, TEST_APPLY[i].res);
@@ -563,7 +534,7 @@ static void test_UrlApplyScheme(void) MultiByteToWideChar(CP_ACP, 0, newurl, -1, newurlW, len); MultiByteToWideChar(CP_ACP, 0, TEST_APPLY[i].url, -1, urlW, len);
- res = pUrlApplySchemeW(urlW, newurlW, &len, TEST_APPLY[i].flags); + res = UrlApplySchemeW(urlW, newurlW, &len, TEST_APPLY[i].flags); WideCharToMultiByte(CP_ACP, 0, newurlW, -1, newurl, TEST_APPLY_MAX_LENGTH, NULL, NULL); ok( res == TEST_APPLY[i].res, "#%dW: got HRESULT 0x%x (expected 0x%x)\n", i, res, TEST_APPLY[i].res); @@ -579,7 +550,7 @@ static void test_UrlApplyScheme(void) /* buffer too small */ lstrcpyA(newurl, untouchedA); len = lstrlenA(TEST_APPLY[0].newurl); - res = pUrlApplySchemeA(TEST_APPLY[0].url, newurl, &len, TEST_APPLY[0].flags); + res = UrlApplySchemeA(TEST_APPLY[0].url, newurl, &len, TEST_APPLY[0].flags); ok(res == E_POINTER, "got HRESULT 0x%x (expected E_POINTER)\n", res); /* The returned length include the space for the terminating 0 */ i = lstrlenA(TEST_APPLY[0].newurl)+1; @@ -589,18 +560,18 @@ static void test_UrlApplyScheme(void) /* NULL as parameter. The length and the buffer are not modified */ lstrcpyA(newurl, untouchedA); len = TEST_APPLY_MAX_LENGTH; - res = pUrlApplySchemeA(NULL, newurl, &len, TEST_APPLY[0].flags); + res = UrlApplySchemeA(NULL, newurl, &len, TEST_APPLY[0].flags); ok(res == E_INVALIDARG, "got HRESULT 0x%x (expected E_INVALIDARG)\n", res); ok(len == TEST_APPLY_MAX_LENGTH, "got len %d\n", len); ok(!lstrcmpA(newurl, untouchedA), "got '%s' (expected '%s')\n", newurl, untouchedA);
len = TEST_APPLY_MAX_LENGTH; - res = pUrlApplySchemeA(TEST_APPLY[0].url, NULL, &len, TEST_APPLY[0].flags); + res = UrlApplySchemeA(TEST_APPLY[0].url, NULL, &len, TEST_APPLY[0].flags); ok(res == E_INVALIDARG, "got HRESULT 0x%x (expected E_INVALIDARG)\n", res); ok(len == TEST_APPLY_MAX_LENGTH, "got len %d\n", len);
lstrcpyA(newurl, untouchedA); - res = pUrlApplySchemeA(TEST_APPLY[0].url, newurl, NULL, TEST_APPLY[0].flags); + res = UrlApplySchemeA(TEST_APPLY[0].url, newurl, NULL, TEST_APPLY[0].flags); ok(res == E_INVALIDARG, "got HRESULT 0x%x (expected E_INVALIDARG)\n", res); ok(!lstrcmpA(newurl, untouchedA), "got '%s' (expected '%s')\n", newurl, untouchedA);
@@ -616,25 +587,18 @@ static void hash_url(const char* szUrl)
DWORD cbSize = sizeof(DWORD); DWORD dwHash1, dwHash2; - res = pUrlHashA(szTestUrl, (LPBYTE)&dwHash1, cbSize); + res = UrlHashA(szTestUrl, (LPBYTE)&dwHash1, cbSize); ok(res == S_OK, "UrlHashA returned 0x%x (expected S_OK) for %s\n", res, szUrl); - if (pUrlHashW) { - res = pUrlHashW(wszTestUrl, (LPBYTE)&dwHash2, cbSize); - ok(res == S_OK, "UrlHashW returned 0x%x (expected S_OK) for %s\n", res, szUrl); - ok(dwHash1 == dwHash2, - "Hashes didn't match (A: 0x%x, W: 0x%x) for %s\n", dwHash1, dwHash2, szUrl); - } - FreeWideString(wszTestUrl);
+ res = UrlHashW(wszTestUrl, (LPBYTE)&dwHash2, cbSize); + ok(res == S_OK, "UrlHashW returned 0x%x (expected S_OK) for %s\n", res, szUrl); + ok(dwHash1 == dwHash2, + "Hashes didn't match (A: 0x%x, W: 0x%x) for %s\n", dwHash1, dwHash2, szUrl); + FreeWideString(wszTestUrl); }
static void test_UrlHash(void) { - if (!pUrlHashA) { - win_skip("UrlHashA not found\n"); - return; - } - hash_url(TEST_URL_1); hash_url(TEST_URL_2); hash_url(TEST_URL_3); @@ -652,31 +616,30 @@ static void test_url_part(const char* szUrl, DWORD dwPart, DWORD dwFlags, const DWORD dwSize;
dwSize = 1; - res = pUrlGetPartA(szUrl, szPart, &dwSize, dwPart, dwFlags); + res = UrlGetPartA(szUrl, szPart, &dwSize, dwPart, dwFlags); ok(res == E_POINTER, "UrlGetPart for "%s" gave: 0x%08x\n", szUrl, res); ok(dwSize == strlen(szExpected)+1 || (*szExpected == '?' && dwSize == strlen(szExpected)), "UrlGetPart for "%s" gave size: %u\n", szUrl, dwSize);
dwSize = INTERNET_MAX_URL_LENGTH; - res = pUrlGetPartA(szUrl, szPart, &dwSize, dwPart, dwFlags); + res = UrlGetPartA(szUrl, szPart, &dwSize, dwPart, dwFlags); ok(res == S_OK, "UrlGetPartA for "%s" part 0x%08x returned 0x%x and "%s"\n", szUrl, dwPart, res, szPart); - if (pUrlGetPartW) { - dwSize = INTERNET_MAX_URL_LENGTH; - res = pUrlGetPartW(wszUrl, wszPart, &dwSize, dwPart, dwFlags); - ok(res == S_OK, - "UrlGetPartW for "%s" part 0x%08x returned 0x%x\n", - szUrl, dwPart, res);
- wszConvertedPart = GetWideString(szPart); + dwSize = INTERNET_MAX_URL_LENGTH; + res = UrlGetPartW(wszUrl, wszPart, &dwSize, dwPart, dwFlags); + ok(res == S_OK, + "UrlGetPartW for "%s" part 0x%08x returned 0x%x\n", + szUrl, dwPart, res);
- ok(lstrcmpW(wszPart,wszConvertedPart)==0, - "Strings didn't match between ansi and unicode UrlGetPart!\n"); + wszConvertedPart = GetWideString(szPart);
- FreeWideString(wszConvertedPart); - } + ok(lstrcmpW(wszPart,wszConvertedPart)==0, + "Strings didn't match between ansi and unicode UrlGetPart!\n"); + + FreeWideString(wszConvertedPart); FreeWideString(wszUrl);
/* Note that v6.0 and later don't return '?' with the query */ @@ -698,57 +661,47 @@ static void test_UrlGetPart(void) const char* short_url = "ascheme:";
CHAR szPart[INTERNET_MAX_URL_LENGTH]; + WCHAR bufW[5]; DWORD dwSize; HRESULT res;
- if (!pUrlGetPartA) { - win_skip("UrlGetPartA not found\n"); - return; - } - - res = pUrlGetPartA(NULL, NULL, NULL, URL_PART_SCHEME, 0); + res = UrlGetPartA(NULL, NULL, NULL, URL_PART_SCHEME, 0); ok(res == E_INVALIDARG, "null params gave: 0x%08x\n", res);
- res = pUrlGetPartA(NULL, szPart, &dwSize, URL_PART_SCHEME, 0); + res = UrlGetPartA(NULL, szPart, &dwSize, URL_PART_SCHEME, 0); ok(res == E_INVALIDARG, "null URL gave: 0x%08x\n", res);
- res = pUrlGetPartA(res_url, NULL, &dwSize, URL_PART_SCHEME, 0); + res = UrlGetPartA(res_url, NULL, &dwSize, URL_PART_SCHEME, 0); ok(res == E_INVALIDARG, "null szPart gave: 0x%08x\n", res);
- res = pUrlGetPartA(res_url, szPart, NULL, URL_PART_SCHEME, 0); + res = UrlGetPartA(res_url, szPart, NULL, URL_PART_SCHEME, 0); ok(res == E_INVALIDARG, "null URL gave: 0x%08x\n", res);
dwSize = 0; szPart[0]='x'; szPart[1]=0; - res = pUrlGetPartA("hi", szPart, &dwSize, URL_PART_SCHEME, 0); + res = UrlGetPartA("hi", szPart, &dwSize, URL_PART_SCHEME, 0); ok(res == E_INVALIDARG, "UrlGetPartA(*pcchOut = 0) returned %08X\n", res); ok(szPart[0] == 'x' && szPart[1] == 0, "UrlGetPartA(*pcchOut = 0) modified szPart: "%s"\n", szPart); ok(dwSize == 0, "dwSize = %d\n", dwSize);
dwSize = sizeof szPart; szPart[0]='x'; szPart[1]=0; - res = pUrlGetPartA("hi", szPart, &dwSize, URL_PART_SCHEME, 0); + res = UrlGetPartA("hi", szPart, &dwSize, URL_PART_SCHEME, 0); ok (res==S_FALSE, "UrlGetPartA("hi") returned %08X\n", res); ok(szPart[0]==0, "UrlGetPartA("hi") return "%s" instead of ""\n", szPart); ok(dwSize == 0, "dwSize = %d\n", dwSize);
- if(pUrlGetPartW) - { - const WCHAR hiW[] = {'h','i',0}; - WCHAR bufW[5]; - - /* UrlGetPartW returns S_OK instead of S_FALSE */ - dwSize = sizeof szPart; - bufW[0]='x'; bufW[1]=0; - res = pUrlGetPartW(hiW, bufW, &dwSize, URL_PART_SCHEME, 0); - todo_wine ok(res==S_OK, "UrlGetPartW("hi") returned %08X\n", res); - ok(bufW[0] == 0, "UrlGetPartW("hi") return "%c"\n", bufW[0]); - ok(dwSize == 0, "dwSize = %d\n", dwSize); - } + /* UrlGetPartW returns S_OK instead of S_FALSE */ + dwSize = sizeof szPart; + bufW[0]='x'; bufW[1]=0; + res = UrlGetPartW(L"hi", bufW, &dwSize, URL_PART_SCHEME, 0); + todo_wine ok(res==S_OK, "UrlGetPartW("hi") returned %08X\n", res); + ok(bufW[0] == 0, "UrlGetPartW("hi") return "%c"\n", bufW[0]); + ok(dwSize == 0, "dwSize = %d\n", dwSize);
dwSize = sizeof szPart; szPart[0]='x'; szPart[1]=0; - res = pUrlGetPartA("hi", szPart, &dwSize, URL_PART_QUERY, 0); + res = UrlGetPartA("hi", szPart, &dwSize, URL_PART_QUERY, 0); ok (res==S_FALSE, "UrlGetPartA("hi") returned %08X\n", res); ok(szPart[0]==0, "UrlGetPartA("hi") return "%s" instead of ""\n", szPart); ok(dwSize == 0, "dwSize = %d\n", dwSize); @@ -774,7 +727,7 @@ static void test_UrlGetPart(void) test_url_part(short_url, URL_PART_SCHEME, 0, "ascheme");
dwSize = sizeof(szPart); - res = pUrlGetPartA(about_url, szPart, &dwSize, URL_PART_HOSTNAME, 0); + res = UrlGetPartA(about_url, szPart, &dwSize, URL_PART_HOSTNAME, 0); ok(res==E_FAIL, "returned %08x\n", res);
test_url_part(res_url, URL_PART_SCHEME, 0, "res"); @@ -782,52 +735,52 @@ static void test_UrlGetPart(void)
dwSize = sizeof szPart; szPart[0]='x'; szPart[1]=0; - res = pUrlGetPartA(res_url, szPart, &dwSize, URL_PART_QUERY, 0); + res = UrlGetPartA(res_url, szPart, &dwSize, URL_PART_QUERY, 0); ok(res==S_FALSE, "UrlGetPartA returned %08X\n", res); ok(szPart[0]==0, "UrlGetPartA gave "%s" instead of ""\n", szPart); ok(dwSize == 0, "dwSize = %d\n", dwSize);
dwSize = sizeof(szPart); - res = pUrlGetPartA("file://c:\index.htm", szPart, &dwSize, URL_PART_HOSTNAME, 0); + res = UrlGetPartA("file://c:\index.htm", szPart, &dwSize, URL_PART_HOSTNAME, 0); ok(res==S_FALSE, "returned %08x\n", res); ok(dwSize == 0, "dwSize = %d\n", dwSize);
dwSize = sizeof(szPart); szPart[0] = 'x'; szPart[1] = '\0'; - res = pUrlGetPartA("file:some text", szPart, &dwSize, URL_PART_HOSTNAME, 0); + res = UrlGetPartA("file:some text", szPart, &dwSize, URL_PART_HOSTNAME, 0); ok(res==S_FALSE, "returned %08x\n", res); ok(szPart[0] == '\0', "szPart[0] = %c\n", szPart[0]); ok(dwSize == 0, "dwSize = %d\n", dwSize);
dwSize = sizeof(szPart); szPart[0] = 'x'; szPart[1] = '\0'; - res = pUrlGetPartA("index.htm", szPart, &dwSize, URL_PART_HOSTNAME, 0); + res = UrlGetPartA("index.htm", szPart, &dwSize, URL_PART_HOSTNAME, 0); ok(res==E_FAIL, "returned %08x\n", res);
dwSize = sizeof(szPart); szPart[0] = 'x'; szPart[1] = '\0'; - res = pUrlGetPartA(excid_url, szPart, &dwSize, URL_PART_HOSTNAME, 0); + res = UrlGetPartA(excid_url, szPart, &dwSize, URL_PART_HOSTNAME, 0); ok(res==E_FAIL, "returned %08x\n", res); ok(szPart[0] == 'x', "szPart[0] = %c\n", szPart[0]); ok(dwSize == sizeof(szPart), "dwSize = %d\n", dwSize);
dwSize = sizeof(szPart); szPart[0] = 'x'; szPart[1] = '\0'; - res = pUrlGetPartA(excid_url, szPart, &dwSize, URL_PART_QUERY, 0); + res = UrlGetPartA(excid_url, szPart, &dwSize, URL_PART_QUERY, 0); ok(res==S_FALSE, "returned %08x\n", res); ok(szPart[0] == 0, "szPart[0] = %c\n", szPart[0]); ok(dwSize == 0, "dwSize = %d\n", dwSize);
dwSize = sizeof(szPart); szPart[0] = 'x'; szPart[1] = '\0'; - res = pUrlGetPartA(foo_url, szPart, &dwSize, URL_PART_HOSTNAME, 0); + res = UrlGetPartA(foo_url, szPart, &dwSize, URL_PART_HOSTNAME, 0); ok(res==E_FAIL, "returned %08x\n", res); ok(szPart[0] == 'x', "szPart[0] = %c\n", szPart[0]); ok(dwSize == sizeof(szPart), "dwSize = %d\n", dwSize);
dwSize = sizeof(szPart); szPart[0] = 'x'; szPart[1] = '\0'; - res = pUrlGetPartA(foo_url, szPart, &dwSize, URL_PART_QUERY, 0); + res = UrlGetPartA(foo_url, szPart, &dwSize, URL_PART_QUERY, 0); ok(res==S_FALSE, "returned %08x\n", res); ok(szPart[0] == 0, "szPart[0] = %c\n", szPart[0]); ok(dwSize == 0, "dwSize = %d\n", dwSize); @@ -846,28 +799,26 @@ static void test_url_canonicalize(int index, const char *szUrl, DWORD dwFlags, H DWORD dwSize;
dwSize = INTERNET_MAX_URL_LENGTH; - ret = pUrlCanonicalizeA(szUrl, NULL, &dwSize, dwFlags); + ret = UrlCanonicalizeA(szUrl, NULL, &dwSize, dwFlags); ok(ret != dwExpectReturn, "got 0s%x: Unexpected return for NULL buffer, index %d\n", ret, index); - ret = pUrlCanonicalizeA(szUrl, szReturnUrl, &dwSize, dwFlags); + ret = UrlCanonicalizeA(szUrl, szReturnUrl, &dwSize, dwFlags); ok(ret == dwExpectReturn || ret == dwExpectReturnAlt, "UrlCanonicalizeA failed: expected=0x%08x or 0x%08x, got=0x%08x, index %d\n", dwExpectReturn, dwExpectReturnAlt, ret, index); todo_wine_if (todo) ok(strcmp(szReturnUrl,szExpectUrl)==0, "UrlCanonicalizeA dwFlags 0x%08x url '%s' Expected "%s", but got "%s", index %d\n", dwFlags, szUrl, szExpectUrl, szReturnUrl, index);
- if (pUrlCanonicalizeW) { - dwSize = INTERNET_MAX_URL_LENGTH; - ret = pUrlCanonicalizeW(wszUrl, NULL, &dwSize, dwFlags); - ok(ret != dwExpectReturn, "got 0x%x: Unexpected return for NULL buffer, index %d\n", ret, index); - ret = pUrlCanonicalizeW(wszUrl, wszReturnUrl, &dwSize, dwFlags); - ok(ret == dwExpectReturn, "UrlCanonicalizeW failed: expected 0x%08x, got 0x%x, index %d\n", - dwExpectReturn, ret, index); + dwSize = INTERNET_MAX_URL_LENGTH; + ret = UrlCanonicalizeW(wszUrl, NULL, &dwSize, dwFlags); + ok(ret != dwExpectReturn, "got 0x%x: Unexpected return for NULL buffer, index %d\n", ret, index); + ret = UrlCanonicalizeW(wszUrl, wszReturnUrl, &dwSize, dwFlags); + ok(ret == dwExpectReturn, "UrlCanonicalizeW failed: expected 0x%08x, got 0x%x, index %d\n", + dwExpectReturn, ret, index);
- wszConvertedUrl = GetWideString(szReturnUrl); - ok(lstrcmpW(wszReturnUrl, wszConvertedUrl)==0, - "Strings didn't match between ansi and unicode UrlCanonicalize, index %d!\n", index); - FreeWideString(wszConvertedUrl); - } + wszConvertedUrl = GetWideString(szReturnUrl); + ok(lstrcmpW(wszReturnUrl, wszConvertedUrl)==0, + "Strings didn't match between ansi and unicode UrlCanonicalize, index %d!\n", index); + FreeWideString(wszConvertedUrl);
FreeWideString(wszUrl); FreeWideString(wszExpectUrl); @@ -881,40 +832,35 @@ static void test_UrlEscapeA(void) unsigned int i; char empty_string[] = "";
- if (!pUrlEscapeA) { - win_skip("UrlEscapeA not found\n"); - return; - } - - ret = pUrlEscapeA("/woningplan/woonkamer basis.swf", NULL, &size, URL_ESCAPE_SPACES_ONLY); + ret = UrlEscapeA("/woningplan/woonkamer basis.swf", NULL, &size, URL_ESCAPE_SPACES_ONLY); ok(ret == E_INVALIDARG, "got %x, expected %x\n", ret, E_INVALIDARG); ok(size == 0, "got %d, expected %d\n", size, 0);
size = 0; - ret = pUrlEscapeA("/woningplan/woonkamer basis.swf", empty_string, &size, URL_ESCAPE_SPACES_ONLY); + ret = UrlEscapeA("/woningplan/woonkamer basis.swf", empty_string, &size, URL_ESCAPE_SPACES_ONLY); ok(ret == E_INVALIDARG, "got %x, expected %x\n", ret, E_INVALIDARG); ok(size == 0, "got %d, expected %d\n", size, 0);
size = 1; - ret = pUrlEscapeA("/woningplan/woonkamer basis.swf", NULL, &size, URL_ESCAPE_SPACES_ONLY); + ret = UrlEscapeA("/woningplan/woonkamer basis.swf", NULL, &size, URL_ESCAPE_SPACES_ONLY); ok(ret == E_INVALIDARG, "got %x, expected %x\n", ret, E_INVALIDARG); ok(size == 1, "got %d, expected %d\n", size, 1);
size = 1; - ret = pUrlEscapeA("/woningplan/woonkamer basis.swf", empty_string, NULL, URL_ESCAPE_SPACES_ONLY); + ret = UrlEscapeA("/woningplan/woonkamer basis.swf", empty_string, NULL, URL_ESCAPE_SPACES_ONLY); ok(ret == E_INVALIDARG, "got %x, expected %x\n", ret, E_INVALIDARG); ok(size == 1, "got %d, expected %d\n", size, 1);
size = 1; empty_string[0] = 127; - ret = pUrlEscapeA("/woningplan/woonkamer basis.swf", empty_string, &size, URL_ESCAPE_SPACES_ONLY); + ret = UrlEscapeA("/woningplan/woonkamer basis.swf", empty_string, &size, URL_ESCAPE_SPACES_ONLY); ok(ret == E_POINTER, "got %x, expected %x\n", ret, E_POINTER); ok(size == 34, "got %d, expected %d\n", size, 34); ok(empty_string[0] == 127, "String has changed, empty_string[0] = %d\n", empty_string[0]);
size = 1; empty_string[0] = 127; - ret = pUrlEscapeA("/woningplan/woonkamer basis.swf", empty_string, &size, URL_ESCAPE_AS_UTF8); + ret = UrlEscapeA("/woningplan/woonkamer basis.swf", empty_string, &size, URL_ESCAPE_AS_UTF8); ok(ret == E_NOTIMPL || broken(ret == E_POINTER), /* < Win7/Win2k8 */ "got %x, expected %x\n", ret, E_NOTIMPL); ok(size == 1 || broken(size == 34), /* < Win7/Win2k8 */ @@ -925,7 +871,7 @@ static void test_UrlEscapeA(void) CHAR ret_url[INTERNET_MAX_URL_LENGTH];
size = INTERNET_MAX_URL_LENGTH; - ret = pUrlEscapeA(TEST_ESCAPE[i].url, ret_url, &size, TEST_ESCAPE[i].flags); + ret = UrlEscapeA(TEST_ESCAPE[i].url, ret_url, &size, TEST_ESCAPE[i].flags); ok(ret == TEST_ESCAPE[i].expectret, "UrlEscapeA returned 0x%08x instead of 0x%08x for "%s"\n", ret, TEST_ESCAPE[i].expectret, TEST_ESCAPE[i].url); ok(!strcmp(ret_url, TEST_ESCAPE[i].expecturl), "Expected "%s", but got "%s" for "%s"\n", @@ -947,11 +893,6 @@ static void test_UrlEscapeW(void) WCHAR wc; int i;
- if (!pUrlEscapeW) { - win_skip("UrlEscapeW not found\n"); - return; - } - /* Check error paths */
ret = UrlEscapeW(path_test, NULL, NULL, URL_ESCAPE_SPACES_ONLY); @@ -989,21 +930,21 @@ static void test_UrlEscapeW(void) /* Check actual escaping */
size = ARRAY_SIZE(overwrite); - ret = pUrlEscapeW(overwrite, overwrite, &size, URL_ESCAPE_SPACES_ONLY); + ret = UrlEscapeW(overwrite, overwrite, &size, URL_ESCAPE_SPACES_ONLY); ok(ret == S_OK, "got %x, expected S_OK\n", ret); ok(size == 9, "got %d, expected 9\n", size); ok(!lstrcmpW(overwrite, out), "got %s, expected %s\n", wine_dbgstr_w(overwrite), wine_dbgstr_w(out));
size = 1; wc = 127; - ret = pUrlEscapeW(overwrite, &wc, &size, URL_ESCAPE_SPACES_ONLY); + ret = UrlEscapeW(overwrite, &wc, &size, URL_ESCAPE_SPACES_ONLY); ok(ret == E_POINTER, "got %x, expected %x\n", ret, E_POINTER); ok(size == 10, "got %d, expected 10\n", size); ok(wc == 127, "String has changed, wc = %d\n", wc);
/* non-ASCII range */ size = ARRAY_SIZE(ret_urlW); - ret = pUrlEscapeW(naW, ret_urlW, &size, 0); + ret = UrlEscapeW(naW, ret_urlW, &size, 0); ok(ret == S_OK, "got %x, expected S_OK\n", ret); ok(!lstrcmpW(naescapedW, ret_urlW), "got %s, expected %s\n", wine_dbgstr_w(ret_urlW), wine_dbgstr_w(naescapedW));
@@ -1014,7 +955,7 @@ static void test_UrlEscapeW(void) size = INTERNET_MAX_URL_LENGTH; urlW = GetWideString(TEST_ESCAPE[i].url); expected_urlW = GetWideString(TEST_ESCAPE[i].expecturl); - ret = pUrlEscapeW(urlW, ret_urlW, &size, TEST_ESCAPE[i].flags); + ret = UrlEscapeW(urlW, ret_urlW, &size, TEST_ESCAPE[i].flags); ok(ret == TEST_ESCAPE[i].expectret, "UrlEscapeW returned 0x%08x instead of 0x%08x for %s\n", ret, TEST_ESCAPE[i].expectret, wine_dbgstr_w(urlW)); ok(!lstrcmpW(ret_urlW, expected_urlW), "Expected %s, but got %s for %s flags %08x\n", @@ -1027,7 +968,7 @@ static void test_UrlEscapeW(void) WCHAR ret_url[INTERNET_MAX_URL_LENGTH];
size = INTERNET_MAX_URL_LENGTH; - ret = pUrlEscapeW(TEST_ESCAPEW[i].url, ret_url, &size, TEST_ESCAPEW[i].flags); + ret = UrlEscapeW(TEST_ESCAPEW[i].url, ret_url, &size, TEST_ESCAPEW[i].flags); ok(ret == TEST_ESCAPEW[i].expectret, "UrlEscapeW returned 0x%08x instead of 0x%08x for "%s"\n", ret, TEST_ESCAPEW[i].expectret, wine_dbgstr_w(TEST_ESCAPEW[i].url)); ok(!lstrcmpW(ret_url, TEST_ESCAPEW[i].expecturl) || @@ -1050,27 +991,22 @@ static void test_UrlCanonicalizeA(void) DWORD urllen; HRESULT hr;
- if (!pUrlCanonicalizeA) { - win_skip("UrlCanonicalizeA not found\n"); - return; - } - urllen = lstrlenA(winehqA);
/* Parameter checks */ dwSize = ARRAY_SIZE(szReturnUrl); - hr = pUrlCanonicalizeA(NULL, szReturnUrl, &dwSize, URL_UNESCAPE); + hr = UrlCanonicalizeA(NULL, szReturnUrl, &dwSize, URL_UNESCAPE); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
dwSize = ARRAY_SIZE(szReturnUrl); - hr = pUrlCanonicalizeA(winehqA, NULL, &dwSize, URL_UNESCAPE); + hr = UrlCanonicalizeA(winehqA, NULL, &dwSize, URL_UNESCAPE); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
- hr = pUrlCanonicalizeA(winehqA, szReturnUrl, NULL, URL_UNESCAPE); + hr = UrlCanonicalizeA(winehqA, szReturnUrl, NULL, URL_UNESCAPE); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
dwSize = 0; - hr = pUrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_UNESCAPE); + hr = UrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_UNESCAPE); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
/* buffer has no space for the result */ @@ -1078,7 +1014,7 @@ static void test_UrlCanonicalizeA(void) memset(szReturnUrl, '#', urllen+4); szReturnUrl[urllen+4] = '\0'; SetLastError(0xdeadbeef); - hr = pUrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok( (hr == E_POINTER) && (dwSize == (urllen + 1)), "got 0x%x with %u and size %u for '%s' and %u (expected 'E_POINTER' and size %u)\n", hr, GetLastError(), dwSize, szReturnUrl, lstrlenA(szReturnUrl), urllen+1); @@ -1088,7 +1024,7 @@ static void test_UrlCanonicalizeA(void) memset(szReturnUrl, '#', urllen+4); szReturnUrl[urllen+4] = '\0'; SetLastError(0xdeadbeef); - hr = pUrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok( (hr == E_POINTER) && (dwSize == (urllen + 1)), "got 0x%x with %u and size %u for '%s' and %u (expected 'E_POINTER' and size %u)\n", hr, GetLastError(), dwSize, szReturnUrl, lstrlenA(szReturnUrl), urllen+1); @@ -1098,7 +1034,7 @@ static void test_UrlCanonicalizeA(void) memset(szReturnUrl, '#', urllen+4); szReturnUrl[urllen+4] = '\0'; SetLastError(0xdeadbeef); - hr = pUrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok( (hr == S_OK) && (dwSize == urllen), "got 0x%x with %u and size %u for '%s' and %u (expected 'S_OK' and size %u)\n", hr, GetLastError(), dwSize, szReturnUrl, lstrlenA(szReturnUrl), urllen); @@ -1108,7 +1044,7 @@ static void test_UrlCanonicalizeA(void) memset(szReturnUrl, '#', urllen+4); szReturnUrl[urllen+4] = '\0'; SetLastError(0xdeadbeef); - hr = pUrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok( (hr == S_OK) && (dwSize == urllen), "got 0x%x with %u and size %u for '%s' and %u (expected 'S_OK' and size %u)\n", hr, GetLastError(), dwSize, szReturnUrl, lstrlenA(szReturnUrl), urllen); @@ -1118,7 +1054,7 @@ static void test_UrlCanonicalizeA(void) memset(szReturnUrl, '#', urllen+4); szReturnUrl[urllen+4] = '\0'; SetLastError(0xdeadbeef); - hr = pUrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeA(winehqA, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok( (hr == E_INVALIDARG) && (dwSize == 0), "got 0x%x with %u and size %u for '%s' and %u (expected 'E_INVALIDARG' and size %u)\n", hr, GetLastError(), dwSize, szReturnUrl, lstrlenA(szReturnUrl), 0); @@ -1128,7 +1064,7 @@ static void test_UrlCanonicalizeA(void) memset(longurl, 'a', sizeof(longurl)); memcpy(longurl, winehqA, sizeof(winehqA)-1); longurl[sizeof(longurl)-1] = '\0'; - hr = pUrlCanonicalizeA(longurl, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeA(longurl, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok(hr == S_OK, "hr = %x\n", hr);
test_url_canonicalize(-1, "", 0, S_OK, S_FALSE /* Vista/win2k8 */, "", FALSE); @@ -1151,27 +1087,22 @@ static void test_UrlCanonicalizeW(void) HRESULT hr; int i;
- - if (!pUrlCanonicalizeW) { - win_skip("UrlCanonicalizeW not found\n"); - return; - } urllen = lstrlenW(winehqW);
/* Parameter checks */ dwSize = ARRAY_SIZE(szReturnUrl); - hr = pUrlCanonicalizeW(NULL, szReturnUrl, &dwSize, URL_UNESCAPE); + hr = UrlCanonicalizeW(NULL, szReturnUrl, &dwSize, URL_UNESCAPE); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
dwSize = ARRAY_SIZE(szReturnUrl); - hr = pUrlCanonicalizeW(winehqW, NULL, &dwSize, URL_UNESCAPE); + hr = UrlCanonicalizeW(winehqW, NULL, &dwSize, URL_UNESCAPE); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
- hr = pUrlCanonicalizeW(winehqW, szReturnUrl, NULL, URL_UNESCAPE); + hr = UrlCanonicalizeW(winehqW, szReturnUrl, NULL, URL_UNESCAPE); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
dwSize = 0; - hr = pUrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_UNESCAPE); + hr = UrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_UNESCAPE); ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr);
/* buffer has no space for the result */ @@ -1179,7 +1110,7 @@ static void test_UrlCanonicalizeW(void) memset(szReturnUrl, '#', (urllen+4) * sizeof(WCHAR)); szReturnUrl[urllen+4] = '\0'; SetLastError(0xdeadbeef); - hr = pUrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok( (hr == E_POINTER) && (dwSize == (urllen + 1)), "got 0x%x with %u and size %u for %u (expected 'E_POINTER' and size %u)\n", hr, GetLastError(), dwSize, lstrlenW(szReturnUrl), urllen+1); @@ -1190,7 +1121,7 @@ static void test_UrlCanonicalizeW(void) memset(szReturnUrl, '#', (urllen+4) * sizeof(WCHAR)); szReturnUrl[urllen+4] = '\0'; SetLastError(0xdeadbeef); - hr = pUrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok( (hr == E_POINTER) && (dwSize == (urllen + 1)), "got 0x%x with %u and size %u for %u (expected 'E_POINTER' and size %u)\n", hr, GetLastError(), dwSize, lstrlenW(szReturnUrl), urllen+1); @@ -1200,7 +1131,7 @@ static void test_UrlCanonicalizeW(void) memset(szReturnUrl, '#', (urllen+4) * sizeof(WCHAR)); szReturnUrl[urllen+4] = '\0'; SetLastError(0xdeadbeef); - hr = pUrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok( (hr == S_OK) && (dwSize == urllen), "got 0x%x with %u and size %u for %u (expected 'S_OK' and size %u)\n", hr, GetLastError(), dwSize, lstrlenW(szReturnUrl), urllen); @@ -1210,7 +1141,7 @@ static void test_UrlCanonicalizeW(void) memset(szReturnUrl, '#', (urllen+4) * sizeof(WCHAR)); szReturnUrl[urllen+4] = '\0'; SetLastError(0xdeadbeef); - hr = pUrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); + hr = UrlCanonicalizeW(winehqW, szReturnUrl, &dwSize, URL_WININET_COMPATIBILITY | URL_ESCAPE_UNSAFE); ok( (hr == S_OK) && (dwSize == urllen), "got 0x%x with %u and size %u for %u (expected 'S_OK' and size %u)\n", hr, GetLastError(), dwSize, lstrlenW(szReturnUrl), urllen); @@ -1226,7 +1157,7 @@ static void test_UrlCanonicalizeW(void) pos = lstrlenW(szUrl) - 1; szUrl[pos] = i; urllen = INTERNET_MAX_URL_LENGTH; - pUrlCanonicalizeW(szUrl, szReturnUrl, &urllen, 0); + UrlCanonicalizeW(szUrl, szReturnUrl, &urllen, 0); choped = lstrlenW(szReturnUrl) < lstrlenW(szUrl); ok(choped == (i <= 32), "Incorrect char chopping for char %d\n", i); } @@ -1244,54 +1175,47 @@ static void test_url_combine(const char *szUrl1, const char *szUrl2, DWORD dwFla DWORD dwSize; DWORD dwExpectLen = lstrlenA(szExpectUrl);
- if (!pUrlCombineA) { - win_skip("UrlCombineA not found\n"); - return; - } - wszUrl1 = GetWideString(szUrl1); wszUrl2 = GetWideString(szUrl2); wszExpectUrl = GetWideString(szExpectUrl);
- hr = pUrlCombineA(szUrl1, szUrl2, NULL, NULL, dwFlags); + hr = UrlCombineA(szUrl1, szUrl2, NULL, NULL, dwFlags); ok(hr == E_INVALIDARG, "UrlCombineA returned 0x%08x, expected 0x%08x\n", hr, E_INVALIDARG);
dwSize = 0; - hr = pUrlCombineA(szUrl1, szUrl2, NULL, &dwSize, dwFlags); + hr = UrlCombineA(szUrl1, szUrl2, NULL, &dwSize, dwFlags); ok(hr == E_POINTER, "Checking length of string, return was 0x%08x, expected 0x%08x\n", hr, E_POINTER); ok(dwSize == dwExpectLen+1, "Got length %d, expected %d\n", dwSize, dwExpectLen+1);
dwSize--; - hr = pUrlCombineA(szUrl1, szUrl2, szReturnUrl, &dwSize, dwFlags); + hr = UrlCombineA(szUrl1, szUrl2, szReturnUrl, &dwSize, dwFlags); ok(hr == E_POINTER, "UrlCombineA returned 0x%08x, expected 0x%08x\n", hr, E_POINTER); ok(dwSize == dwExpectLen+1, "Got length %d, expected %d\n", dwSize, dwExpectLen+1);
- hr = pUrlCombineA(szUrl1, szUrl2, szReturnUrl, &dwSize, dwFlags); + hr = UrlCombineA(szUrl1, szUrl2, szReturnUrl, &dwSize, dwFlags); ok(hr == dwExpectReturn, "UrlCombineA returned 0x%08x, expected 0x%08x\n", hr, dwExpectReturn); ok(dwSize == dwExpectLen, "Got length %d, expected %d\n", dwSize, dwExpectLen); if(SUCCEEDED(hr)) { ok(strcmp(szReturnUrl,szExpectUrl)==0, "Expected %s, but got %s\n", szExpectUrl, szReturnUrl); }
- if (pUrlCombineW) { - dwSize = 0; - hr = pUrlCombineW(wszUrl1, wszUrl2, NULL, &dwSize, dwFlags); - ok(hr == E_POINTER, "Checking length of string, return was 0x%08x, expected 0x%08x\n", hr, E_POINTER); - ok(dwSize == dwExpectLen+1, "Got length %d, expected %d\n", dwSize, dwExpectLen+1); + dwSize = 0; + hr = UrlCombineW(wszUrl1, wszUrl2, NULL, &dwSize, dwFlags); + ok(hr == E_POINTER, "Checking length of string, return was 0x%08x, expected 0x%08x\n", hr, E_POINTER); + ok(dwSize == dwExpectLen+1, "Got length %d, expected %d\n", dwSize, dwExpectLen+1);
- dwSize--; - hr = pUrlCombineW(wszUrl1, wszUrl2, wszReturnUrl, &dwSize, dwFlags); - ok(hr == E_POINTER, "UrlCombineW returned 0x%08x, expected 0x%08x\n", hr, E_POINTER); - ok(dwSize == dwExpectLen+1, "Got length %d, expected %d\n", dwSize, dwExpectLen+1); + dwSize--; + hr = UrlCombineW(wszUrl1, wszUrl2, wszReturnUrl, &dwSize, dwFlags); + ok(hr == E_POINTER, "UrlCombineW returned 0x%08x, expected 0x%08x\n", hr, E_POINTER); + ok(dwSize == dwExpectLen+1, "Got length %d, expected %d\n", dwSize, dwExpectLen+1);
- hr = pUrlCombineW(wszUrl1, wszUrl2, wszReturnUrl, &dwSize, dwFlags); - ok(hr == dwExpectReturn, "UrlCombineW returned 0x%08x, expected 0x%08x\n", hr, dwExpectReturn); - ok(dwSize == dwExpectLen, "Got length %d, expected %d\n", dwSize, dwExpectLen); - if(SUCCEEDED(hr)) { - wszConvertedUrl = GetWideString(szReturnUrl); - ok(lstrcmpW(wszReturnUrl, wszConvertedUrl)==0, "Strings didn't match between ansi and unicode UrlCombine!\n"); - FreeWideString(wszConvertedUrl); - } + hr = UrlCombineW(wszUrl1, wszUrl2, wszReturnUrl, &dwSize, dwFlags); + ok(hr == dwExpectReturn, "UrlCombineW returned 0x%08x, expected 0x%08x\n", hr, dwExpectReturn); + ok(dwSize == dwExpectLen, "Got length %d, expected %d\n", dwSize, dwExpectLen); + if(SUCCEEDED(hr)) { + wszConvertedUrl = GetWideString(szReturnUrl); + ok(lstrcmpW(wszReturnUrl, wszConvertedUrl)==0, "Strings didn't match between ansi and unicode UrlCombine!\n"); + FreeWideString(wszConvertedUrl); }
FreeWideString(wszUrl1); @@ -1320,32 +1244,25 @@ static void test_UrlCreateFromPath(void) WCHAR ret_urlW[INTERNET_MAX_URL_LENGTH]; WCHAR *pathW, *urlW;
- if (!pUrlCreateFromPathA) { - win_skip("UrlCreateFromPathA not found\n"); - return; - } - for (i = 0; i < ARRAY_SIZE(TEST_URLFROMPATH); i++) { len = INTERNET_MAX_URL_LENGTH; - ret = pUrlCreateFromPathA(TEST_URLFROMPATH[i].path, ret_url, &len, 0); + ret = UrlCreateFromPathA(TEST_URLFROMPATH[i].path, ret_url, &len, 0); ok(ret == TEST_URLFROMPATH[i].ret, "ret %08x from path %s\n", ret, TEST_URLFROMPATH[i].path); ok(!lstrcmpiA(ret_url, TEST_URLFROMPATH[i].url), "url %s from path %s\n", ret_url, TEST_URLFROMPATH[i].path); ok(len == strlen(ret_url), "ret len %d from path %s\n", len, TEST_URLFROMPATH[i].path);
- if (pUrlCreateFromPathW) { - len = INTERNET_MAX_URL_LENGTH; - pathW = GetWideString(TEST_URLFROMPATH[i].path); - urlW = GetWideString(TEST_URLFROMPATH[i].url); - ret = pUrlCreateFromPathW(pathW, ret_urlW, &len, 0); - WideCharToMultiByte(CP_ACP, 0, ret_urlW, -1, ret_url, sizeof(ret_url),0,0); - ok(ret == TEST_URLFROMPATH[i].ret, "ret %08x from path L"%s", expected %08x\n", - ret, TEST_URLFROMPATH[i].path, TEST_URLFROMPATH[i].ret); - ok(!lstrcmpiW(ret_urlW, urlW), "got %s expected %s from path L"%s"\n", - ret_url, TEST_URLFROMPATH[i].url, TEST_URLFROMPATH[i].path); - ok(len == lstrlenW(ret_urlW), "ret len %d from path L"%s"\n", len, TEST_URLFROMPATH[i].path); - FreeWideString(urlW); - FreeWideString(pathW); - } + len = INTERNET_MAX_URL_LENGTH; + pathW = GetWideString(TEST_URLFROMPATH[i].path); + urlW = GetWideString(TEST_URLFROMPATH[i].url); + ret = UrlCreateFromPathW(pathW, ret_urlW, &len, 0); + WideCharToMultiByte(CP_ACP, 0, ret_urlW, -1, ret_url, sizeof(ret_url),0,0); + ok(ret == TEST_URLFROMPATH[i].ret, "ret %08x from path L"%s", expected %08x\n", + ret, TEST_URLFROMPATH[i].path, TEST_URLFROMPATH[i].ret); + ok(!lstrcmpiW(ret_urlW, urlW), "got %s expected %s from path L"%s"\n", + ret_url, TEST_URLFROMPATH[i].url, TEST_URLFROMPATH[i].path); + ok(len == lstrlenW(ret_urlW), "ret len %d from path L"%s"\n", len, TEST_URLFROMPATH[i].path); + FreeWideString(urlW); + FreeWideString(pathW); } }
@@ -1354,9 +1271,9 @@ static void test_UrlCreateFromPath(void) static void test_UrlIs_null(DWORD flag) { BOOL ret; - ret = pUrlIsA(NULL, flag); + ret = UrlIsA(NULL, flag); ok(ret == FALSE, "pUrlIsA(NULL, %d) failed\n", flag); - ret = pUrlIsW(NULL, flag); + ret = UrlIsW(NULL, flag); ok(ret == FALSE, "pUrlIsW(NULL, %d) failed\n", flag); }
@@ -1366,11 +1283,6 @@ static void test_UrlIs(void) size_t i; WCHAR wurl[80];
- if (!pUrlIsA) { - win_skip("UrlIsA not found\n"); - return; - } - test_UrlIs_null(URLIS_APPLIABLE); test_UrlIs_null(URLIS_DIRECTORY); test_UrlIs_null(URLIS_FILEURL); @@ -1382,40 +1294,36 @@ static void test_UrlIs(void) for (i = 0; i < ARRAY_SIZE(TEST_PATH_IS_URL); i++) { MultiByteToWideChar(CP_ACP, 0, TEST_PATH_IS_URL[i].path, -1, wurl, ARRAY_SIZE(wurl));
- ret = pUrlIsA( TEST_PATH_IS_URL[i].path, URLIS_URL ); + ret = UrlIsA( TEST_PATH_IS_URL[i].path, URLIS_URL ); ok( ret == TEST_PATH_IS_URL[i].expect, "returned %d from path %s, expected %d\n", ret, TEST_PATH_IS_URL[i].path, TEST_PATH_IS_URL[i].expect );
- if (pUrlIsW) { - ret = pUrlIsW( wurl, URLIS_URL ); - ok( ret == TEST_PATH_IS_URL[i].expect, - "returned %d from path (UrlIsW) %s, expected %d\n", ret, - TEST_PATH_IS_URL[i].path, TEST_PATH_IS_URL[i].expect ); - } + ret = UrlIsW( wurl, URLIS_URL ); + ok( ret == TEST_PATH_IS_URL[i].expect, + "returned %d from path (UrlIsW) %s, expected %d\n", ret, + TEST_PATH_IS_URL[i].path, TEST_PATH_IS_URL[i].expect ); } for (i = 0; i < ARRAY_SIZE(TEST_URLIS_ATTRIBS); i++) { MultiByteToWideChar(CP_ACP, 0, TEST_URLIS_ATTRIBS[i].url, -1, wurl, ARRAY_SIZE(wurl));
- ret = pUrlIsA( TEST_URLIS_ATTRIBS[i].url, URLIS_OPAQUE); + ret = UrlIsA( TEST_URLIS_ATTRIBS[i].url, URLIS_OPAQUE); ok( ret == TEST_URLIS_ATTRIBS[i].expectOpaque, "returned %d for URLIS_OPAQUE, url "%s", expected %d\n", ret, TEST_URLIS_ATTRIBS[i].url, TEST_URLIS_ATTRIBS[i].expectOpaque ); - ret = pUrlIsA( TEST_URLIS_ATTRIBS[i].url, URLIS_FILEURL); + ret = UrlIsA( TEST_URLIS_ATTRIBS[i].url, URLIS_FILEURL); ok( ret == TEST_URLIS_ATTRIBS[i].expectFile, "returned %d for URLIS_FILEURL, url "%s", expected %d\n", ret, TEST_URLIS_ATTRIBS[i].url, TEST_URLIS_ATTRIBS[i].expectFile );
- if (pUrlIsW) { - ret = pUrlIsW( wurl, URLIS_OPAQUE); - ok( ret == TEST_URLIS_ATTRIBS[i].expectOpaque, - "returned %d for URLIS_OPAQUE (UrlIsW), url "%s", expected %d\n", - ret, TEST_URLIS_ATTRIBS[i].url, TEST_URLIS_ATTRIBS[i].expectOpaque ); - ret = pUrlIsW( wurl, URLIS_FILEURL); - ok( ret == TEST_URLIS_ATTRIBS[i].expectFile, - "returned %d for URLIS_FILEURL (UrlIsW), url "%s", expected %d\n", - ret, TEST_URLIS_ATTRIBS[i].url, TEST_URLIS_ATTRIBS[i].expectFile ); - } + ret = UrlIsW( wurl, URLIS_OPAQUE); + ok( ret == TEST_URLIS_ATTRIBS[i].expectOpaque, + "returned %d for URLIS_OPAQUE (UrlIsW), url "%s", expected %d\n", + ret, TEST_URLIS_ATTRIBS[i].url, TEST_URLIS_ATTRIBS[i].expectOpaque ); + ret = UrlIsW( wurl, URLIS_FILEURL); + ok( ret == TEST_URLIS_ATTRIBS[i].expectFile, + "returned %d for URLIS_FILEURL (UrlIsW), url "%s", expected %d\n", + ret, TEST_URLIS_ATTRIBS[i].url, TEST_URLIS_ATTRIBS[i].expectFile ); } }
@@ -1436,13 +1344,9 @@ static void test_UrlUnescape(void) 'C',':','/','P','r','o','g','r','a','m','%','2','0','F','i','l','e','s',0}; HRESULT res;
- if (!pUrlUnescapeA) { - win_skip("UrlUnescapeA not found\n"); - return; - } for (i = 0; i < ARRAY_SIZE(TEST_URL_UNESCAPE); i++) { dwEscaped=INTERNET_MAX_URL_LENGTH; - res = pUrlUnescapeA(TEST_URL_UNESCAPE[i].url, szReturnUrl, &dwEscaped, 0); + res = UrlUnescapeA(TEST_URL_UNESCAPE[i].url, szReturnUrl, &dwEscaped, 0); ok(res == S_OK, "UrlUnescapeA returned 0x%x (expected S_OK) for "%s"\n", res, TEST_URL_UNESCAPE[i].url); @@ -1450,53 +1354,49 @@ static void test_UrlUnescape(void)
ZeroMemory(szReturnUrl, sizeof(szReturnUrl)); /* if we set the buffer pointer to NULL here, UrlUnescape fails and the string is not converted */ - res = pUrlUnescapeA(TEST_URL_UNESCAPE[i].url, szReturnUrl, NULL, 0); + res = UrlUnescapeA(TEST_URL_UNESCAPE[i].url, szReturnUrl, NULL, 0); ok(res == E_INVALIDARG, "UrlUnescapeA returned 0x%x (expected E_INVALIDARG) for "%s"\n", res, TEST_URL_UNESCAPE[i].url); ok(strcmp(szReturnUrl,"")==0, "Expected empty string\n");
- if (pUrlUnescapeW) { - dwEscaped = INTERNET_MAX_URL_LENGTH; - urlW = GetWideString(TEST_URL_UNESCAPE[i].url); - expected_urlW = GetWideString(TEST_URL_UNESCAPE[i].expect); - res = pUrlUnescapeW(urlW, ret_urlW, &dwEscaped, 0); - ok(res == S_OK, - "UrlUnescapeW returned 0x%x (expected S_OK) for "%s"\n", - res, TEST_URL_UNESCAPE[i].url); + dwEscaped = INTERNET_MAX_URL_LENGTH; + urlW = GetWideString(TEST_URL_UNESCAPE[i].url); + expected_urlW = GetWideString(TEST_URL_UNESCAPE[i].expect); + res = UrlUnescapeW(urlW, ret_urlW, &dwEscaped, 0); + ok(res == S_OK, + "UrlUnescapeW returned 0x%x (expected S_OK) for "%s"\n", + res, TEST_URL_UNESCAPE[i].url);
- WideCharToMultiByte(CP_ACP,0,ret_urlW,-1,szReturnUrl,INTERNET_MAX_URL_LENGTH,0,0); - ok(lstrcmpW(ret_urlW, expected_urlW)==0, - "Expected "%s", but got "%s" from "%s" flags %08lx\n", - TEST_URL_UNESCAPE[i].expect, szReturnUrl, TEST_URL_UNESCAPE[i].url, 0L); - FreeWideString(urlW); - FreeWideString(expected_urlW); - } + WideCharToMultiByte(CP_ACP,0,ret_urlW,-1,szReturnUrl,INTERNET_MAX_URL_LENGTH,0,0); + ok(lstrcmpW(ret_urlW, expected_urlW)==0, + "Expected "%s", but got "%s" from "%s" flags %08lx\n", + TEST_URL_UNESCAPE[i].expect, szReturnUrl, TEST_URL_UNESCAPE[i].url, 0L); + FreeWideString(urlW); + FreeWideString(expected_urlW); }
dwEscaped = sizeof(inplace); - res = pUrlUnescapeA(inplace, NULL, &dwEscaped, URL_UNESCAPE_INPLACE); + res = UrlUnescapeA(inplace, NULL, &dwEscaped, URL_UNESCAPE_INPLACE); ok(res == S_OK, "UrlUnescapeA returned 0x%x (expected S_OK)\n", res); ok(!strcmp(inplace, expected), "got %s expected %s\n", inplace, expected); ok(dwEscaped == 27, "got %d expected 27\n", dwEscaped);
/* if we set the buffer pointer to NULL, the string apparently still gets converted (Google Lively does this) */ - res = pUrlUnescapeA(another_inplace, NULL, NULL, URL_UNESCAPE_INPLACE); + res = UrlUnescapeA(another_inplace, NULL, NULL, URL_UNESCAPE_INPLACE); ok(res == S_OK, "UrlUnescapeA returned 0x%x (expected S_OK)\n", res); ok(!strcmp(another_inplace, expected), "got %s expected %s\n", another_inplace, expected);
- if (pUrlUnescapeW) { - dwEscaped = sizeof(inplaceW); - res = pUrlUnescapeW(inplaceW, NULL, &dwEscaped, URL_UNESCAPE_INPLACE); - ok(res == S_OK, "UrlUnescapeW returned 0x%x (expected S_OK)\n", res); - ok(dwEscaped == 50, "got %d expected 50\n", dwEscaped); + dwEscaped = sizeof(inplaceW); + res = UrlUnescapeW(inplaceW, NULL, &dwEscaped, URL_UNESCAPE_INPLACE); + ok(res == S_OK, "UrlUnescapeW returned 0x%x (expected S_OK)\n", res); + ok(dwEscaped == 50, "got %d expected 50\n", dwEscaped);
- /* if we set the buffer pointer to NULL, the string apparently still gets converted (Google Lively does this) */ - res = pUrlUnescapeW(another_inplaceW, NULL, NULL, URL_UNESCAPE_INPLACE); - ok(res == S_OK, "UrlUnescapeW returned 0x%x (expected S_OK)\n", res); + /* if we set the buffer pointer to NULL, the string apparently still gets converted (Google Lively does this) */ + res = UrlUnescapeW(another_inplaceW, NULL, NULL, URL_UNESCAPE_INPLACE); + ok(res == S_OK, "UrlUnescapeW returned 0x%x (expected S_OK)\n", res);
- ok(lstrlenW(another_inplaceW) == 24, "got %d expected 24\n", lstrlenW(another_inplaceW)); - } + ok(lstrlenW(another_inplaceW) == 24, "got %d expected 24\n", lstrlenW(another_inplaceW)); }
static const struct parse_url_test_t { @@ -1534,7 +1434,7 @@ static void test_ParseURL(void) for (test = parse_url_tests; test < parse_url_tests + ARRAY_SIZE(parse_url_tests); test++) { memset(&parseda, 0xd0, sizeof(parseda)); parseda.cbSize = sizeof(parseda); - hres = pParseURLA(test->url, &parseda); + hres = ParseURLA(test->url, &parseda); ok(hres == test->hres, "ParseURL failed: %08x, expected %08x\n", hres, test->hres); if(hres == S_OK) { ok(parseda.pszProtocol == test->url, "parseda.pszProtocol = %s, expected %s\n", @@ -1557,7 +1457,7 @@ static void test_ParseURL(void)
memset(&parsedw, 0xd0, sizeof(parsedw)); parsedw.cbSize = sizeof(parsedw); - hres = pParseURLW(url, &parsedw); + hres = ParseURLW(url, &parsedw); ok(hres == test->hres, "ParseURL failed: %08x, expected %08x\n", hres, test->hres); if(hres == S_OK) { ok(parsedw.pszProtocol == url, "parsedw.pszProtocol = %s, expected %s\n", @@ -1598,36 +1498,36 @@ static void test_HashData(void) int i;
/* Test hashing with identically sized input/output buffers. */ - res = pHashData(input, 16, output, 16); + res = HashData(input, 16, output, 16); ok(res == S_OK, "Expected HashData to return S_OK, got 0x%08x\n", res); if(res == S_OK) ok(!memcmp(output, expected, sizeof(expected)), "Output buffer did not match expected contents\n");
/* Test hashing with larger output buffer. */ - res = pHashData(input, 16, output, 32); + res = HashData(input, 16, output, 32); ok(res == S_OK, "Expected HashData to return S_OK, got 0x%08x\n", res); if(res == S_OK) ok(!memcmp(output, expected2, sizeof(expected2)), "Output buffer did not match expected contents\n");
/* Test hashing with smaller input buffer. */ - res = pHashData(input, 8, output, 16); + res = HashData(input, 8, output, 16); ok(res == S_OK, "Expected HashData to return S_OK, got 0x%08x\n", res); if(res == S_OK) ok(!memcmp(output, expected3, sizeof(expected3)), "Output buffer did not match expected contents\n");
/* Test passing NULL pointers for input/output parameters. */ - res = pHashData(NULL, 0, NULL, 0); + res = HashData(NULL, 0, NULL, 0); ok(res == E_INVALIDARG || broken(res == S_OK), /* Windows 2000 */ "Expected HashData to return E_INVALIDARG, got 0x%08x\n", res);
- res = pHashData(input, 0, NULL, 0); + res = HashData(input, 0, NULL, 0); ok(res == E_INVALIDARG || broken(res == S_OK), /* Windows 2000 */ "Expected HashData to return E_INVALIDARG, got 0x%08x\n", res);
- res = pHashData(NULL, 0, output, 0); + res = HashData(NULL, 0, output, 0); ok(res == E_INVALIDARG || broken(res == S_OK), /* Windows 2000 */ "Expected HashData to return E_INVALIDARG, got 0x%08x\n", res);
@@ -1638,7 +1538,7 @@ static void test_HashData(void) for (i = 0; i < ARRAY_SIZE(output); i++) output[i] = 0xFF;
- res = pHashData(input, 0, output, 0); + res = HashData(input, 0, output, 0); ok(res == S_OK, "Expected HashData to return S_OK, got 0x%08x\n", res);
/* The buffers should be unchanged. */ @@ -1655,12 +1555,12 @@ static void test_HashData(void) }
/* Input/output parameters are not validated. */ - res = pHashData((BYTE *)0xdeadbeef, 0, (BYTE *)0xdeadbeef, 0); + res = HashData((BYTE *)0xdeadbeef, 0, (BYTE *)0xdeadbeef, 0); ok(res == S_OK, "Expected HashData to return S_OK, got 0x%08x\n", res);
if (0) { - res = pHashData((BYTE *)0xdeadbeef, 1, (BYTE *)0xdeadbeef, 1); + res = HashData((BYTE *)0xdeadbeef, 1, (BYTE *)0xdeadbeef, 1); trace("HashData returned 0x%08x\n", res); } } @@ -1669,39 +1569,6 @@ static void test_HashData(void)
START_TEST(url) { - char *pFunc; - - hShlwapi = GetModuleHandleA("shlwapi.dll"); - - /* SHCreateStreamOnFileEx was introduced in shlwapi v6.0 */ - pFunc = (void*)GetProcAddress(hShlwapi, "SHCreateStreamOnFileEx"); - if(!pFunc){ - win_skip("Too old shlwapi version\n"); - return; - } - - pUrlUnescapeA = (void *) GetProcAddress(hShlwapi, "UrlUnescapeA"); - pUrlUnescapeW = (void *) GetProcAddress(hShlwapi, "UrlUnescapeW"); - pUrlIsA = (void *) GetProcAddress(hShlwapi, "UrlIsA"); - pUrlIsW = (void *) GetProcAddress(hShlwapi, "UrlIsW"); - pUrlHashA = (void *) GetProcAddress(hShlwapi, "UrlHashA"); - pUrlHashW = (void *) GetProcAddress(hShlwapi, "UrlHashW"); - pUrlGetPartA = (void *) GetProcAddress(hShlwapi, "UrlGetPartA"); - pUrlGetPartW = (void *) GetProcAddress(hShlwapi, "UrlGetPartW"); - pUrlEscapeA = (void *) GetProcAddress(hShlwapi, "UrlEscapeA"); - pUrlEscapeW = (void *) GetProcAddress(hShlwapi, "UrlEscapeW"); - pUrlCreateFromPathA = (void *) GetProcAddress(hShlwapi, "UrlCreateFromPathA"); - pUrlCreateFromPathW = (void *) GetProcAddress(hShlwapi, "UrlCreateFromPathW"); - pUrlCombineA = (void *) GetProcAddress(hShlwapi, "UrlCombineA"); - pUrlCombineW = (void *) GetProcAddress(hShlwapi, "UrlCombineW"); - pUrlCanonicalizeA = (void *) GetProcAddress(hShlwapi, "UrlCanonicalizeA"); - pUrlCanonicalizeW = (void *) GetProcAddress(hShlwapi, "UrlCanonicalizeW"); - pUrlApplySchemeA = (void *) GetProcAddress(hShlwapi, "UrlApplySchemeA"); - pUrlApplySchemeW = (void *) GetProcAddress(hShlwapi, "UrlApplySchemeW"); - pParseURLA = (void*)GetProcAddress(hShlwapi, (LPCSTR)1); - pParseURLW = (void*)GetProcAddress(hShlwapi, (LPCSTR)2); - pHashData = (void*)GetProcAddress(hShlwapi, "HashData"); - test_UrlApplyScheme(); test_UrlHash(); test_UrlGetPart();