Jacek Caban : ieframe: Added GoForward tests.
Alexandre Julliard
julliard at winehq.org
Wed Apr 3 14:33:55 CDT 2013
Module: wine
Branch: master
Commit: 47f8d487679170a2c686aac6028fd06adffe5e2f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=47f8d487679170a2c686aac6028fd06adffe5e2f
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Apr 3 13:04:46 2013 +0200
ieframe: Added GoForward tests.
---
dlls/ieframe/tests/webbrowser.c | 39 +++++++++++++++++++++++++++++++--------
1 files changed, 31 insertions(+), 8 deletions(-)
diff --git a/dlls/ieframe/tests/webbrowser.c b/dlls/ieframe/tests/webbrowser.c
index 39bc21d..753a1680 100644
--- a/dlls/ieframe/tests/webbrowser.c
+++ b/dlls/ieframe/tests/webbrowser.c
@@ -160,8 +160,9 @@ static int wb_version;
#define DWL_EXPECT_BEFORE_NAVIGATE 0x01
#define DWL_FROM_PUT_HREF 0x02
#define DWL_FROM_GOBACK 0x04
-#define DWL_HTTP 0x08
-#define DWL_REFRESH 0x10
+#define DWL_FROM_GOFORWARD 0x08
+#define DWL_HTTP 0x10
+#define DWL_REFRESH 0x20
static DWORD dwl_flags;
@@ -786,7 +787,8 @@ static void test_navigatecomplete2(DISPPARAMS *dp)
ok(V_VT(dp->rgvarg+1) == VT_DISPATCH, "V_VT(dp->rgvarg+1) = %d\n", V_VT(dp->rgvarg+1));
ok(V_DISPATCH(dp->rgvarg+1) == (IDispatch*)wb, "V_DISPATCH=%p, wb=%p\n", V_DISPATCH(dp->rgvarg+1), wb);
- test_ready_state((dwl_flags & (DWL_FROM_PUT_HREF|DWL_FROM_GOBACK)) ? READYSTATE_COMPLETE : READYSTATE_LOADING);
+ test_ready_state((dwl_flags & (DWL_FROM_PUT_HREF|DWL_FROM_GOBACK|DWL_FROM_GOFORWARD))
+ ? READYSTATE_COMPLETE : READYSTATE_LOADING);
}
static void test_documentcomplete(DISPPARAMS *dp)
@@ -857,7 +859,7 @@ static HRESULT WINAPI WebBrowserEvents2_Invoke(IDispatch *iface, DISPID dispIdMe
test_OnBeforeNavigate(pDispParams->rgvarg+6, pDispParams->rgvarg+5, pDispParams->rgvarg+4,
pDispParams->rgvarg+3, pDispParams->rgvarg+2, pDispParams->rgvarg+1,
pDispParams->rgvarg);
- test_ready_state((dwl_flags & DWL_FROM_PUT_HREF) ? READYSTATE_COMPLETE : READYSTATE_LOADING);
+ test_ready_state((dwl_flags & (DWL_FROM_PUT_HREF|DWL_FROM_GOFORWARD)) ? READYSTATE_COMPLETE : READYSTATE_LOADING);
break;
case DISPID_SETSECURELOCKICON:
@@ -2721,9 +2723,10 @@ static void test_download(DWORD flags)
is_downloading = TRUE;
dwl_flags = flags;
- test_ready_state((flags & (DWL_FROM_PUT_HREF|DWL_FROM_GOBACK|DWL_REFRESH)) ? READYSTATE_COMPLETE : READYSTATE_LOADING);
+ test_ready_state((flags & (DWL_FROM_PUT_HREF|DWL_FROM_GOBACK|DWL_FROM_GOFORWARD|DWL_REFRESH))
+ ? READYSTATE_COMPLETE : READYSTATE_LOADING);
- if((is_http && !(flags & (DWL_FROM_GOBACK|DWL_REFRESH))) || (flags & DWL_EXPECT_BEFORE_NAVIGATE))
+ if((is_http && !(flags & (DWL_FROM_GOBACK|DWL_FROM_GOFORWARD|DWL_REFRESH))) || (flags & DWL_EXPECT_BEFORE_NAVIGATE))
SET_EXPECT(Invoke_PROPERTYCHANGE);
if(flags & DWL_EXPECT_BEFORE_NAVIGATE) {
@@ -2765,7 +2768,7 @@ static void test_download(DWORD flags)
DispatchMessage(&msg);
}
- if((is_http && !(flags & (DWL_FROM_GOBACK|DWL_REFRESH))) || (flags & DWL_EXPECT_BEFORE_NAVIGATE))
+ if((is_http && !(flags & (DWL_FROM_GOBACK|DWL_FROM_GOFORWARD|DWL_REFRESH))) || (flags & DWL_EXPECT_BEFORE_NAVIGATE))
todo_wine CHECK_CALLED(Invoke_PROPERTYCHANGE);
if(flags & DWL_EXPECT_BEFORE_NAVIGATE) {
@@ -2946,6 +2949,21 @@ static void test_go_back(IWebBrowser2 *wb, const char *back_url)
todo_wine CHECK_CALLED(Invoke_COMMANDSTATECHANGE);
}
+static void test_go_forward(IWebBrowser2 *wb, const char *forward_url)
+{
+ HRESULT hres;
+
+ current_url = forward_url;
+ dwl_flags |= DWL_FROM_GOFORWARD;
+
+ SET_EXPECT(Invoke_BEFORENAVIGATE2);
+ SET_EXPECT(Invoke_COMMANDSTATECHANGE);
+ hres = IWebBrowser2_GoForward(wb);
+ ok(hres == S_OK, "GoForward failed: %08x\n", hres);
+ CHECK_CALLED(Invoke_BEFORENAVIGATE2);
+ todo_wine CHECK_CALLED(Invoke_COMMANDSTATECHANGE);
+}
+
static void test_QueryInterface(IWebBrowser2 *wb)
{
IQuickActivate *qa = (IQuickActivate*)0xdeadbeef;
@@ -3309,6 +3327,7 @@ static void init_test(IWebBrowser2 *webbrowser, DWORD flags)
is_downloading = (flags & TEST_DOWNLOAD) != 0;
is_first_load = TRUE;
+ dwl_flags = 0;
use_container_olecmd = !(flags & TEST_NOOLECMD);
use_container_dochostui = !(flags & TEST_NODOCHOST);
}
@@ -3377,6 +3396,10 @@ static void test_WebBrowser(BOOL do_download, BOOL do_close)
trace("GoBack...\n");
test_go_back(webbrowser, "http://test.winehq.org/tests/hello.html");
test_download(DWL_FROM_GOBACK|DWL_HTTP);
+
+ trace("GoForward...\n");
+ test_go_forward(webbrowser, "http://www.winehq.org/");
+ test_download(DWL_FROM_GOFORWARD|DWL_HTTP);
}
test_EnumVerbs(webbrowser);
@@ -3398,7 +3421,7 @@ static void test_WebBrowser(BOOL do_download, BOOL do_close)
test_IServiceProvider(webbrowser);
ref = IWebBrowser2_Release(webbrowser);
- ok(ref == 0 || broken(do_download && !do_close && ref == 1), "ref=%d, expected 0\n", ref);
+ ok(ref == 0 || broken(do_download && !do_close), "ref=%d, expected 0\n", ref);
}
static void test_WebBrowserV1(void)
More information about the wine-cvs
mailing list