[1/2] wininet/tests: Additional header tests
Alexander Morozov
amorozov at etersoft.ru
Wed Jul 2 03:21:59 CDT 2008
Changelog:
Additional HTTP header tests
-------------- next part --------------
From be072b9a2488ad18b9456e2c80a39127eeea7582 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov at builder.office.etersoft.ru>
Date: Wed, 2 Jul 2008 11:52:18 +0400
Subject: [PATCH] wininet/tests: Additional header tests
---
dlls/wininet/tests/http.c | 56 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 54 insertions(+), 2 deletions(-)
diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c
index 513afb8..cbea852 100644
--- a/dlls/wininet/tests/http.c
+++ b/dlls/wininet/tests/http.c
@@ -1346,6 +1346,7 @@ static DWORD CALLBACK server_thread(LPVOID param)
char buffer[0x100];
WSADATA wsaData;
int last_request = 0;
+ char host_header[22];
WSAStartup(MAKEWORD(1,1), &wsaData);
@@ -1369,6 +1370,8 @@ static DWORD CALLBACK server_thread(LPVOID param)
SetEvent(si->hEvent);
+ sprintf(host_header, "Host: localhost:%d", si->port);
+
do
{
c = accept(s, NULL, NULL);
@@ -1448,7 +1451,10 @@ static DWORD CALLBACK server_thread(LPVOID param)
if (strstr(buffer, "/test8"))
{
if (!strstr(buffer, "Connection: Close") &&
- strstr(buffer, "Connection: Keep-Alive"))
+ strstr(buffer, "Connection: Keep-Alive") &&
+ !strstr(buffer, "Cache-Control: no-cache") &&
+ !strstr(buffer, "Pragma: no-cache") &&
+ strstr(buffer, host_header))
send(c, okmsg, sizeof okmsg-1, 0);
else
send(c, notokmsg, sizeof notokmsg-1, 0);
@@ -1456,7 +1462,21 @@ static DWORD CALLBACK server_thread(LPVOID param)
if (strstr(buffer, "/test9"))
{
if (!strstr(buffer, "Connection: Close") &&
- !strstr(buffer, "Connection: Keep-Alive"))
+ !strstr(buffer, "Connection: Keep-Alive") &&
+ !strstr(buffer, "Cache-Control: no-cache") &&
+ !strstr(buffer, "Pragma: no-cache") &&
+ strstr(buffer, host_header))
+ send(c, okmsg, sizeof okmsg-1, 0);
+ else
+ send(c, notokmsg, sizeof notokmsg-1, 0);
+ }
+ if (strstr(buffer, "/testA"))
+ {
+ if (!strstr(buffer, "Connection: Close") &&
+ !strstr(buffer, "Connection: Keep-Alive") &&
+ (strstr(buffer, "Cache-Control: no-cache") ||
+ strstr(buffer, "Pragma: no-cache")) &&
+ strstr(buffer, host_header))
send(c, okmsg, sizeof okmsg-1, 0);
else
send(c, notokmsg, sizeof notokmsg-1, 0);
@@ -1706,6 +1726,7 @@ static void test_connection_header(int port)
size = sizeof(status);
ret = HttpQueryInfo(req, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &status, &size, NULL);
ok(ret, "HttpQueryInfo failed\n");
+ todo_wine
ok(status == 200, "request failed with status %u\n", status);
InternetCloseHandle(req);
@@ -1720,6 +1741,37 @@ static void test_connection_header(int port)
size = sizeof(status);
ret = HttpQueryInfo(req, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &status, &size, NULL);
ok(ret, "HttpQueryInfo failed\n");
+ todo_wine
+ ok(status == 200, "request failed with status %u\n", status);
+
+ InternetCloseHandle(req);
+
+ req = HttpOpenRequest(con, NULL, "/test9", NULL, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, 0);
+ ok(req != NULL, "HttpOpenRequest failed\n");
+
+ ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ok(ret, "HttpSendRequest failed\n");
+
+ status = 0;
+ size = sizeof(status);
+ ret = HttpQueryInfo(req, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &status, &size, NULL);
+ ok(ret, "HttpQueryInfo failed\n");
+ todo_wine
+ ok(status == 200, "request failed with status %u\n", status);
+
+ InternetCloseHandle(req);
+
+ req = HttpOpenRequest(con, "POST", "/testA", NULL, NULL, NULL, INTERNET_FLAG_NO_CACHE_WRITE, 0);
+ ok(req != NULL, "HttpOpenRequest failed\n");
+
+ ret = HttpSendRequest(req, NULL, 0, NULL, 0);
+ ok(ret, "HttpSendRequest failed\n");
+
+ status = 0;
+ size = sizeof(status);
+ ret = HttpQueryInfo(req, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &status, &size, NULL);
+ ok(ret, "HttpQueryInfo failed\n");
+ todo_wine
ok(status == 200, "request failed with status %u\n", status);
InternetCloseHandle(req);
--
1.5.4.5.GIT
More information about the wine-patches
mailing list