Mike McCormack : wininet: Simple tests for InternetGetCookie's
parameters.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jun 2 14:11:56 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 24b886d9165c479ee0dc4c8d2824c3f1b94a841c
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=24b886d9165c479ee0dc4c8d2824c3f1b94a841c
Author: Mike McCormack <mike at codeweavers.com>
Date: Fri Jun 2 19:49:27 2006 +0900
wininet: Simple tests for InternetGetCookie's parameters.
---
dlls/wininet/cookie.c | 6 ++++++
dlls/wininet/tests/internet.c | 30 ++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+), 0 deletions(-)
diff --git a/dlls/wininet/cookie.c b/dlls/wininet/cookie.c
index fe32c0b..53ee643 100644
--- a/dlls/wininet/cookie.c
+++ b/dlls/wininet/cookie.c
@@ -264,6 +264,12 @@ BOOL WINAPI InternetGetCookieW(LPCWSTR l
TRACE("(%s, %s, %p, %p)\n", debugstr_w(lpszUrl),debugstr_w(lpszCookieName),
lpCookieData, lpdwSize);
+ if (!lpszUrl)
+ {
+ SetLastError(ERROR_INTERNET_UNRECOGNIZED_SCHEME);
+ return FALSE;
+ }
+
COOKIE_crackUrlSimple(lpszUrl, hostName, sizeof(hostName)/sizeof(hostName[0]), path, sizeof(path)/sizeof(path[0]));
LIST_FOR_EACH(cursor, &domain_list)
diff --git a/dlls/wininet/tests/internet.c b/dlls/wininet/tests/internet.c
index 2f0f8b7..d3596ae 100644
--- a/dlls/wininet/tests/internet.c
+++ b/dlls/wininet/tests/internet.c
@@ -125,7 +125,10 @@ static void test_null(void)
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 };
+ static const WCHAR szExpect[] = { 's','e','r','v','e','r',';',' ','s','e','r','v','e','r',0 };
+ WCHAR buffer[0x20];
BOOL r;
+ DWORD sz;
hi = InternetOpenW(NULL, 0, NULL, NULL, 0);
ok(hi != NULL, "open failed\n");
@@ -184,6 +187,33 @@ static void test_null(void)
ok(GetLastError() == ERROR_INTERNET_UNRECOGNIZED_SCHEME, "wrong error\n");
}
ok(r == FALSE, "return wrong\n");
+
+ sz = 0;
+ r = InternetGetCookieW(NULL, NULL, NULL, &sz);
+ ok(GetLastError() == ERROR_INTERNET_UNRECOGNIZED_SCHEME, "wrong error\n");
+ ok( r == FALSE, "return wrong\n");
+
+ r = InternetGetCookieW(szServer, NULL, NULL, &sz);
+ todo_wine {
+ ok(GetLastError() == ERROR_INTERNET_UNRECOGNIZED_SCHEME, "wrong error\n");
+ }
+ ok( r == FALSE, "return wrong\n");
+
+ sz = 0;
+ r = InternetGetCookieW(szUrl, szServer, NULL, &sz);
+ ok( r == TRUE, "return wrong\n");
+ todo_wine {
+ ok( sz == 30, "sz wrong\n");
+ }
+
+ sz = 0x20;
+ memset(buffer, 0, sizeof buffer);
+ r = InternetGetCookieW(szUrl, szServer, buffer, &sz);
+ ok( r == TRUE, "return wrong\n");
+ todo_wine {
+ ok( sz == lstrlenW(buffer), "sz wrong\n");
+ ok( !lstrcmpW(szExpect, buffer), "cookie data wrong\n");
+ }
}
START_TEST(internet)
More information about the wine-cvs
mailing list