oleaut32/tests: Use local IDispatch test impl instead of global variable.
This commit is contained in:
parent
acea0eea5d
commit
dd89dd1932
|
@ -537,8 +537,6 @@ typedef struct
|
||||||
BOOL bFailInvoke;
|
BOOL bFailInvoke;
|
||||||
} DummyDispatch;
|
} DummyDispatch;
|
||||||
|
|
||||||
static DummyDispatch dispatch;
|
|
||||||
|
|
||||||
static inline DummyDispatch *impl_from_IDispatch(IDispatch *iface)
|
static inline DummyDispatch *impl_from_IDispatch(IDispatch *iface)
|
||||||
{
|
{
|
||||||
return CONTAINING_RECORD(iface, DummyDispatch, IDispatch_iface);
|
return CONTAINING_RECORD(iface, DummyDispatch, IDispatch_iface);
|
||||||
|
@ -599,6 +597,8 @@ static HRESULT WINAPI DummyDispatch_Invoke(IDispatch *iface,
|
||||||
EXCEPINFO *ei,
|
EXCEPINFO *ei,
|
||||||
UINT *arg_err)
|
UINT *arg_err)
|
||||||
{
|
{
|
||||||
|
DummyDispatch *This = impl_from_IDispatch(iface);
|
||||||
|
|
||||||
CHECK_EXPECT(dispatch_invoke);
|
CHECK_EXPECT(dispatch_invoke);
|
||||||
|
|
||||||
ok(dispid == DISPID_VALUE, "got dispid %d\n", dispid);
|
ok(dispid == DISPID_VALUE, "got dispid %d\n", dispid);
|
||||||
|
@ -614,11 +614,11 @@ static HRESULT WINAPI DummyDispatch_Invoke(IDispatch *iface,
|
||||||
ok(ei == NULL, "got %p\n", ei);
|
ok(ei == NULL, "got %p\n", ei);
|
||||||
ok(arg_err == NULL, "got %p\n", arg_err);
|
ok(arg_err == NULL, "got %p\n", arg_err);
|
||||||
|
|
||||||
if (dispatch.bFailInvoke)
|
if (This->bFailInvoke)
|
||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
|
|
||||||
V_VT(res) = dispatch.vt;
|
V_VT(res) = This->vt;
|
||||||
if (dispatch.vt == VT_UI1)
|
if (This->vt == VT_UI1)
|
||||||
V_UI1(res) = 1;
|
V_UI1(res) = 1;
|
||||||
else
|
else
|
||||||
memset(res, 0, sizeof(*res));
|
memset(res, 0, sizeof(*res));
|
||||||
|
@ -637,7 +637,13 @@ static const IDispatchVtbl DummyDispatch_VTable =
|
||||||
DummyDispatch_Invoke
|
DummyDispatch_Invoke
|
||||||
};
|
};
|
||||||
|
|
||||||
static DummyDispatch dispatch = { { &DummyDispatch_VTable }, 1, 0, 0 };
|
static void init_test_dispatch(LONG ref, VARTYPE vt, DummyDispatch *dispatch)
|
||||||
|
{
|
||||||
|
dispatch->IDispatch_iface.lpVtbl = &DummyDispatch_VTable;
|
||||||
|
dispatch->ref = ref;
|
||||||
|
dispatch->vt = vt;
|
||||||
|
dispatch->bFailInvoke = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* VT_I1/VT_UI1
|
* VT_I1/VT_UI1
|
||||||
|
@ -1111,6 +1117,7 @@ static void test_VarUI1FromStr(void)
|
||||||
|
|
||||||
static void test_VarUI1FromDisp(void)
|
static void test_VarUI1FromDisp(void)
|
||||||
{
|
{
|
||||||
|
DummyDispatch dispatch;
|
||||||
CONVVARS(LCID);
|
CONVVARS(LCID);
|
||||||
VARIANTARG vSrc, vDst;
|
VARIANTARG vSrc, vDst;
|
||||||
|
|
||||||
|
@ -1133,10 +1140,9 @@ static void test_VarUI1FromDisp(void)
|
||||||
VariantInit(&vSrc);
|
VariantInit(&vSrc);
|
||||||
VariantInit(&vDst);
|
VariantInit(&vDst);
|
||||||
|
|
||||||
|
init_test_dispatch(1, VT_UI1, &dispatch);
|
||||||
V_VT(&vSrc) = VT_DISPATCH;
|
V_VT(&vSrc) = VT_DISPATCH;
|
||||||
V_DISPATCH(&vSrc) = &dispatch.IDispatch_iface;
|
V_DISPATCH(&vSrc) = &dispatch.IDispatch_iface;
|
||||||
dispatch.vt = VT_UI1;
|
|
||||||
dispatch.bFailInvoke = FALSE;
|
|
||||||
|
|
||||||
SET_EXPECT(dispatch_invoke);
|
SET_EXPECT(dispatch_invoke);
|
||||||
out = 10;
|
out = 10;
|
||||||
|
@ -5693,8 +5699,11 @@ static void test_IUnknownClear(void)
|
||||||
{
|
{
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
VARIANTARG v;
|
VARIANTARG v;
|
||||||
DummyDispatch u = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
|
DummyDispatch u;
|
||||||
IUnknown* pu = (IUnknown*)&u.IDispatch_iface;
|
IUnknown* pu;
|
||||||
|
|
||||||
|
init_test_dispatch(1, VT_UI1, &u);
|
||||||
|
pu = (IUnknown*)&u.IDispatch_iface;
|
||||||
|
|
||||||
/* Test that IUnknown_Release is called on by-value */
|
/* Test that IUnknown_Release is called on by-value */
|
||||||
V_VT(&v) = VT_UNKNOWN;
|
V_VT(&v) = VT_UNKNOWN;
|
||||||
|
@ -5718,8 +5727,11 @@ static void test_IUnknownCopy(void)
|
||||||
{
|
{
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
VARIANTARG vSrc, vDst;
|
VARIANTARG vSrc, vDst;
|
||||||
DummyDispatch u = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
|
DummyDispatch u;
|
||||||
IUnknown* pu = (IUnknown*)&u.IDispatch_iface;
|
IUnknown* pu;
|
||||||
|
|
||||||
|
init_test_dispatch(1, VT_UI1, &u);
|
||||||
|
pu = (IUnknown*)&u.IDispatch_iface;
|
||||||
|
|
||||||
/* AddRef is called on by-value copy */
|
/* AddRef is called on by-value copy */
|
||||||
VariantInit(&vDst);
|
VariantInit(&vDst);
|
||||||
|
@ -5766,8 +5778,11 @@ static void test_IUnknownChangeTypeEx(void)
|
||||||
VARIANTARG vSrc, vDst;
|
VARIANTARG vSrc, vDst;
|
||||||
LCID lcid;
|
LCID lcid;
|
||||||
VARTYPE vt;
|
VARTYPE vt;
|
||||||
DummyDispatch u = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
|
DummyDispatch u;
|
||||||
IUnknown* pu = (IUnknown*)&u.IDispatch_iface;
|
IUnknown* pu;
|
||||||
|
|
||||||
|
init_test_dispatch(1, VT_UI1, &u);
|
||||||
|
pu = (IUnknown*)&u.IDispatch_iface;
|
||||||
|
|
||||||
lcid = MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT);
|
lcid = MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT);
|
||||||
|
|
||||||
|
@ -5831,8 +5846,11 @@ static void test_IDispatchClear(void)
|
||||||
{
|
{
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
VARIANTARG v;
|
VARIANTARG v;
|
||||||
DummyDispatch d = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
|
DummyDispatch d;
|
||||||
IDispatch* pd = &d.IDispatch_iface;
|
IDispatch* pd;
|
||||||
|
|
||||||
|
init_test_dispatch(1, VT_UI1, &d);
|
||||||
|
pd = &d.IDispatch_iface;
|
||||||
|
|
||||||
/* As per IUnknown */
|
/* As per IUnknown */
|
||||||
|
|
||||||
|
@ -5856,8 +5874,11 @@ static void test_IDispatchCopy(void)
|
||||||
{
|
{
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
VARIANTARG vSrc, vDst;
|
VARIANTARG vSrc, vDst;
|
||||||
DummyDispatch d = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
|
DummyDispatch d;
|
||||||
IDispatch* pd = &d.IDispatch_iface;
|
IDispatch* pd;
|
||||||
|
|
||||||
|
init_test_dispatch(1, VT_UI1, &d);
|
||||||
|
pd = &d.IDispatch_iface;
|
||||||
|
|
||||||
/* As per IUnknown */
|
/* As per IUnknown */
|
||||||
|
|
||||||
|
@ -5901,8 +5922,11 @@ static void test_IDispatchChangeTypeEx(void)
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
VARIANTARG vSrc, vDst;
|
VARIANTARG vSrc, vDst;
|
||||||
LCID lcid;
|
LCID lcid;
|
||||||
DummyDispatch d = { { &DummyDispatch_VTable }, 1, VT_UI1, FALSE };
|
DummyDispatch d;
|
||||||
IDispatch* pd = &d.IDispatch_iface;
|
IDispatch* pd;
|
||||||
|
|
||||||
|
init_test_dispatch(1, VT_UI1, &d);
|
||||||
|
pd = &d.IDispatch_iface;
|
||||||
|
|
||||||
lcid = MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT);
|
lcid = MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US), SORT_DEFAULT);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue