Jacek Caban : mshtml: Added more IHTMLWindow2::open tests.
Alexandre Julliard
julliard at winehq.org
Mon Jan 9 14:24:31 CST 2012
Module: wine
Branch: master
Commit: c7cc9a1a5d1b57b2fd9a4c09d4bec28e9763c759
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c7cc9a1a5d1b57b2fd9a4c09d4bec28e9763c759
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Jan 9 17:57:07 2012 +0100
mshtml: Added more IHTMLWindow2::open tests.
---
dlls/mshtml/tests/htmldoc.c | 26 ++++++++++++++++++++------
1 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c
index 174b448..fb615fb 100644
--- a/dlls/mshtml/tests/htmldoc.c
+++ b/dlls/mshtml/tests/htmldoc.c
@@ -41,6 +41,7 @@
#include "shdeprecated.h"
#include "perhist.h"
#include "shobjidl.h"
+#include "htiface.h"
#include "mshtml_test.h"
DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
@@ -199,7 +200,7 @@ static BOOL inplace_deactivated, open_call;
static BOOL complete, loading_js, loading_hash;
static DWORD status_code = HTTP_STATUS_OK;
static BOOL asynchronous_binding = FALSE;
-static BOOL support_wbapp;
+static BOOL support_wbapp, allow_new_window;
static int stream_read, protocol_read;
static enum load_state_t {
LD_DOLOAD,
@@ -828,10 +829,10 @@ static HRESULT WINAPI NewWindowManager_EvaluateNewWindow(INewWindowManager *ifac
ok(!strcmp_wa(pszUrlContext, "about:replace"), "pszUrlContext = %s\n", wine_dbgstr_w(pszUrlContext));
ok(!pszFeatures, "pszFeatures = %s\n", wine_dbgstr_w(pszFeatures));
ok(!fReplace, "fReplace = %x\n", fReplace);
- ok(dwFlags == NWMF_FIRST, "dwFlags = %x\n", dwFlags);
+ ok(dwFlags == (allow_new_window ? 0 : NWMF_FIRST), "dwFlags = %x\n", dwFlags);
ok(!dwUserActionTime, "dwUserActionime = %d\n", dwUserActionTime);
- return E_FAIL;
+ return allow_new_window ? S_OK : E_FAIL;
}
static const INewWindowManagerVtbl NewWindowManagerVtbl = {
@@ -5162,12 +5163,14 @@ static void test_put_href(IHTMLDocument2 *doc, BOOL use_replace, const char *hre
nav_url = prev_nav_url;
}
-static void test_open_window(IHTMLDocument2 *doc)
+static void test_open_window(IHTMLDocument2 *doc, BOOL do_block)
{
IHTMLWindow2 *window, *new_window;
BSTR name, url;
HRESULT hres;
+ allow_new_window = !do_block;
+
hres = IHTMLDocument2_get_parentWindow(doc, &window);
ok(hres == S_OK, "get_parentWindow failed: %08x\n", hres);
@@ -5203,7 +5206,16 @@ static void test_open_window(IHTMLDocument2 *doc)
CHECK_CALLED(EvaluateNewWindow);
ok(hres == S_OK, "open failed: %08x\n", hres);
- ok(new_window == NULL, "new_window != NULL\n");
+
+ if(do_block) {
+ ok(!new_window, "new_window != NULL\n");
+ }else {
+ ok(new_window != NULL, "new_window == NULL\n");
+
+ trace("WINDOW %p\n", new_window);
+ hres = IHTMLWindow2_close(new_window);
+ ok(hres == S_OK, "close failed: %08x\n", hres);
+ }
IHTMLWindow2_Release(window);
}
@@ -6535,7 +6547,9 @@ static void test_HTMLDocument_http(BOOL with_wbapp)
test_put_href(doc, FALSE, NULL, "about:blank", FALSE, FALSE);
test_put_href(doc, TRUE, NULL, "about:replace", FALSE, FALSE);
- test_open_window(doc);
+ test_open_window(doc, TRUE);
+ if(!support_wbapp) /* FIXME */
+ test_open_window(doc, FALSE);
test_InPlaceDeactivate(doc, TRUE);
test_Close(doc, FALSE);
More information about the wine-cvs
mailing list