jscript: Added IObjectSafety tests.
This commit is contained in:
parent
5ba99f4eb5
commit
b9117b6166
|
@ -4,6 +4,7 @@ SRCDIR = @srcdir@
|
|||
VPATH = @srcdir@
|
||||
TESTDLL = jscript.dll
|
||||
IMPORTS = ole32 kernel32
|
||||
EXTRALIBS = -luuid
|
||||
|
||||
CTESTS = \
|
||||
jscript.c
|
||||
|
|
|
@ -18,16 +18,74 @@
|
|||
|
||||
#define COBJMACROS
|
||||
|
||||
#include <initguid.h>
|
||||
|
||||
#include <ole2.h>
|
||||
#include <activscp.h>
|
||||
#include <objsafe.h>
|
||||
|
||||
#include "wine/test.h"
|
||||
|
||||
static const CLSID CLSID_JScript =
|
||||
{0xf414c260,0x6ac0,0x11cf,{0xb6,0xd1,0x00,0xaa,0x00,0xbb,0xbb,0x58}};
|
||||
|
||||
static void test_safety(IUnknown *unk)
|
||||
{
|
||||
IObjectSafety *safety;
|
||||
DWORD supported, enabled;
|
||||
HRESULT hres;
|
||||
|
||||
hres = IUnknown_QueryInterface(unk, &IID_IObjectSafety, (void**)&safety);
|
||||
ok(hres == S_OK, "Could not get IObjectSafety: %08x\n", hres);
|
||||
if(FAILED(hres))
|
||||
return;
|
||||
|
||||
hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_NULL, &supported, NULL);
|
||||
ok(hres == E_POINTER, "GetInterfaceSafetyOptions failed: %08x, expected E_POINTER\n", hres);
|
||||
hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_NULL, NULL, &enabled);
|
||||
ok(hres == E_POINTER, "GetInterfaceSafetyOptions failed: %08x, expected E_POINTER\n", hres);
|
||||
|
||||
supported = enabled = 0xdeadbeef;
|
||||
hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_NULL, &supported, &enabled);
|
||||
ok(hres == S_OK, "GetInterfaceSafetyOptions failed: %08x\n", hres);
|
||||
ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
|
||||
"supported=%x\n", supported);
|
||||
ok(enabled == INTERFACE_USES_DISPEX, "enabled=%x\n", enabled);
|
||||
|
||||
supported = enabled = 0xdeadbeef;
|
||||
hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScript, &supported, &enabled);
|
||||
ok(hres == S_OK, "GetInterfaceSafetyOptions failed: %08x\n", hres);
|
||||
ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
|
||||
"supported=%x\n", supported);
|
||||
ok(enabled == INTERFACE_USES_DISPEX, "enabled=%x\n", enabled);
|
||||
|
||||
supported = enabled = 0xdeadbeef;
|
||||
hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &enabled);
|
||||
ok(hres == S_OK, "GetInterfaceSafetyOptions failed: %08x\n", hres);
|
||||
ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
|
||||
"supported=%x\n", supported);
|
||||
ok(enabled == INTERFACE_USES_DISPEX, "enabled=%x\n", enabled);
|
||||
|
||||
hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse,
|
||||
INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER
|
||||
|INTERFACESAFE_FOR_UNTRUSTED_CALLER,
|
||||
INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER);
|
||||
ok(hres == E_FAIL, "SetInterfaceSafetyOptions failed: %08x\n, expected E_FAIL", hres);
|
||||
|
||||
hres = IObjectSafety_SetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse,
|
||||
INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER,
|
||||
INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER);
|
||||
ok(hres == S_OK, "SetInterfaceSafetyOptions failed: %08x\n", hres);
|
||||
|
||||
supported = enabled = 0xdeadbeef;
|
||||
hres = IObjectSafety_GetInterfaceSafetyOptions(safety, &IID_IActiveScriptParse, &supported, &enabled);
|
||||
ok(hres == S_OK, "GetInterfaceSafetyOptions failed: %08x\n", hres);
|
||||
ok(supported == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
|
||||
"supported=%x\n", supported);
|
||||
ok(enabled == (INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_DISPEX|INTERFACE_USES_SECURITY_MANAGER),
|
||||
"enabled=%x\n", enabled);
|
||||
|
||||
IObjectSafety_Release(safety);
|
||||
}
|
||||
|
||||
static void test_jscript(void)
|
||||
{
|
||||
IActiveScriptParse *parse;
|
||||
|
@ -47,6 +105,8 @@ static void test_jscript(void)
|
|||
hres = IUnknown_QueryInterface(unk, &IID_IActiveScriptParse, (void**)&parse);
|
||||
ok(hres == S_OK, "Could not get IActiveScriptParse: %08x\n", hres);
|
||||
|
||||
test_safety(unk);
|
||||
|
||||
IActiveScriptParse_Release(parse);
|
||||
IActiveScript_Release(script);
|
||||
IUnknown_Release(unk);
|
||||
|
|
Loading…
Reference in New Issue