Module: wine Branch: master Commit: 5306ce9d4a2cb7530ffce42c90999bc6fec3a246 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5306ce9d4a2cb7530ffce42c90...
Author: Piotr Caban piotr@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);