Piotr Caban : mshtml/tests: Test HTMLDocument without MIME type reported.

Alexandre Julliard julliard at winehq.org
Thu Mar 8 14:26:23 CST 2012


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Mar  8 13:02:24 2012 +0100

mshtml/tests: Test HTMLDocument without MIME type reported.

---

 dlls/mshtml/tests/htmldoc.c |   32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c
index 53e463a..417d952 100644
--- a/dlls/mshtml/tests/htmldoc.c
+++ b/dlls/mshtml/tests/htmldoc.c
@@ -204,6 +204,7 @@ static BOOL complete, loading_js, loading_hash;
 static DWORD status_code = HTTP_STATUS_OK;
 static BOOL asynchronous_binding = FALSE;
 static BOOL support_wbapp, allow_new_window;
+static BOOL report_mime;
 static int stream_read, protocol_read;
 static enum load_state_t {
     LD_DOLOAD,
@@ -590,10 +591,12 @@ static HRESULT WINAPI Protocol_Start(IInternetProtocol *iface, LPCWSTR szUrl,
             BINDSTATUS_CACHEFILENAMEAVAILABLE, &empty_str);
     ok(hres == S_OK, "ReportProgress(BINDSTATUS_CACHEFILENAMEAVAILABLE) failed: %08x\n", hres);
 
-    hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
-            BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE, wszTextCss);
-    ok(hres == S_OK,
-       "ReportProgress(BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE) failed: %08x\n", hres);
+    if(report_mime) {
+        hres = IInternetProtocolSink_ReportProgress(pOIProtSink,
+                BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE, wszTextCss);
+        ok(hres == S_OK,
+                "ReportProgress(BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE) failed: %08x\n", hres);
+    }
 
     hres = IInternetProtocolSink_ReportData(pOIProtSink,
             BSCF_FIRSTDATANOTIFICATION | BSCF_LASTDATANOTIFICATION, 13, 13);
@@ -645,7 +648,7 @@ static HRESULT WINAPI Protocol_Read(IInternetProtocol *iface, void *pv,
     ok(pv != NULL, "pv == NULL\n");
     ok(cb > sizeof(css_data), "cb < sizeof(css_data)\n");
     ok(pcbRead != NULL, "pcbRead == NULL\n");
-    ok(!*pcbRead, "*pcbRead=%d\n", *pcbRead);
+    ok(!*pcbRead || *pcbRead==sizeof(css_data)-1, "*pcbRead=%d\n", *pcbRead);
 
     if(protocol_read)
         return S_FALSE;
@@ -1298,9 +1301,11 @@ static void continue_binding(IBindStatusCallback *callback)
 
     static const WCHAR wszTextHtml[] = {'t','e','x','t','/','h','t','m','l',0};
 
-    hres = IBindStatusCallback_OnProgress(callback, 0, 0, BINDSTATUS_MIMETYPEAVAILABLE,
-            wszTextHtml);
-    ok(hres == S_OK, "OnProgress(BINDSTATUS_MIMETYPEAVAILABLE) failed: %08x\n", hres);
+    if(report_mime) {
+        hres = IBindStatusCallback_OnProgress(callback, 0, 0, BINDSTATUS_MIMETYPEAVAILABLE,
+                wszTextHtml);
+        ok(hres == S_OK, "OnProgress(BINDSTATUS_MIMETYPEAVAILABLE) failed: %08x\n", hres);
+    }
 
     hres = IBindStatusCallback_OnProgress(callback, sizeof(html_page)-1, sizeof(html_page)-1,
             BINDSTATUS_BEGINDOWNLOADDATA, doc_url);
@@ -6575,13 +6580,15 @@ static void init_test(enum load_state_t ls) {
     expect_uihandler_iface = &DocHostUIHandler;
 }
 
-static void test_HTMLDocument(BOOL do_load)
+static void test_HTMLDocument(BOOL do_load, BOOL mime)
 {
     IHTMLDocument2 *doc;
 
-    trace("Testing HTMLDocument (%s)...\n", (do_load ? "load" : "no load"));
+    trace("Testing HTMLDocument (%s, %s)...\n", (do_load ? "load" : "no load"),
+            (report_mime ? "mime" : "no mime"));
 
     init_test(do_load ? LD_DOLOAD : LD_NO);
+    report_mime = mime;
 
     doc = create_document();
     doc_unk = (IUnknown*)doc;
@@ -7387,8 +7394,9 @@ START_TEST(htmldoc)
 
     asynchronous_binding = FALSE;
     test_HTMLDocument_hlink(HTTP_STATUS_OK);
-    test_HTMLDocument(FALSE);
-    test_HTMLDocument(TRUE);
+    test_HTMLDocument(FALSE, TRUE);
+    test_HTMLDocument(TRUE, FALSE);
+    test_HTMLDocument(TRUE, TRUE);
     test_HTMLDocument_StreamLoad();
     test_HTMLDocument_StreamInitNew();
     test_editing_mode(FALSE);




More information about the wine-cvs mailing list