Module: wine Branch: master Commit: 4a2265742a07609f1d53bccfd46d60cc6f09b07f URL: https://gitlab.winehq.org/wine/wine/-/commit/4a2265742a07609f1d53bccfd46d60c...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Tue Jul 16 12:54:24 2024 +0200
winhttp/tests: Add some more tests for string options in WinHttpQueryOption().
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com
---
dlls/winhttp/tests/winhttp.c | 53 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+)
diff --git a/dlls/winhttp/tests/winhttp.c b/dlls/winhttp/tests/winhttp.c index a1f8c15e356..6e814247167 100644 --- a/dlls/winhttp/tests/winhttp.c +++ b/dlls/winhttp/tests/winhttp.c @@ -3332,6 +3332,15 @@ static void test_redirect(int port) ok(ret, "got %lu\n", GetLastError()); ok(!wcscmp(url, expected), "expected %s got %s\n", wine_dbgstr_w(expected), wine_dbgstr_w(url));
+ /* Exact buffer size match. */ + url[0] = 0; + size = (lstrlenW(expected) + 1) * sizeof(WCHAR); + ret = WinHttpQueryOption(req, WINHTTP_OPTION_URL, url, &size); + todo_wine + ok(ret, "got %lu\n", GetLastError()); + todo_wine + ok(!wcscmp(url, expected), "expected %s got %s\n", wine_dbgstr_w(expected), wine_dbgstr_w(url)); + ret = WinHttpReceiveResponse(req, NULL); ok(ret, "failed to receive response %lu\n", GetLastError());
@@ -4417,6 +4426,17 @@ static void test_credentials(void) ok(!wcscmp(buffer, proxy_userW), "unexpected result %s\n", wine_dbgstr_w(buffer)); ok(size == lstrlenW(proxy_userW) * sizeof(WCHAR), "unexpected result %lu\n", size);
+ /* Exact buffer size match. */ + size = (lstrlenW(proxy_userW) + 1) * sizeof(WCHAR); + buffer[0] = 0; + ret = WinHttpQueryOption(req, WINHTTP_OPTION_PROXY_USERNAME, &buffer, &size); + todo_wine + ok(ret, "failed to query proxy username %lu\n", GetLastError()); + todo_wine + ok(!wcscmp(buffer, proxy_userW), "unexpected result %s\n", wine_dbgstr_w(buffer)); + todo_wine + ok(size == lstrlenW(proxy_userW) * sizeof(WCHAR), "unexpected result %lu\n", size); + buffer[0] = 0x1; SetLastError(0xdeadbeef); ret = WinHttpQueryOption(req, WINHTTP_OPTION_PROXY_USERNAME, &buffer, &size); @@ -4463,6 +4483,17 @@ static void test_credentials(void) ok(!wcscmp(buffer, proxy_passW), "unexpected result %s\n", wine_dbgstr_w(buffer)); ok(size == lstrlenW(proxy_passW) * sizeof(WCHAR), "unexpected result %lu\n", size);
+ /* Exact buffer size match. */ + size = (lstrlenW(proxy_passW) + 1) * sizeof(WCHAR); + buffer[0] = 0; + ret = WinHttpQueryOption(req, WINHTTP_OPTION_PROXY_PASSWORD, &buffer, &size); + todo_wine + ok(ret, "failed to query proxy password %lu\n", GetLastError()); + todo_wine + ok(!wcscmp(buffer, proxy_passW), "unexpected result %s\n", wine_dbgstr_w(buffer)); + todo_wine + ok(size == lstrlenW(proxy_passW) * sizeof(WCHAR), "unexpected result %lu\n", size); + buffer[0] = 0x1; SetLastError(0xdeadbeef); ret = WinHttpQueryOption(req, WINHTTP_OPTION_PROXY_PASSWORD, &buffer, &size); @@ -4485,6 +4516,17 @@ static void test_credentials(void) ok(!wcscmp(buffer, userW), "unexpected result %s\n", wine_dbgstr_w(buffer)); ok(size == lstrlenW(userW) * sizeof(WCHAR), "unexpected result %lu\n", size);
+ /* Exact buffer size match. */ + size = (lstrlenW(userW) + 1) * sizeof(WCHAR); + buffer[0] = 0; + ret = WinHttpQueryOption(req, WINHTTP_OPTION_USERNAME, &buffer, &size); + todo_wine + ok(ret, "failed to query username %lu\n", GetLastError()); + todo_wine + ok(!wcscmp(buffer, userW), "unexpected result %s\n", wine_dbgstr_w(buffer)); + todo_wine + ok(size == lstrlenW(userW) * sizeof(WCHAR), "unexpected result %lu\n", size); + buffer[0] = 0x1; SetLastError(0xdeadbeef); ret = WinHttpQueryOption(req, WINHTTP_OPTION_USERNAME, &buffer, &size); @@ -4507,6 +4549,17 @@ static void test_credentials(void) ok(!wcscmp(buffer, passW), "unexpected result %s\n", wine_dbgstr_w(buffer)); ok(size == lstrlenW(passW) * sizeof(WCHAR), "unexpected result %lu\n", size);
+ /* Exact buffer size match. */ + buffer[0] = 0; + size = (lstrlenW(passW) + 1) * sizeof(WCHAR); + ret = WinHttpQueryOption(req, WINHTTP_OPTION_PASSWORD, &buffer, &size); + todo_wine + ok(ret, "failed to query password %lu\n", GetLastError()); + todo_wine + ok(!wcscmp(buffer, passW), "unexpected result %s\n", wine_dbgstr_w(buffer)); + todo_wine + ok(size == lstrlenW(passW) * sizeof(WCHAR), "unexpected result %lu\n", size); + buffer[0] = 0x1; SetLastError(0xdeadbeef); ret = WinHttpQueryOption(req, WINHTTP_OPTION_PASSWORD, &buffer, &size);