From 8e8eef940a2980dc4577ec4d075f1d7e2a57f8b5 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Tue, 2 Sep 2014 12:37:37 +0200 Subject: [PATCH] wininet/tests: Fixed most tests on IE11. --- dlls/wininet/tests/http.c | 62 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 11 deletions(-) diff --git a/dlls/wininet/tests/http.c b/dlls/wininet/tests/http.c index a8b55fd05a8..ab09cca94c6 100644 --- a/dlls/wininet/tests/http.c +++ b/dlls/wininet/tests/http.c @@ -73,7 +73,7 @@ static BOOL first_connection_to_test_url = TRUE; status < MAX_INTERNET_STATUS && status_string[status] ? \ status_string[status] : "unknown"); \ if (expect[status]) expect[status]--; \ - else optional[status]--; \ + else if(optional[status]) optional[status]--; \ } \ notified[status]++; \ }while(0) @@ -728,8 +728,16 @@ static void InternetReadFile_test(int flags, const test_data_t *test) { if (flags & INTERNET_FLAG_ASYNC) SET_EXPECT(INTERNET_STATUS_REQUEST_COMPLETE); + + /* IE11 calls those in InternetQueryDataAvailable call. */ + SET_OPTIONAL(INTERNET_STATUS_RECEIVING_RESPONSE); + SET_OPTIONAL(INTERNET_STATUS_RESPONSE_RECEIVED); + length = 0; res = InternetQueryDataAvailable(hor,&length,0x0,0x0); + + CLEAR_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE); + if (flags & INTERNET_FLAG_ASYNC) { if (res) @@ -750,6 +758,7 @@ static void InternetReadFile_test(int flags, const test_data_t *test) exlen = length; ok(exlen, "length = 0\n"); CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE); + CLEAR_NOTIFIED(INTERNET_STATUS_RESPONSE_RECEIVED); ok(req_error, "req_error = 0\n"); continue; }else { @@ -758,6 +767,8 @@ static void InternetReadFile_test(int flags, const test_data_t *test) }else { ok(res, "InternetQueryDataAvailable failed: %u\n", GetLastError()); } + CLEAR_NOTIFIED(INTERNET_STATUS_RESPONSE_RECEIVED); + trace("LENGTH %d\n", length); if(test->flags & TESTF_CHUNKED) ok(length <= 8192, "length = %d, expected <= 8192\n", length); @@ -3232,17 +3243,24 @@ static void test_conn_close(int port) res = InternetReadFile(req, buf, avail, &size); ok(res, "InternetReadFile failed: %u\n", GetLastError()); + /* IE11 calls those in InternetQueryDataAvailable call. */ + SET_OPTIONAL(INTERNET_STATUS_RECEIVING_RESPONSE); + SET_OPTIONAL(INTERNET_STATUS_RESPONSE_RECEIVED); + res = InternetQueryDataAvailable(req, &avail, 0, 0); ok(!res && (GetLastError() == ERROR_IO_PENDING), "Asynchronous HttpSendRequest NOT returning 0 with error ERROR_IO_PENDING\n"); ok(!avail, "avail = %u, expected 0\n", avail); + CLEAR_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE); + SET_EXPECT(INTERNET_STATUS_CLOSING_CONNECTION); SET_EXPECT(INTERNET_STATUS_CONNECTION_CLOSED); SET_EXPECT(INTERNET_STATUS_REQUEST_COMPLETE); SetEvent(conn_close_event); WaitForSingleObject(hCompleteEvent, INFINITE); ok(req_error == ERROR_SUCCESS, "req_error = %u\n", req_error); + CLEAR_NOTIFIED(INTERNET_STATUS_RESPONSE_RECEIVED); CHECK_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION); CHECK_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED); CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE); @@ -4323,6 +4341,10 @@ static void test_security_flags(void) SET_EXPECT(INTERNET_STATUS_NAME_RESOLVED); SET_EXPECT(INTERNET_STATUS_CONNECTING_TO_SERVER); SET_EXPECT(INTERNET_STATUS_CONNECTED_TO_SERVER); + SET_OPTIONAL(INTERNET_STATUS_CLOSING_CONNECTION); /* IE11 calls it, it probably reconnects. */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTION_CLOSED); /* IE11 */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTING_TO_SERVER); /* IE11 */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTED_TO_SERVER); /* IE11 */ SET_EXPECT(INTERNET_STATUS_SENDING_REQUEST); SET_EXPECT(INTERNET_STATUS_REQUEST_SENT); SET_EXPECT(INTERNET_STATUS_RECEIVING_RESPONSE); @@ -4339,8 +4361,10 @@ static void test_security_flags(void) CHECK_NOTIFIED(INTERNET_STATUS_RESOLVING_NAME); CHECK_NOTIFIED(INTERNET_STATUS_NAME_RESOLVED); - CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER); - CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER); + CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTING_TO_SERVER, 2); + CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTED_TO_SERVER, 2); + CHECK_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION); + CHECK_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED); CHECK_NOTIFIED(INTERNET_STATUS_SENDING_REQUEST); CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT); CHECK_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE); @@ -4374,6 +4398,10 @@ static void test_security_flags(void) SET_EXPECT(INTERNET_STATUS_CONNECTING_TO_SERVER); SET_EXPECT(INTERNET_STATUS_CONNECTED_TO_SERVER); + SET_OPTIONAL(INTERNET_STATUS_CLOSING_CONNECTION); /* IE11 calls it, it probably reconnects. */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTION_CLOSED); /* IE11 */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTING_TO_SERVER); /* IE11 */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTED_TO_SERVER); /* IE11 */ SET_EXPECT(INTERNET_STATUS_CLOSING_CONNECTION); SET_EXPECT(INTERNET_STATUS_CONNECTION_CLOSED); SET_EXPECT(INTERNET_STATUS_REQUEST_COMPLETE); @@ -4411,10 +4439,10 @@ static void test_security_flags(void) } HeapFree(GetProcessHeap(), 0, cert); - CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER); - CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER); - CHECK_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION); - CHECK_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED); + CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTING_TO_SERVER, 2); + CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTED_TO_SERVER, 2); + CHECK_NOTIFIED2(INTERNET_STATUS_CLOSING_CONNECTION, 2); + CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTION_CLOSED, 2); CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_COMPLETE); CLEAR_NOTIFIED(INTERNET_STATUS_COOKIE_SENT); CLEAR_NOTIFIED(INTERNET_STATUS_DETECTING_PROXY); @@ -4470,6 +4498,10 @@ static void test_security_flags(void) SET_EXPECT(INTERNET_STATUS_CONNECTING_TO_SERVER); SET_EXPECT(INTERNET_STATUS_CONNECTED_TO_SERVER); + SET_OPTIONAL(INTERNET_STATUS_CLOSING_CONNECTION); /* IE11 calls it, it probably reconnects. */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTION_CLOSED); /* IE11 */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTING_TO_SERVER); /* IE11 */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTED_TO_SERVER); /* IE11 */ SET_EXPECT(INTERNET_STATUS_SENDING_REQUEST); SET_EXPECT(INTERNET_STATUS_REQUEST_SENT); SET_EXPECT(INTERNET_STATUS_RECEIVING_RESPONSE); @@ -4484,8 +4516,10 @@ static void test_security_flags(void) WaitForSingleObject(hCompleteEvent, INFINITE); ok(req_error == ERROR_SUCCESS, "req_error = %d\n", req_error); - CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER); - CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER); + CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTING_TO_SERVER, 2); + CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTED_TO_SERVER, 2); + CHECK_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION); + CHECK_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED); CHECK_NOTIFIED(INTERNET_STATUS_SENDING_REQUEST); CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT); CHECK_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE); @@ -4537,6 +4571,10 @@ static void test_security_flags(void) SET_EXPECT(INTERNET_STATUS_CONNECTING_TO_SERVER); SET_EXPECT(INTERNET_STATUS_CONNECTED_TO_SERVER); + SET_OPTIONAL(INTERNET_STATUS_CLOSING_CONNECTION); /* IE11 calls it, it probably reconnects. */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTION_CLOSED); /* IE11 */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTING_TO_SERVER); /* IE11 */ + SET_OPTIONAL(INTERNET_STATUS_CONNECTED_TO_SERVER); /* IE11 */ SET_EXPECT(INTERNET_STATUS_SENDING_REQUEST); SET_EXPECT(INTERNET_STATUS_REQUEST_SENT); SET_EXPECT(INTERNET_STATUS_RECEIVING_RESPONSE); @@ -4550,8 +4588,10 @@ static void test_security_flags(void) WaitForSingleObject(hCompleteEvent, INFINITE); ok(req_error == ERROR_SUCCESS, "req_error = %d\n", req_error); - CHECK_NOTIFIED(INTERNET_STATUS_CONNECTING_TO_SERVER); - CHECK_NOTIFIED(INTERNET_STATUS_CONNECTED_TO_SERVER); + CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTING_TO_SERVER, 2); + CHECK_NOTIFIED2(INTERNET_STATUS_CONNECTED_TO_SERVER, 2); + CHECK_NOTIFIED(INTERNET_STATUS_CLOSING_CONNECTION); + CHECK_NOTIFIED(INTERNET_STATUS_CONNECTION_CLOSED); CHECK_NOTIFIED(INTERNET_STATUS_SENDING_REQUEST); CHECK_NOTIFIED(INTERNET_STATUS_REQUEST_SENT); CHECK_NOTIFIED(INTERNET_STATUS_RECEIVING_RESPONSE); -- 2.11.4.GIT