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