Mike McCormack : wininet:
Fix up and test InternetSetCookie parameter checking.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jun 2 14:11:54 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 68d18612a05482f82bd86ff9a0399b2e47f9e3df
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=68d18612a05482f82bd86ff9a0399b2e47f9e3df
Author: Mike McCormack <mike at codeweavers.com>
Date: Fri Jun 2 19:49:09 2006 +0900
wininet: Fix up and test InternetSetCookie parameter checking.
---
dlls/wininet/cookie.c | 4 ++--
dlls/wininet/tests/internet.c | 32 ++++++++++++++++++++++++++++++++
2 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/dlls/wininet/cookie.c b/dlls/wininet/cookie.c
index b34fd3f..fe32c0b 100644
--- a/dlls/wininet/cookie.c
+++ b/dlls/wininet/cookie.c
@@ -402,9 +402,9 @@ BOOL WINAPI InternetSetCookieW(LPCWSTR l
TRACE("(%s,%s,%s)\n", debugstr_w(lpszUrl),
debugstr_w(lpszCookieName), debugstr_w(lpCookieData));
- if (!lpCookieData || !strlenW(lpCookieData))
+ if (!lpCookieData)
{
- TRACE("no cookie data, not adding\n");
+ SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
if (!lpszCookieName)
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index 5f48097..2f0f8b7 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -123,6 +123,9 @@ static void test_null(void)
{
HINTERNET hi, hc;
static const WCHAR szServer[] = { 's','e','r','v','e','r',0 };
+ static const WCHAR szEmpty[] = { 0 };
+ static const WCHAR szUrl[] = { 'h','t','t','p',':','/','/','a','.','b','.','c',0 };
+ BOOL r;
hi = InternetOpenW(NULL, 0, NULL, NULL, 0);
ok(hi != NULL, "open failed\n");
@@ -152,6 +155,35 @@ static void test_null(void)
ok(hc == NULL, "connect failed\n");
InternetCloseHandle(hi);
+
+ r = InternetSetCookieW(NULL, NULL, NULL);
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "wrong error\n");
+ ok(r == FALSE, "return wrong\n");
+
+ r = InternetSetCookieW(szServer, NULL, NULL);
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "wrong error\n");
+ ok(r == FALSE, "return wrong\n");
+
+ r = InternetSetCookieW(szUrl, szServer, NULL);
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "wrong error\n");
+ ok(r == FALSE, "return wrong\n");
+
+ r = InternetSetCookieW(szUrl, szServer, szServer);
+ ok(r == TRUE, "return wrong\n");
+
+ todo_wine {
+ r = InternetSetCookieW(szUrl, NULL, szServer);
+ ok(r == TRUE, "return wrong\n");
+ }
+
+ r = InternetSetCookieW(szUrl, szServer, szEmpty);
+ ok(r == TRUE, "return wrong\n");
+
+ r = InternetSetCookieW(szServer, NULL, szServer);
+ todo_wine {
+ ok(GetLastError() == ERROR_INTERNET_UNRECOGNIZED_SCHEME, "wrong error\n");
+ }
+ ok(r == FALSE, "return wrong\n");
}
START_TEST(internet)
More information about the wine-cvs
mailing list