mshtml/tests: Fix htmldoc test on Windows Server and Win7.
This commit is contained in:
parent
9cb140c43d
commit
73b3d35d05
|
@ -31,6 +31,7 @@
|
||||||
#include "mshtmhst.h"
|
#include "mshtmhst.h"
|
||||||
#include "docobj.h"
|
#include "docobj.h"
|
||||||
#include "dispex.h"
|
#include "dispex.h"
|
||||||
|
#include "mshtml_test.h"
|
||||||
|
|
||||||
static const char doc_blank[] = "<html></html>";
|
static const char doc_blank[] = "<html></html>";
|
||||||
static const char doc_str1[] = "<html><body>test</body></html>";
|
static const char doc_str1[] = "<html><body>test</body></html>";
|
||||||
|
@ -5394,27 +5395,6 @@ static void gecko_installer_workaround(BOOL disable)
|
||||||
RegCloseKey(hkey);
|
RegCloseKey(hkey);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if Internet Explorer is configured to run in "Enhanced Security Configuration" (aka hardened mode) */
|
|
||||||
/* Note: this code is duplicated in dlls/mshtml/tests/dom.c, dlls/mshtml/tests/script.c and dlls/urlmon/tests/sec_mgr.c */
|
|
||||||
static BOOL is_ie_hardened(void)
|
|
||||||
{
|
|
||||||
HKEY zone_map;
|
|
||||||
DWORD ie_harden, type, size;
|
|
||||||
|
|
||||||
ie_harden = 0;
|
|
||||||
if(RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap",
|
|
||||||
0, KEY_QUERY_VALUE, &zone_map) == ERROR_SUCCESS) {
|
|
||||||
size = sizeof(DWORD);
|
|
||||||
if (RegQueryValueEx(zone_map, "IEHarden", NULL, &type, (LPBYTE) &ie_harden, &size) != ERROR_SUCCESS ||
|
|
||||||
type != REG_DWORD) {
|
|
||||||
ie_harden = 0;
|
|
||||||
}
|
|
||||||
RegCloseKey(zone_map);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ie_harden != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
START_TEST(dom)
|
START_TEST(dom)
|
||||||
{
|
{
|
||||||
gecko_installer_workaround(TRUE);
|
gecko_installer_workaround(TRUE);
|
||||||
|
|
|
@ -37,6 +37,7 @@
|
||||||
#include "idispids.h"
|
#include "idispids.h"
|
||||||
#include "shlguid.h"
|
#include "shlguid.h"
|
||||||
#include "perhist.h"
|
#include "perhist.h"
|
||||||
|
#include "mshtml_test.h"
|
||||||
|
|
||||||
DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
|
DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
|
||||||
DEFINE_GUID(IID_IProxyManager,0x00000008,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
DEFINE_GUID(IID_IProxyManager,0x00000008,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
|
@ -104,6 +105,7 @@ DEFINE_EXPECT(Exec_ShellDocView_37);
|
||||||
DEFINE_EXPECT(Exec_ShellDocView_84);
|
DEFINE_EXPECT(Exec_ShellDocView_84);
|
||||||
DEFINE_EXPECT(Exec_ShellDocView_103);
|
DEFINE_EXPECT(Exec_ShellDocView_103);
|
||||||
DEFINE_EXPECT(Exec_ShellDocView_105);
|
DEFINE_EXPECT(Exec_ShellDocView_105);
|
||||||
|
DEFINE_EXPECT(Exec_ShellDocView_140);
|
||||||
DEFINE_EXPECT(Exec_UPDATECOMMANDS);
|
DEFINE_EXPECT(Exec_UPDATECOMMANDS);
|
||||||
DEFINE_EXPECT(Exec_SETTITLE);
|
DEFINE_EXPECT(Exec_SETTITLE);
|
||||||
DEFINE_EXPECT(Exec_HTTPEQUIV);
|
DEFINE_EXPECT(Exec_HTTPEQUIV);
|
||||||
|
@ -2310,6 +2312,14 @@ static HRESULT WINAPI OleCommandTarget_Exec(IOleCommandTarget *iface, const GUID
|
||||||
|
|
||||||
return E_NOTIMPL;
|
return E_NOTIMPL;
|
||||||
|
|
||||||
|
case 140:
|
||||||
|
CHECK_EXPECT2(Exec_ShellDocView_140);
|
||||||
|
|
||||||
|
ok(pvaIn == NULL, "pvaIn != NULL\n");
|
||||||
|
ok(pvaOut == NULL, "pvaOut != NULL\n");
|
||||||
|
|
||||||
|
return E_NOTIMPL;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ok(0, "unexpected command %d\n", nCmdID);
|
ok(0, "unexpected command %d\n", nCmdID);
|
||||||
return E_FAIL;
|
return E_FAIL;
|
||||||
|
@ -2499,9 +2509,10 @@ static const IServiceProviderVtbl ServiceProviderVtbl = {
|
||||||
static IServiceProvider ServiceProvider = { &ServiceProviderVtbl };
|
static IServiceProvider ServiceProvider = { &ServiceProviderVtbl };
|
||||||
|
|
||||||
DEFINE_GUID(IID_unk1, 0xD48A6EC6,0x6A4A,0x11CF,0x94,0xA7,0x44,0x45,0x53,0x54,0x00,0x00); /* HTMLWindow2 ? */
|
DEFINE_GUID(IID_unk1, 0xD48A6EC6,0x6A4A,0x11CF,0x94,0xA7,0x44,0x45,0x53,0x54,0x00,0x00); /* HTMLWindow2 ? */
|
||||||
DEFINE_GUID(IID_unk2, 0x7BB0B520,0xB1A7,0x11D2,0xBB,0x23,0x00,0xC0,0x4F,0x79,0xAB,0xCD);
|
DEFINE_GUID(IID_IThumbnailView, 0x7BB0B520,0xB1A7,0x11D2,0xBB,0x23,0x00,0xC0,0x4F,0x79,0xAB,0xCD);
|
||||||
DEFINE_GUID(IID_unk3, 0x000670BA,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
DEFINE_GUID(IID_IRenMailEditor, 0x000670BA,0x0000,0x0000,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
DEFINE_GUID(IID_unk4, 0x305104a6,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
|
DEFINE_GUID(IID_unk4, 0x305104a6,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);
|
||||||
|
DEFINE_GUID(IID_IDocHostUIHandlerPriv, 0xf0d241d1,0x5d0e,0x4e85,0xbc,0xb4,0xfa,0xd7,0xf7,0xc5,0x52,0x8c);
|
||||||
|
|
||||||
static HRESULT QueryInterface(REFIID riid, void **ppv)
|
static HRESULT QueryInterface(REFIID riid, void **ppv)
|
||||||
{
|
{
|
||||||
|
@ -2533,12 +2544,14 @@ static HRESULT QueryInterface(REFIID riid, void **ppv)
|
||||||
return E_NOINTERFACE; /* ? */
|
return E_NOINTERFACE; /* ? */
|
||||||
else if(IsEqualGUID(&IID_unk1, riid))
|
else if(IsEqualGUID(&IID_unk1, riid))
|
||||||
return E_NOINTERFACE; /* HTMLWindow2 ? */
|
return E_NOINTERFACE; /* HTMLWindow2 ? */
|
||||||
else if(IsEqualGUID(&IID_unk2, riid))
|
else if(IsEqualGUID(&IID_IThumbnailView, riid))
|
||||||
return E_NOINTERFACE; /* ? */
|
return E_NOINTERFACE; /* ? */
|
||||||
else if(IsEqualGUID(&IID_unk3, riid))
|
else if(IsEqualGUID(&IID_IRenMailEditor, riid))
|
||||||
return E_NOINTERFACE; /* ? */
|
return E_NOINTERFACE; /* ? */
|
||||||
else if(IsEqualGUID(&IID_unk4, riid))
|
else if(IsEqualGUID(&IID_unk4, riid))
|
||||||
return E_NOINTERFACE; /* ? */
|
return E_NOINTERFACE; /* ? */
|
||||||
|
else if(IsEqualGUID(&IID_IDocHostUIHandlerPriv, riid))
|
||||||
|
return E_NOINTERFACE; /* ? */
|
||||||
else
|
else
|
||||||
ok(0, "unexpected riid %s\n", debugstr_guid(riid));
|
ok(0, "unexpected riid %s\n", debugstr_guid(riid));
|
||||||
|
|
||||||
|
@ -2811,6 +2824,7 @@ static void test_download(DWORD flags)
|
||||||
SET_EXPECT(Exec_SETDOWNLOADSTATE_0);
|
SET_EXPECT(Exec_SETDOWNLOADSTATE_0);
|
||||||
SET_EXPECT(Exec_ShellDocView_103);
|
SET_EXPECT(Exec_ShellDocView_103);
|
||||||
SET_EXPECT(Exec_ShellDocView_105);
|
SET_EXPECT(Exec_ShellDocView_105);
|
||||||
|
SET_EXPECT(Exec_ShellDocView_140);
|
||||||
SET_EXPECT(Exec_MSHTML_PARSECOMPLETE);
|
SET_EXPECT(Exec_MSHTML_PARSECOMPLETE);
|
||||||
SET_EXPECT(Exec_HTTPEQUIV_DONE);
|
SET_EXPECT(Exec_HTTPEQUIV_DONE);
|
||||||
SET_EXPECT(SetStatusText);
|
SET_EXPECT(SetStatusText);
|
||||||
|
@ -2870,6 +2884,7 @@ static void test_download(DWORD flags)
|
||||||
CHECK_CALLED(Exec_SETDOWNLOADSTATE_0);
|
CHECK_CALLED(Exec_SETDOWNLOADSTATE_0);
|
||||||
SET_CALLED(Exec_ShellDocView_103);
|
SET_CALLED(Exec_ShellDocView_103);
|
||||||
SET_CALLED(Exec_ShellDocView_105);
|
SET_CALLED(Exec_ShellDocView_105);
|
||||||
|
SET_CALLED(Exec_ShellDocView_140);
|
||||||
CHECK_CALLED(Exec_MSHTML_PARSECOMPLETE);
|
CHECK_CALLED(Exec_MSHTML_PARSECOMPLETE);
|
||||||
CHECK_CALLED(Exec_HTTPEQUIV_DONE);
|
CHECK_CALLED(Exec_HTTPEQUIV_DONE);
|
||||||
SET_CALLED(SetStatusText);
|
SET_CALLED(SetStatusText);
|
||||||
|
@ -4030,7 +4045,10 @@ static void test_HTMLDocument_http(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
test_download(DWL_HTTP);
|
if (winetest_interactive || ! is_ie_hardened())
|
||||||
|
test_download(DWL_HTTP);
|
||||||
|
else
|
||||||
|
win_skip("IE running in Enhanced Security Configuration\n");
|
||||||
|
|
||||||
test_IsDirty(unk, S_FALSE);
|
test_IsDirty(unk, S_FALSE);
|
||||||
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
|
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2009 Ge van Geldorp
|
||||||
|
*
|
||||||
|
* This library is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
* License as published by the Free Software Foundation; either
|
||||||
|
* version 2.1 of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This library is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* Lesser General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
|
* License along with this library; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Check if Internet Explorer is configured to run in "Enhanced Security Configuration" (aka hardened mode) */
|
||||||
|
/* Note: this code is duplicated in dlls/mshtml/tests/mshtml_test.h and dlls/urlmon/tests/sec_mgr.c */
|
||||||
|
static BOOL is_ie_hardened(void)
|
||||||
|
{
|
||||||
|
HKEY zone_map;
|
||||||
|
DWORD ie_harden, type, size;
|
||||||
|
|
||||||
|
ie_harden = 0;
|
||||||
|
if(RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap",
|
||||||
|
0, KEY_QUERY_VALUE, &zone_map) == ERROR_SUCCESS) {
|
||||||
|
size = sizeof(DWORD);
|
||||||
|
if (RegQueryValueEx(zone_map, "IEHarden", NULL, &type, (LPBYTE) &ie_harden, &size) != ERROR_SUCCESS ||
|
||||||
|
type != REG_DWORD) {
|
||||||
|
ie_harden = 0;
|
||||||
|
}
|
||||||
|
RegCloseKey(zone_map);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ie_harden != 0;
|
||||||
|
}
|
|
@ -33,6 +33,7 @@
|
||||||
#include "activdbg.h"
|
#include "activdbg.h"
|
||||||
#include "objsafe.h"
|
#include "objsafe.h"
|
||||||
#include "mshtmdid.h"
|
#include "mshtmdid.h"
|
||||||
|
#include "mshtml_test.h"
|
||||||
|
|
||||||
DEFINE_GUID(CLSID_IdentityUnmarshal,0x0000001b,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
DEFINE_GUID(CLSID_IdentityUnmarshal,0x0000001b,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
|
||||||
|
|
||||||
|
@ -1404,27 +1405,6 @@ static void gecko_installer_workaround(BOOL disable)
|
||||||
RegCloseKey(hkey);
|
RegCloseKey(hkey);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if Internet Explorer is configured to run in "Enhanced Security Configuration" (aka hardened mode) */
|
|
||||||
/* Note: this code is duplicated in dlls/mshtml/tests/dom.c, dlls/mshtml/tests/script.c and dlls/urlmon/tests/sec_mgr.c */
|
|
||||||
static BOOL is_ie_hardened(void)
|
|
||||||
{
|
|
||||||
HKEY zone_map;
|
|
||||||
DWORD ie_harden, type, size;
|
|
||||||
|
|
||||||
ie_harden = 0;
|
|
||||||
if(RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\ZoneMap",
|
|
||||||
0, KEY_QUERY_VALUE, &zone_map) == ERROR_SUCCESS) {
|
|
||||||
size = sizeof(DWORD);
|
|
||||||
if (RegQueryValueEx(zone_map, "IEHarden", NULL, &type, (LPBYTE) &ie_harden, &size) != ERROR_SUCCESS ||
|
|
||||||
type != REG_DWORD) {
|
|
||||||
ie_harden = 0;
|
|
||||||
}
|
|
||||||
RegCloseKey(zone_map);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ie_harden != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
START_TEST(script)
|
START_TEST(script)
|
||||||
{
|
{
|
||||||
gecko_installer_workaround(TRUE);
|
gecko_installer_workaround(TRUE);
|
||||||
|
|
|
@ -168,7 +168,7 @@ static void test_SecurityManager(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if Internet Explorer is configured to run in "Enhanced Security Configuration" (aka hardened mode) */
|
/* Check if Internet Explorer is configured to run in "Enhanced Security Configuration" (aka hardened mode) */
|
||||||
/* Note: this code is duplicated in dlls/mshtml/tests/dom.c, dlls/mshtml/tests/script.c and dlls/urlmon/tests/sec_mgr.c */
|
/* Note: this code is duplicated in dlls/mshtml/tests/mshtml_test.h and dlls/urlmon/tests/sec_mgr.c */
|
||||||
static BOOL is_ie_hardened(void)
|
static BOOL is_ie_hardened(void)
|
||||||
{
|
{
|
||||||
HKEY zone_map;
|
HKEY zone_map;
|
||||||
|
|
Loading…
Reference in New Issue