Zebediah Figura : shlwapi/tests: Remove workarounds from url.c for no longer supported Windows versions.
Alexandre Julliard
julliard at winehq.org
Fri Feb 11 14:33:56 CST 2022
Module: wine
Branch: master
Commit: c4b0c64c8d24866917e04a276a75023d0029b98b
URL: https://source.winehq.org/git/wine.git/?a=commit;h=c4b0c64c8d24866917e04a276a75023d0029b98b
Author: Zebediah Figura <zfigura at codeweavers.com>
Date: Thu Feb 10 23:36:38 2022 -0600
shlwapi/tests: Remove workarounds from url.c for no longer supported Windows versions.
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/shlwapi/tests/url.c | 66 ++++++++++++++----------------------------------
1 file changed, 19 insertions(+), 47 deletions(-)
diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c
index 703bdcd0a55..65fc2cfedd1 100644
--- a/dlls/shlwapi/tests/url.c
+++ b/dlls/shlwapi/tests/url.c
@@ -295,7 +295,6 @@ typedef struct _TEST_URL_ESCAPEW {
DWORD flags;
const WCHAR expecturl[INTERNET_MAX_URL_LENGTH];
const WCHAR win7url[INTERNET_MAX_URL_LENGTH]; /* <= Win7 */
- const WCHAR vistaurl[INTERNET_MAX_URL_LENGTH]; /* <= Vista/2k8 */
} TEST_URL_ESCAPEW;
static const TEST_URL_ESCAPEW TEST_ESCAPEW[] = {
@@ -311,12 +310,10 @@ static const TEST_URL_ESCAPEW TEST_ESCAPEW[] = {
{'M','a','%','D','F',0}},
/* 0x2070E */
{{0xd841,0xdf0e,0}, URL_ESCAPE_AS_UTF8, {'%','F','0','%','A','0','%','9','C','%','8','E',0},
- {'%','E','F','%','B','F','%','B','D','%','E','F','%','B','F','%','B','D',0},
- {0xd841,0xdf0e,0}},
+ {'%','E','F','%','B','F','%','B','D','%','E','F','%','B','F','%','B','D',0}},
/* 0x27A3E */
{{0xd85e,0xde3e,0}, URL_ESCAPE_AS_UTF8, {'%','F','0','%','A','7','%','A','8','%','B','E',0},
- {'%','E','F','%','B','F','%','B','D','%','E','F','%','B','F','%','B','D',0},
- {0xd85e,0xde3e,0}},
+ {'%','E','F','%','B','F','%','B','D','%','E','F','%','B','F','%','B','D',0}},
{{0xd85e,0}, URL_ESCAPE_AS_UTF8, {'%','E','F','%','B','F','%','B','D',0},
{0xd85e,0}},
@@ -414,12 +411,7 @@ static const struct {
{"c:\\foo/b a%r", "file:///c:/foo/b%20a%25r", S_OK},
{"c:\\foo\\foo bar", "file:///c:/foo/foo%20bar", S_OK},
{"file:///c:/foo/bar", "file:///c:/foo/bar", S_FALSE},
-#if 0
- /* The following test fails on native shlwapi as distributed with Win95/98.
- * Wine matches the behaviour of later versions.
- */
{"xx:c:\\foo\\bar", "xx:c:\\foo\\bar", S_FALSE}
-#endif
};
/* ################ */
@@ -614,8 +606,8 @@ static void test_url_part(const char* szUrl, DWORD dwPart, DWORD dwFlags, const
dwSize = 1;
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)),
+ todo_wine_if (dwPart == URL_PART_QUERY)
+ ok(dwSize == strlen(szExpected) + 1,
"UrlGetPart for \"%s\" gave size: %u\n", szUrl, dwSize);
dwSize = INTERNET_MAX_URL_LENGTH;
@@ -638,9 +630,8 @@ static void test_url_part(const char* szUrl, DWORD dwPart, DWORD dwFlags, const
FreeWideString(wszConvertedPart);
FreeWideString(wszUrl);
- /* Note that v6.0 and later don't return '?' with the query */
- ok(strcmp(szPart,szExpected)==0 ||
- (*szExpected=='?' && !strcmp(szPart,szExpected+1)),
+ todo_wine_if (dwPart == URL_PART_QUERY)
+ ok(!strcmp(szPart,szExpected),
"Expected %s, but got %s\n", szExpected, szPart);
}
@@ -707,7 +698,7 @@ static void test_UrlGetPart(void)
test_url_part(TEST_URL_3, URL_PART_USERNAME, 0, "foo");
test_url_part(TEST_URL_3, URL_PART_PASSWORD, 0, "bar");
test_url_part(TEST_URL_3, URL_PART_SCHEME, 0, "http");
- test_url_part(TEST_URL_3, URL_PART_QUERY, 0, "?query=x&return=y");
+ test_url_part(TEST_URL_3, URL_PART_QUERY, 0, "query=x&return=y");
test_url_part(TEST_URL_4, URL_PART_HOSTNAME, 0, "google.*.com");
@@ -855,10 +846,8 @@ static void test_UrlEscapeA(void)
size = 1;
empty_string[0] = 127;
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 */
- "got %d, expected %d\n", size, 1);
+ ok(ret == E_NOTIMPL, "Got unexpected hr %#x.\n", ret);
+ ok(size == 1, "Got unexpected size %u.\n", size);
ok(empty_string[0] == 127, "String has changed, empty_string[0] = %d\n", empty_string[0]);
for (i = 0; i < ARRAY_SIZE(TEST_ESCAPE); i++) {
@@ -962,12 +951,10 @@ static void test_UrlEscapeW(void)
size = INTERNET_MAX_URL_LENGTH;
ret = UrlEscapeW(TEST_ESCAPEW[i].url, ret_url, &size, TEST_ESCAPEW[i].flags);
ok(ret == S_OK, "Got unexpected hr %#x for %s.\n", ret, debugstr_w(TEST_ESCAPEW[i].url));
- ok(!lstrcmpW(ret_url, TEST_ESCAPEW[i].expecturl) ||
- broken(!lstrcmpW(ret_url, TEST_ESCAPEW[i].vistaurl)) ||
- broken(!lstrcmpW(ret_url, TEST_ESCAPEW[i].win7url)),
- "Expected \"%s\" or \"%s\" or \"%s\", but got \"%s\" for \"%s\"\n",
- wine_dbgstr_w(TEST_ESCAPEW[i].expecturl), wine_dbgstr_w(TEST_ESCAPEW[i].vistaurl),
- wine_dbgstr_w(TEST_ESCAPEW[i].win7url), wine_dbgstr_w(ret_url), wine_dbgstr_w(TEST_ESCAPEW[i].url));
+ ok(!wcscmp(ret_url, TEST_ESCAPEW[i].expecturl)
+ || broken(!wcscmp(ret_url, TEST_ESCAPEW[i].win7url)),
+ "Expected %s, but got %s for %s.\n", debugstr_w(TEST_ESCAPEW[i].expecturl),
+ debugstr_w(ret_url), debugstr_w(TEST_ESCAPEW[i].url));
}
}
@@ -1484,36 +1471,27 @@ static void test_HashData(void)
/* Test hashing with identically sized input/output buffers. */
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");
+ ok(!memcmp(output, expected, sizeof(expected)), "data didn't match\n");
/* Test hashing with larger output buffer. */
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");
+ ok(!memcmp(output, expected2, sizeof(expected2)), "data didn't match\n");
/* Test hashing with smaller input buffer. */
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");
+ ok(!memcmp(output, expected3, sizeof(expected3)), "data didn't match\n");
/* Test passing NULL pointers for input/output parameters. */
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);
+ ok(res == E_INVALIDARG, "Got unexpected hr %#x.\n", res);
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);
+ ok(res == E_INVALIDARG, "Got unexpected hr %#x.\n", res);
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);
+ ok(res == E_INVALIDARG, "Got unexpected hr %#x.\n", res);
/* Test passing valid pointers with sizes of zero. */
for (i = 0; i < ARRAY_SIZE(input); i++)
@@ -1527,16 +1505,10 @@ static void test_HashData(void)
/* The buffers should be unchanged. */
for (i = 0; i < ARRAY_SIZE(input); i++)
- {
ok(input[i] == 0x00, "Expected the input buffer to be unchanged\n");
- if(input[i] != 0x00) break;
- }
for (i = 0; i < ARRAY_SIZE(output); i++)
- {
ok(output[i] == 0xFF, "Expected the output buffer to be unchanged\n");
- if(output[i] != 0xFF) break;
- }
/* Input/output parameters are not validated. */
res = HashData((BYTE *)0xdeadbeef, 0, (BYTE *)0xdeadbeef, 0);
More information about the wine-cvs
mailing list