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