From a4ac824fe5cd50d2861ebd4ab2ff2766546b69bf Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Sun, 5 Dec 2021 19:31:19 -0600 Subject: [PATCH] shlwapi/tests: Use winetest_push_context() in test_UrlCanonicalizeA(). --- dlls/shlwapi/tests/url.c | 51 ++++++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/dlls/shlwapi/tests/url.c b/dlls/shlwapi/tests/url.c index 6f8bae7a21a..3856701f24b 100644 --- a/dlls/shlwapi/tests/url.c +++ b/dlls/shlwapi/tests/url.c @@ -772,37 +772,38 @@ static void test_UrlGetPart(void) } /* ########################### */ -static void check_url_canonicalize(int index, const char *szUrl, DWORD dwFlags, const char *szExpectUrl, BOOL todo) +static void check_url_canonicalize(const char *url, DWORD flags, const char *expect, BOOL todo) { - CHAR szReturnUrl[INTERNET_MAX_URL_LENGTH]; - WCHAR wszReturnUrl[INTERNET_MAX_URL_LENGTH]; - LPWSTR wszUrl = GetWideString(szUrl); - LPWSTR wszConvertedUrl; - HRESULT ret; + char output[INTERNET_MAX_URL_LENGTH]; + WCHAR outputW[INTERNET_MAX_URL_LENGTH]; + WCHAR *urlW = GetWideString(url); + WCHAR *expectW; + HRESULT hr; + DWORD size; - DWORD dwSize; + winetest_push_context("URL %s, flags %#lx", debugstr_a(url), flags); - dwSize = INTERNET_MAX_URL_LENGTH; - ret = UrlCanonicalizeA(szUrl, NULL, &dwSize, dwFlags); - ok(ret == E_INVALIDARG, "Got unexpected hr %#lx for index %d.\n", ret, index); - ret = UrlCanonicalizeA(szUrl, szReturnUrl, &dwSize, dwFlags); - ok(ret == S_OK || (!szUrl[0] && ret == S_FALSE) /* Vista+ */, - "Got unexpected hr %#lx for index %d.\n", ret, index); + size = INTERNET_MAX_URL_LENGTH; + hr = UrlCanonicalizeA(url, NULL, &size, flags); + ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr); + hr = UrlCanonicalizeA(url, output, &size, flags); + ok(hr == S_OK || (!url[0] && hr == S_FALSE) /* Vista+ */, "Got unexpected hr %#lx.\n", hr); todo_wine_if (todo) - ok(strcmp(szReturnUrl,szExpectUrl)==0, "UrlCanonicalizeA dwFlags 0x%08lx url '%s' Expected \"%s\", but got \"%s\", index %d\n", dwFlags, szUrl, szExpectUrl, szReturnUrl, index); + ok(!strcmp(output, expect), "Expected %s, got %s.\n", debugstr_a(expect), debugstr_a(output)); + + size = INTERNET_MAX_URL_LENGTH; + hr = UrlCanonicalizeW(urlW, NULL, &size, flags); + ok(hr == E_INVALIDARG, "Got unexpected hr %#lx.\n", hr); + hr = UrlCanonicalizeW(urlW, outputW, &size, flags); + ok(hr == S_OK, "Got unexpected hr %#lx.\n", hr); - dwSize = INTERNET_MAX_URL_LENGTH; - ret = UrlCanonicalizeW(wszUrl, NULL, &dwSize, dwFlags); - ok(ret == E_INVALIDARG, "Got unexpected hr %#lx for index %d.\n", ret, index); - ret = UrlCanonicalizeW(wszUrl, wszReturnUrl, &dwSize, dwFlags); - ok(ret == S_OK, "Got unexpected hr %#lx for index %d.\n", ret, index); + expectW = GetWideString(output); + ok(!wcscmp(outputW, expectW), "Expected %s, got %s.\n", debugstr_w(expectW), debugstr_w(outputW)); + FreeWideString(expectW); - wszConvertedUrl = GetWideString(szReturnUrl); - ok(lstrcmpW(wszReturnUrl, wszConvertedUrl)==0, - "Strings didn't match between ansi and unicode UrlCanonicalize, index %d!\n", index); - FreeWideString(wszConvertedUrl); + FreeWideString(urlW); - FreeWideString(wszUrl); + winetest_pop_context(); } @@ -1157,7 +1158,7 @@ static void test_UrlCanonicalizeA(void) /* test url-modification */ for (i = 0; i < ARRAY_SIZE(tests); i++) - check_url_canonicalize(i, tests[i].url, tests[i].flags, tests[i].expect, tests[i].todo); + check_url_canonicalize(tests[i].url, tests[i].flags, tests[i].expect, tests[i].todo); } /* ########################### */ -- 2.11.4.GIT