mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-14 21:55:28 +00:00
mshtml: Added IHTMLWindow2::open test.
This commit is contained in:
parent
ddaf9171a1
commit
77a994db42
|
@ -38,6 +38,7 @@
|
|||
#include "idispids.h"
|
||||
#include "shlguid.h"
|
||||
#include "perhist.h"
|
||||
#include "shobjidl.h"
|
||||
#include "mshtml_test.h"
|
||||
|
||||
DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
|
||||
|
@ -155,6 +156,7 @@ DEFINE_EXPECT(Frame_GetWindow);
|
|||
DEFINE_EXPECT(TranslateUrl);
|
||||
DEFINE_EXPECT(Advise_Close);
|
||||
DEFINE_EXPECT(OnViewChange);
|
||||
DEFINE_EXPECT(EvaluateNewWindow);
|
||||
|
||||
static IUnknown *doc_unk;
|
||||
static IMoniker *doc_mon;
|
||||
|
@ -164,7 +166,7 @@ static BOOL ipsex, ipsw;
|
|||
static BOOL set_clientsite, container_locked, navigated_load;
|
||||
static BOOL readystate_set_loading = FALSE, readystate_set_interactive = FALSE, load_from_stream;
|
||||
static BOOL editmode = FALSE, show_failed;
|
||||
static BOOL inplace_deactivated;
|
||||
static BOOL inplace_deactivated, open_call;
|
||||
static int stream_read, protocol_read;
|
||||
static enum load_state_t {
|
||||
LD_DOLOAD,
|
||||
|
@ -296,6 +298,9 @@ static void _test_GetCurMoniker(unsigned line, IUnknown *unk, IMoniker *exmon, L
|
|||
BSTR doc_url = (void*)0xdeadbeef;
|
||||
HRESULT hres;
|
||||
|
||||
if(open_call)
|
||||
return; /* FIXME */
|
||||
|
||||
hres = IUnknown_QueryInterface(unk, &IID_IPersistMoniker, (void**)&permon);
|
||||
ok(hres == S_OK, "QueryInterface(IID_IPersistMoniker) failed: %08x\n", hres);
|
||||
if(FAILED(hres))
|
||||
|
@ -332,7 +337,7 @@ static void _test_GetCurMoniker(unsigned line, IUnknown *unk, IMoniker *exmon, L
|
|||
}else if(exurl) {
|
||||
LPOLESTR url;
|
||||
|
||||
ok(hres == S_OK, "GetCurrentMoniker failed: %08x\n", hres);
|
||||
ok_(__FILE__,line)(hres == S_OK, "GetCurrentMoniker failed: %08x\n", hres);
|
||||
|
||||
hres = IMoniker_GetDisplayName(mon, NULL, NULL, &url);
|
||||
ok(hres == S_OK, "GetDisplayName failed: %08x\n", hres);
|
||||
|
@ -737,6 +742,48 @@ static const IHlinkFrameVtbl HlinkFrameVtbl = {
|
|||
|
||||
static IHlinkFrame HlinkFrame = { &HlinkFrameVtbl };
|
||||
|
||||
static HRESULT WINAPI NewWindowManager_QueryInterface(INewWindowManager *iface, REFIID riid, void **ppv)
|
||||
{
|
||||
ok(0, "unexpected call\n");
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
static ULONG WINAPI NewWindowManager_AddRef(INewWindowManager *iface)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
static ULONG WINAPI NewWindowManager_Release(INewWindowManager *iface)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI NewWindowManager_EvaluateNewWindow(INewWindowManager *iface, LPCWSTR pszUrl,
|
||||
LPCWSTR pszName, LPCWSTR pszUrlContext, LPCWSTR pszFeatures, BOOL fReplace, DWORD dwFlags,
|
||||
DWORD dwUserActionTime)
|
||||
{
|
||||
CHECK_EXPECT(EvaluateNewWindow);
|
||||
|
||||
ok(!strcmp_wa(pszUrl, "about:blank"), "pszUrl = %s\n", wine_dbgstr_w(pszUrl));
|
||||
ok(!strcmp_wa(pszName, "test"), "pszName = %s\n", wine_dbgstr_w(pszName));
|
||||
ok(!strcmp_wa(pszUrlContext, "about:blank"), "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(!dwUserActionTime, "dwUserActionime = %d\n", dwUserActionTime);
|
||||
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
static const INewWindowManagerVtbl NewWindowManagerVtbl = {
|
||||
NewWindowManager_QueryInterface,
|
||||
NewWindowManager_AddRef,
|
||||
NewWindowManager_Release,
|
||||
NewWindowManager_EvaluateNewWindow
|
||||
};
|
||||
|
||||
static INewWindowManager NewWindowManager = { &NewWindowManagerVtbl };
|
||||
|
||||
static HRESULT WINAPI PropertyNotifySink_QueryInterface(IPropertyNotifySink *iface,
|
||||
REFIID riid, void**ppv)
|
||||
{
|
||||
|
@ -2423,6 +2470,8 @@ static HRESULT WINAPI OleCommandTarget_Exec(IOleCommandTarget *iface, const GUID
|
|||
ok(V_BSTR(pvaIn) != NULL, "V_BSTR(pvaIn) = NULL\n");
|
||||
test_readyState(NULL);
|
||||
return S_OK;
|
||||
case OLECMDID_UPDATETRAVELENTRY_DATARECOVERY:
|
||||
return E_FAIL; /* FIXME */
|
||||
default:
|
||||
ok(0, "unexpected command %d\n", nCmdID);
|
||||
return E_FAIL;
|
||||
|
@ -2701,6 +2750,12 @@ static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFG
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
if(IsEqualGUID(&SID_SNewWindowManager, guidService)) {
|
||||
ok(IsEqualGUID(&IID_INewWindowManager, riid), "unexpected riid\n");
|
||||
*ppv = &NewWindowManager;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
|
@ -2941,6 +2996,9 @@ static void _test_readyState(unsigned line, IUnknown *unk)
|
|||
"uninitialized"
|
||||
};
|
||||
|
||||
if(open_call)
|
||||
return; /* FIXME */
|
||||
|
||||
if(!unk)
|
||||
unk = doc_unk;
|
||||
|
||||
|
@ -3405,6 +3463,43 @@ static void test_put_href(IHTMLDocument2 *doc)
|
|||
test_download(DWL_VERBDONE);
|
||||
}
|
||||
|
||||
static void test_open_window(IHTMLDocument2 *doc)
|
||||
{
|
||||
IHTMLWindow2 *window, *new_window;
|
||||
BSTR name, url;
|
||||
HRESULT hres;
|
||||
|
||||
hres = IHTMLDocument2_get_parentWindow(doc, &window);
|
||||
ok(hres == S_OK, "get_parentWindow failed: %08x\n", hres);
|
||||
|
||||
url = a2bstr("about:blank");
|
||||
name = a2bstr("test");
|
||||
new_window = (void*)0xdeadbeef;
|
||||
|
||||
open_call = TRUE;
|
||||
|
||||
SET_EXPECT(TranslateUrl);
|
||||
SET_EXPECT(EvaluateNewWindow);
|
||||
|
||||
hres = IHTMLWindow2_open(window, url, name, NULL, VARIANT_FALSE, &new_window);
|
||||
todo_wine
|
||||
ok(hres == S_OK, "open failed: %08x\n", hres);
|
||||
todo_wine
|
||||
ok(new_window == NULL, "new_window != NULL\n");
|
||||
|
||||
todo_wine
|
||||
CHECK_CALLED(TranslateUrl);
|
||||
todo_wine
|
||||
CHECK_CALLED(EvaluateNewWindow);
|
||||
|
||||
open_call = FALSE;
|
||||
SysFreeString(url);
|
||||
SysFreeString(name);
|
||||
|
||||
IHTMLWindow2_Release(window);
|
||||
SysFreeString(name);
|
||||
}
|
||||
|
||||
static void test_clear(IHTMLDocument2 *doc)
|
||||
{
|
||||
HRESULT hres;
|
||||
|
@ -4678,6 +4773,7 @@ static void test_HTMLDocument_http(void)
|
|||
test_GetCurMoniker((IUnknown*)doc, http_mon, NULL);
|
||||
|
||||
test_put_href(doc);
|
||||
test_open_window(doc);
|
||||
|
||||
test_InPlaceDeactivate(doc, TRUE);
|
||||
test_Close(doc, FALSE);
|
||||
|
|
Loading…
Reference in a new issue