Piotr Caban : wininet/tests: Test if content is read from cache in INTERNET_FLAG_FROM_CACHE tests.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu May 28 08:45:59 CDT 2015
Module: wine
Branch: master
Commit: 5306ce9d4a2cb7530ffce42c90999bc6fec3a246
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5306ce9d4a2cb7530ffce42c90999bc6fec3a246
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu May 28 14:20:05 2015 +0200
wininet/tests: Test if content is read from cache in INTERNET_FLAG_FROM_CACHE tests.
---
dlls/wininet/tests/http.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c
index 3b2f9a5..bd4ca54 100644
--- a/dlls/wininet/tests/http.c
+++ b/dlls/wininet/tests/http.c
@@ -1432,7 +1432,9 @@ static void test_http_cache(void)
BYTE buf[100];
HANDLE file;
BOOL ret;
+ FILETIME filetime_zero = {0};
+ static const char cached_content[] = "data read from cache";
static const char *types[] = { "*", "", NULL };
session = InternetOpenA("Wine Regression Test", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
@@ -1492,9 +1494,13 @@ static void test_http_cache(void)
ok(InternetCloseHandle(request), "Close request handle failed\n");
- file = CreateFileA(file_name, GENERIC_READ, 0, NULL, OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL, NULL);
+ file = CreateFileA(file_name, GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL, NULL);
ok(file != INVALID_HANDLE_VALUE, "Could not create file: %u\n", GetLastError());
+ ret = WriteFile(file, cached_content, sizeof(cached_content), &size, NULL);
+ ok(ret && size, "WriteFile failed: %d, %d\n", ret, size);
+ ret = CommitUrlCacheEntryA(url, file_name, filetime_zero, filetime_zero, NORMAL_CACHE_ENTRY, NULL, 0, NULL, 0);
+ ok(ret, "CommitUrlCacheEntry failed: %d\n", GetLastError());
CloseHandle(file);
/* Send the same request, requiring it to be retrieved from the cache */
@@ -1507,7 +1513,17 @@ static void test_http_cache(void)
ret = InternetReadFile(request, buf, sizeof(buf), &size);
ok(ret, "InternetReadFile failed: %u\n", GetLastError());
ok(size == 100, "size = %u\n", size);
+ buf[99] = 0;
+ todo_wine ok(!strcmp((char*)buf, cached_content), "incorrect page data: %s\n", (char*)buf);
+
+ ok(InternetCloseHandle(request), "Close request handle failed\n");
+ DeleteUrlCacheEntryA(url);
+ request = HttpOpenRequestA(connect, "GET", "/tests/hello.html", NULL, NULL, NULL, INTERNET_FLAG_FROM_CACHE, 0);
+ ret = HttpSendRequestA(request, NULL, 0, NULL, 0);
+ todo_wine ok(!ret, "HttpSendRequest succeeded\n");
+ if(!ret)
+ ok(GetLastError() == ERROR_FILE_NOT_FOUND, "GetLastError() = %d\n", GetLastError());
ok(InternetCloseHandle(request), "Close request handle failed\n");
request = HttpOpenRequestA(connect, NULL, "/", NULL, NULL, types, INTERNET_FLAG_NO_CACHE_WRITE, 0);
More information about the wine-cvs
mailing list