Ge van Geldorp : urlmon/tests: Fix protocol tests when proxy is configured.

Alexandre Julliard julliard at winehq.org
Tue Jan 20 08:27:55 CST 2009


Module: wine
Branch: master
Commit: f0f6225906f9132fd010855fc81b4d1986e05eec
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f0f6225906f9132fd010855fc81b4d1986e05eec

Author: Ge van Geldorp <ge at gse.nl>
Date:   Tue Jan 20 02:56:46 2009 +0100

urlmon/tests: Fix protocol tests when proxy is configured.

---

 dlls/urlmon/tests/protocol.c |   39 ++++++++++++++++++---------------------
 1 files changed, 18 insertions(+), 21 deletions(-)

diff --git a/dlls/urlmon/tests/protocol.c b/dlls/urlmon/tests/protocol.c
index 1fff2e4..eb42282 100644
--- a/dlls/urlmon/tests/protocol.c
+++ b/dlls/urlmon/tests/protocol.c
@@ -76,6 +76,7 @@ DEFINE_EXPECT(ReportProgress_COOKIE_SENT);
 DEFINE_EXPECT(ReportProgress_REDIRECTING);
 DEFINE_EXPECT(ReportProgress_ENCODING);
 DEFINE_EXPECT(ReportProgress_ACCEPTRANGES);
+DEFINE_EXPECT(ReportProgress_PROXYDETECTING);
 DEFINE_EXPECT(ReportData);
 DEFINE_EXPECT(ReportResult);
 DEFINE_EXPECT(GetBindString_ACCEPT_MIMES);
@@ -356,8 +357,9 @@ static HRESULT WINAPI ProtocolSink_Switch(IInternetProtocolSink *iface, PROTOCOL
 
     if (!state) {
         if (http_is_first) {
-            CHECK_CALLED(ReportProgress_FINDINGRESOURCE);
-            CHECK_CALLED(ReportProgress_CONNECTING);
+            CLEAR_CALLED(ReportProgress_FINDINGRESOURCE);
+            CLEAR_CALLED(ReportProgress_CONNECTING);
+            CLEAR_CALLED(ReportProgress_PROXYDETECTING);
         } else todo_wine {
             CHECK_NOT_CALLED(ReportProgress_FINDINGRESOURCE);
             /* IE7 does call this */
@@ -398,9 +400,6 @@ static HRESULT WINAPI ProtocolSink_ReportProgress(IInternetProtocolSink *iface,
     static const WCHAR null_guid[] = {'{','0','0','0','0','0','0','0','0','-','0','0','0','0','-',
         '0','0','0','0','-','0','0','0','0','-','0','0','0','0','0','0','0','0','0','0','0','0','}',0};
     static const WCHAR text_plain[] = {'t','e','x','t','/','p','l','a','i','n',0};
-    static const WCHAR wszCrossoverIP[] =
-        {'2','0','9','.','4','6','.','2','5','.','1','3','2',0};
-    /* I'm not sure if it's a good idea to hardcode here the IP address... */
 
     switch(ulStatusCode) {
     case BINDSTATUS_MIMETYPEAVAILABLE:
@@ -446,23 +445,10 @@ static HRESULT WINAPI ProtocolSink_ReportProgress(IInternetProtocolSink *iface,
     case BINDSTATUS_FINDINGRESOURCE:
         CHECK_EXPECT(ReportProgress_FINDINGRESOURCE);
         ok(szStatusText != NULL, "szStatusText == NULL\n");
-        if(szStatusText)
-        {
-            if(tested_protocol == HTTPS_TEST)
-                ok(!strcmp_wa(szStatusText, "www.codeweavers.com"), "szStatustext = %s\n", debugstr_w(szStatusText));
-            else if(!http_post_test)
-                ok(!strcmp_wa(szStatusText, "www.winehq.org"), "szStatustext != \"www.winehq.org\"\n");
-            else
-                ok(!strcmp_wa(szStatusText, "crossover.codeweavers.com"),
-                   "szStatustext != \"crossover.codeweavers.com\"\n");
-        }
         break;
     case BINDSTATUS_CONNECTING:
         CHECK_EXPECT(ReportProgress_CONNECTING);
         ok(szStatusText != NULL, "szStatusText == NULL\n");
-        if(szStatusText)
-            ok(!lstrcmpW(szStatusText, http_post_test || tested_protocol == HTTPS_TEST ? wszCrossoverIP : winehq_ipW),
-               "Unexpected szStatusText %s\n", debugstr_w(szStatusText));
         break;
     case BINDSTATUS_SENDINGREQUEST:
         CHECK_EXPECT(ReportProgress_SENDINGREQUEST);
@@ -499,6 +485,11 @@ static HRESULT WINAPI ProtocolSink_ReportProgress(IInternetProtocolSink *iface,
         CHECK_EXPECT(ReportProgress_ACCEPTRANGES);
         ok(!szStatusText, "szStatusText = %s\n", debugstr_w(szStatusText));
         break;
+    case BINDSTATUS_PROXYDETECTING:
+        CHECK_EXPECT(ReportProgress_PROXYDETECTING);
+        SET_EXPECT(ReportProgress_CONNECTING);
+        ok(!szStatusText, "szStatusText = %s\n", debugstr_w(szStatusText));
+        break;
     default:
         ok(0, "Unexpected status %d\n", ulStatusCode);
     };
@@ -518,7 +509,7 @@ static HRESULT WINAPI ProtocolSink_ReportData(IInternetProtocolSink *iface, DWOR
         ok(grfBSCF == (BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION),
                 "grcfBSCF = %08x\n", grfBSCF);
     }else if(!binding_test && (tested_protocol == HTTP_TEST || tested_protocol == HTTPS_TEST)) {
-        if(!(grfBSCF & BSCF_LASTDATANOTIFICATION))
+        if(!(grfBSCF & BSCF_LASTDATANOTIFICATION) || (grfBSCF & BSCF_DATAFULLYAVAILABLE))
             CHECK_EXPECT(ReportData);
         else if (http_post_test)
             ok(ulProgress == 13, "Read %u bytes instead of 13\n", ulProgress);
@@ -526,11 +517,14 @@ static HRESULT WINAPI ProtocolSink_ReportData(IInternetProtocolSink *iface, DWOR
         ok(ulProgress, "ulProgress == 0\n");
 
         if(first_data_notif) {
-            ok(grfBSCF == BSCF_FIRSTDATANOTIFICATION, "grcfBSCF = %08x\n", grfBSCF);
+            ok(grfBSCF == BSCF_FIRSTDATANOTIFICATION
+               || grfBSCF == (BSCF_LASTDATANOTIFICATION|BSCF_DATAFULLYAVAILABLE),
+               "grcfBSCF = %08x\n", grfBSCF);
             first_data_notif = FALSE;
         } else {
             ok(grfBSCF == BSCF_INTERMEDIATEDATANOTIFICATION
-               || grfBSCF == (BSCF_LASTDATANOTIFICATION|BSCF_INTERMEDIATEDATANOTIFICATION),
+               || grfBSCF == (BSCF_LASTDATANOTIFICATION|BSCF_INTERMEDIATEDATANOTIFICATION)
+               || broken(grfBSCF == (BSCF_FIRSTDATANOTIFICATION|BSCF_LASTDATANOTIFICATION)),
                "grcfBSCF = %08x\n", grfBSCF);
         }
 
@@ -1605,6 +1599,9 @@ static void test_http_protocol_url(LPCWSTR url, BOOL is_https, BOOL is_first)
         SET_EXPECT(ReportProgress_FINDINGRESOURCE);
         SET_EXPECT(ReportProgress_CONNECTING);
         SET_EXPECT(ReportProgress_SENDINGREQUEST);
+        SET_EXPECT(ReportProgress_PROXYDETECTING);
+        if(! is_https)
+            SET_EXPECT(ReportProgress_CACHEFILENAMEAVAILABLE);
         if(!(bindf & BINDF_FROMURLMON)) {
             SET_EXPECT(OnResponse);
             SET_EXPECT(ReportProgress_RAWMIMETYPE);




More information about the wine-cvs mailing list