Jacek Caban : urlmon: Added test of handlong its protocol.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 12 09:24:09 CST 2007


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Sat Feb 10 16:33:38 2007 +0100

urlmon: Added test of handlong its protocol.

---

 dlls/urlmon/tests/url.c |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/dlls/urlmon/tests/url.c b/dlls/urlmon/tests/url.c
index b1cb8f3..bac1a7a 100644
--- a/dlls/urlmon/tests/url.c
+++ b/dlls/urlmon/tests/url.c
@@ -80,6 +80,9 @@ static const WCHAR WINE_ABOUT_URL[] = {'
                                        'o','r','g','/','s','i','t','e','/','a','b','o','u','t',0};
 static const WCHAR ABOUT_BLANK[] = {'a','b','o','u','t',':','b','l','a','n','k',0};
 static WCHAR INDEX_HTML[MAX_PATH];
+static const WCHAR ITS_URL[] =
+    {'i','t','s',':','t','e','s','t','.','c','h','m',':',':','/','b','l','a','n','k','.','h','t','m','l',0};
+
 
 static const WCHAR wszIndexHtml[] = {'i','n','d','e','x','.','h','t','m','l',0};
 
@@ -89,13 +92,15 @@ static DWORD read = 0;
 static const LPCWSTR urls[] = {
     WINE_ABOUT_URL,
     ABOUT_BLANK,
-    INDEX_HTML
+    INDEX_HTML,
+    ITS_URL
 };
 
 static enum {
     HTTP_TEST,
     ABOUT_TEST,
-    FILE_TEST
+    FILE_TEST,
+    ITS_TEST
 } test_protocol;
 
 static void test_CreateURLMoniker(LPCWSTR url1, LPCWSTR url2)
@@ -178,14 +183,16 @@ static HRESULT WINAPI Protocol_Start(IIn
 
     ok(!memcmp(&bindinfo, &bi, sizeof(bindinfo)), "wrong bindinfo\n");
 
-    if(test_protocol == FILE_TEST) {
+    if(test_protocol == FILE_TEST || test_protocol == ITS_TEST) {
         SET_EXPECT(OnProgress_SENDINGREQUEST);
         hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
                 BINDSTATUS_SENDINGREQUEST, &null_char);
         ok(hres == S_OK,
            "ReportProgress(BINDSTATUS_SENDINGREQUEST) failed: %08x\n", hres);
         CHECK_CALLED(OnProgress_SENDINGREQUEST);
+    }
 
+    if(test_protocol == FILE_TEST) {
         hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
                 BINDSTATUS_CACHEFILENAMEAVAILABLE, &null_char);
         ok(hres == S_OK,
@@ -195,7 +202,7 @@ static HRESULT WINAPI Protocol_Start(IIn
         hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
                 BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE, wszTextHtml);
         ok(hres == S_OK,
-           "ReportProgress(BINDSTATUS_MIMETYPEAVAILABLE) failed: %08x\n", hres);
+           "ReportProgress(BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE) failed: %08x\n", hres);
         CHECK_CALLED(OnProgress_MIMETYPEAVAILABLE);
     }else {
         hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
@@ -206,6 +213,8 @@ static HRESULT WINAPI Protocol_Start(IIn
 
     if(test_protocol == ABOUT_TEST)
         bscf |= BSCF_DATAFULLYAVAILABLE;
+    if(test_protocol == ITS_TEST)
+        bscf = BSCF_FIRSTDATANOTIFICATION|BSCF_DATAFULLYAVAILABLE;
 
     SET_EXPECT(Read);
     if(test_protocol != FILE_TEST)
@@ -228,6 +237,13 @@ static HRESULT WINAPI Protocol_Start(IIn
     CHECK_CALLED(OnDataAvailable);
     CHECK_CALLED(OnStopBinding);
 
+    if(test_protocol == ITS_TEST) {
+        SET_EXPECT(Read);
+        hres = IInternetProtocolSink_ReportProgress(pOIProtSink, BINDSTATUS_BEGINDOWNLOADDATA, NULL);
+        ok(hres == S_OK, "ReportProgress(BINDSTATUS_BEGINDOWNLOADDATA) failed: %08x\n", hres);
+        CHECK_CALLED(Read);
+    }
+
     SET_EXPECT(Terminate);
     hres = IInternetProtocolSink_ReportResult(pOIProtSink, S_OK, 0, NULL);
     ok(hres == S_OK, "ReportResult failed: %08x\n", hres);
@@ -286,8 +302,7 @@ static HRESULT WINAPI Protocol_Read(IInt
     ok(pcbRead != NULL, "pcbRead == NULL\n");
     if(pcbRead) {
         ok(*pcbRead == 0, "*pcbRead=%d, expected 0\n", *pcbRead);
-        *pcbRead = 13;
-        read = 13;
+        read += *pcbRead = sizeof(data)-1;
     }
     if(pv)
         memcpy(pv, data, sizeof(data));
@@ -662,10 +677,10 @@ static void test_BindToStorage(int proto
             SET_EXPECT(OnProgress_SENDINGREQUEST);
         SET_EXPECT(OnProgress_MIMETYPEAVAILABLE);
         SET_EXPECT(OnProgress_BEGINDOWNLOADDATA);
-        SET_EXPECT(OnDataAvailable);
         if(test_protocol == HTTP_TEST)
             SET_EXPECT(OnProgress_DOWNLOADINGDATA);
         SET_EXPECT(OnProgress_ENDDOWNLOADDATA);
+        SET_EXPECT(OnDataAvailable);
         SET_EXPECT(OnStopBinding);
     }
 
@@ -708,10 +723,10 @@ static void test_BindToStorage(int proto
             CHECK_CALLED(OnProgress_MIMETYPEAVAILABLE);
         }
         CHECK_CALLED(OnProgress_BEGINDOWNLOADDATA);
-        CHECK_CALLED(OnDataAvailable);
         if(test_protocol == HTTP_TEST)
             CHECK_CALLED(OnProgress_DOWNLOADINGDATA);
         CHECK_CALLED(OnProgress_ENDDOWNLOADDATA);
+        CHECK_CALLED(OnDataAvailable);
         CHECK_CALLED(OnStopBinding);
     }
 
@@ -801,5 +816,8 @@ START_TEST(url)
     set_file_url();
     test_BindToStorage(FILE_TEST, TRUE);
 
+    trace("emulated its test...\n");
+    test_BindToStorage(ITS_TEST, TRUE);
+
     test_BindToStorage_fail();
 }




More information about the wine-cvs mailing list