Jacek Caban : shdocvw: Fixed race in tests.

Alexandre Julliard julliard at winehq.org
Fri Nov 12 11:22:38 CST 2010


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Nov 12 14:30:15 2010 +0100

shdocvw: Fixed race in tests.

---

 dlls/shdocvw/tests/webbrowser.c |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/dlls/shdocvw/tests/webbrowser.c b/dlls/shdocvw/tests/webbrowser.c
index babfe11..1b1afc1 100644
--- a/dlls/shdocvw/tests/webbrowser.c
+++ b/dlls/shdocvw/tests/webbrowser.c
@@ -118,6 +118,8 @@ DEFINE_EXPECT(Exec_SETDOWNLOADSTATE_0);
 DEFINE_EXPECT(Exec_SETDOWNLOADSTATE_1);
 DEFINE_EXPECT(Exec_SETPROGRESSMAX);
 DEFINE_EXPECT(Exec_SETPROGRESSPOS);
+DEFINE_EXPECT(Exec_UPDATECOMMANDS);
+DEFINE_EXPECT(Exec_SETTITLE);
 DEFINE_EXPECT(QueryStatus_SETPROGRESSTEXT);
 DEFINE_EXPECT(QueryStatus_STOP);
 DEFINE_EXPECT(DocHost_EnableModeless_TRUE);
@@ -285,6 +287,16 @@ static HRESULT WINAPI OleCommandTarget_Exec(IOleCommandTarget *iface, const GUID
                 ok(0, "unexpevted V_I4(pvaIn)=%d\n", V_I4(pvaIn));
             }
             return S_OK;
+        case OLECMDID_UPDATECOMMANDS:
+            CHECK_EXPECT(Exec_UPDATECOMMANDS);
+            ok(nCmdexecopt == OLECMDEXECOPT_DONTPROMPTUSER, "nCmdexecopts=%08x\n", nCmdexecopt);
+            ok(!pvaIn, "pvaIn != NULL\n");
+            ok(!pvaOut, "pvaOut=%p, expected NULL\n", pvaOut);
+            return S_OK;
+        case OLECMDID_SETTITLE:
+            CHECK_EXPECT(Exec_SETTITLE);
+            /* TODO: test args */
+            return S_OK;
         default:
             ok(0, "unexpected nsCmdID %d\n", nCmdID);
         }
@@ -2250,9 +2262,7 @@ static void test_download(DWORD flags)
     SET_EXPECT(Invoke_STATUSTEXTCHANGE);
     SET_EXPECT(SetStatusText);
     SET_EXPECT(EnableModeless_TRUE);
-    if(is_first_load)
-        SET_EXPECT(QueryStatus_STOP);
-    else
+    if(!is_first_load)
         SET_EXPECT(GetHostInfo);
     SET_EXPECT(Exec_SETDOWNLOADSTATE_0);
     SET_EXPECT(Invoke_TITLECHANGE);
@@ -2261,6 +2271,11 @@ static void test_download(DWORD flags)
         SET_EXPECT(GetDropTarget);
     SET_EXPECT(Invoke_PROGRESSCHANGE);
     SET_EXPECT(Invoke_DOCUMENTCOMPLETE);
+
+    SET_EXPECT(UpdateUI);
+    SET_EXPECT(Exec_UPDATECOMMANDS);
+    SET_EXPECT(QueryStatus_STOP);
+
     while(!called_Invoke_DOCUMENTCOMPLETE && GetMessage(&msg, NULL, 0, 0)) {
         TranslateMessage(&msg);
         DispatchMessage(&msg);
@@ -2289,9 +2304,7 @@ static void test_download(DWORD flags)
         todo_wine CHECK_CALLED(EnableModeless_TRUE);
     else
         CLEAR_CALLED(EnableModeless_FALSE); /* IE 8 */
-    if(is_first_load)
-        todo_wine CHECK_CALLED(QueryStatus_STOP);
-    else
+    if(!is_first_load)
         todo_wine CHECK_CALLED(GetHostInfo);
     todo_wine CHECK_CALLED(Exec_SETDOWNLOADSTATE_0);
     todo_wine CHECK_CALLED(Invoke_TITLECHANGE);
@@ -2304,6 +2317,15 @@ static void test_download(DWORD flags)
     is_downloading = FALSE;
 
     test_ready_state(READYSTATE_COMPLETE);
+
+    while(!called_Exec_UPDATECOMMANDS && GetMessage(&msg, NULL, 0, 0)) {
+        TranslateMessage(&msg);
+        DispatchMessage(&msg);
+    }
+
+    CHECK_CALLED(UpdateUI);
+    CHECK_CALLED(Exec_UPDATECOMMANDS);
+    CLEAR_CALLED(QueryStatus_STOP);
 }
 
 static void test_olecmd(IUnknown *unk, BOOL loaded)




More information about the wine-cvs mailing list