oleaut32/tests: Use SafeArraySetIID() directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5b6920bd8f
commit
4cc41fc5ce
@ -47,8 +47,6 @@ static HMODULE hOleaut32;
|
|||||||
|
|
||||||
static HRESULT (WINAPI *pSafeArrayAllocDescriptorEx)(VARTYPE,UINT,SAFEARRAY**);
|
static HRESULT (WINAPI *pSafeArrayAllocDescriptorEx)(VARTYPE,UINT,SAFEARRAY**);
|
||||||
static HRESULT (WINAPI *pSafeArrayCopyData)(SAFEARRAY*,SAFEARRAY*);
|
static HRESULT (WINAPI *pSafeArrayCopyData)(SAFEARRAY*,SAFEARRAY*);
|
||||||
static HRESULT (WINAPI *pSafeArrayGetIID)(SAFEARRAY*,GUID*);
|
|
||||||
static HRESULT (WINAPI *pSafeArraySetIID)(SAFEARRAY*,REFGUID);
|
|
||||||
static HRESULT (WINAPI *pSafeArrayGetVartype)(SAFEARRAY*,VARTYPE*);
|
static HRESULT (WINAPI *pSafeArrayGetVartype)(SAFEARRAY*,VARTYPE*);
|
||||||
static HRESULT (WINAPI *pSafeArrayGetRecordInfo)(SAFEARRAY*,IRecordInfo**);
|
static HRESULT (WINAPI *pSafeArrayGetRecordInfo)(SAFEARRAY*,IRecordInfo**);
|
||||||
static SAFEARRAY* (WINAPI *pSafeArrayCreateEx)(VARTYPE,UINT,SAFEARRAYBOUND*,LPVOID);
|
static SAFEARRAY* (WINAPI *pSafeArrayCreateEx)(VARTYPE,UINT,SAFEARRAYBOUND*,LPVOID);
|
||||||
@ -686,24 +684,22 @@ static void test_safearray(void)
|
|||||||
hres = SafeArrayDestroyDescriptor(a);
|
hres = SafeArrayDestroyDescriptor(a);
|
||||||
ok(hres == S_OK,"SADD with data in array failed with hres %x\n",hres);
|
ok(hres == S_OK,"SADD with data in array failed with hres %x\n",hres);
|
||||||
|
|
||||||
/* IID functions */
|
/* IID functions */
|
||||||
/* init a small stack safearray */
|
/* init a small stack safearray */
|
||||||
if (pSafeArraySetIID) {
|
memset(&b, 0, sizeof(b));
|
||||||
memset(&b, 0, sizeof(b));
|
b.cDims = 1;
|
||||||
b.cDims = 1;
|
memset(&iid, 0x42, sizeof(IID));
|
||||||
memset(&iid, 0x42, sizeof(IID));
|
hres = SafeArraySetIID(&b, &iid);
|
||||||
hres = pSafeArraySetIID(&b,&iid);
|
ok(hres == E_INVALIDARG, "Unexpected ret value %#x.\n", hres);
|
||||||
ok(hres == E_INVALIDARG,"SafeArraySetIID of non IID capable safearray did not return E_INVALIDARG, but %x\n",hres);
|
|
||||||
|
|
||||||
hres = SafeArrayAllocDescriptor(1,&a);
|
hres = SafeArrayAllocDescriptor(1, &a);
|
||||||
ok(hres == S_OK,"SafeArrayAllocDescriptor should return S_OK, but got %x\n",hres);
|
ok(hres == S_OK, "Failed to allocate array descriptor, hr %#x.\n", hres);
|
||||||
ok((a->fFeatures & FADF_HAVEIID) == 0,"newly allocated descriptor with SAAD should not have FADF_HAVEIID\n");
|
ok((a->fFeatures & FADF_HAVEIID) == 0, "Unexpected features mask %#x.\n", a->fFeatures);
|
||||||
hres = pSafeArraySetIID(a,&iid);
|
hres = SafeArraySetIID(a, &iid);
|
||||||
ok(hres == E_INVALIDARG,"SafeArraySetIID of newly allocated descriptor with SAAD should return E_INVALIDARG, but got %x\n",hres);
|
ok(hres == E_INVALIDARG, "Unexpected ret value %#x.\n", hres);
|
||||||
|
|
||||||
hres = SafeArrayDestroyDescriptor(a);
|
hres = SafeArrayDestroyDescriptor(a);
|
||||||
ok(hres == S_OK,"SADD failed with hres %x\n",hres);
|
ok(hres == S_OK,"SADD failed with hres %x\n",hres);
|
||||||
}
|
|
||||||
|
|
||||||
if (!pSafeArrayAllocDescriptorEx)
|
if (!pSafeArrayAllocDescriptorEx)
|
||||||
return;
|
return;
|
||||||
@ -714,7 +710,7 @@ static void test_safearray(void)
|
|||||||
ok(hres == S_OK, "SafeArrayAllocDescriptorEx gave hres 0x%x\n", hres);
|
ok(hres == S_OK, "SafeArrayAllocDescriptorEx gave hres 0x%x\n", hres);
|
||||||
ok(a->fFeatures == vttypes[i].expflags,"SAADE(%d) resulted with flags %x, expected %x\n", vttypes[i].vt, a->fFeatures, vttypes[i].expflags);
|
ok(a->fFeatures == vttypes[i].expflags,"SAADE(%d) resulted with flags %x, expected %x\n", vttypes[i].vt, a->fFeatures, vttypes[i].expflags);
|
||||||
if (a->fFeatures & FADF_HAVEIID) {
|
if (a->fFeatures & FADF_HAVEIID) {
|
||||||
hres = pSafeArrayGetIID(a, &iid);
|
hres = SafeArrayGetIID(a, &iid);
|
||||||
ok(hres == S_OK,"SAGIID failed for vt %d with hres %x\n", vttypes[i].vt,hres);
|
ok(hres == S_OK,"SAGIID failed for vt %d with hres %x\n", vttypes[i].vt,hres);
|
||||||
switch (vttypes[i].vt) {
|
switch (vttypes[i].vt) {
|
||||||
case VT_UNKNOWN:
|
case VT_UNKNOWN:
|
||||||
@ -730,7 +726,7 @@ static void test_safearray(void)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
hres = pSafeArrayGetIID(a, &iid);
|
hres = SafeArrayGetIID(a, &iid);
|
||||||
ok(hres == E_INVALIDARG,"SAGIID did not fail for vt %d with hres %x\n", vttypes[i].vt,hres);
|
ok(hres == E_INVALIDARG,"SAGIID did not fail for vt %d with hres %x\n", vttypes[i].vt,hres);
|
||||||
}
|
}
|
||||||
if (a->fFeatures & FADF_RECORD) {
|
if (a->fFeatures & FADF_RECORD) {
|
||||||
@ -751,13 +747,13 @@ static void test_safearray(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (a->fFeatures & FADF_HAVEIID) {
|
if (a->fFeatures & FADF_HAVEIID) {
|
||||||
hres = pSafeArraySetIID(a, &IID_IStorage); /* random IID */
|
hres = SafeArraySetIID(a, &IID_IStorage); /* random IID */
|
||||||
ok(hres == S_OK,"SASIID failed with FADF_HAVEIID set for vt %d with %x\n", vttypes[i].vt, hres);
|
ok(hres == S_OK,"SASIID failed with FADF_HAVEIID set for vt %d with %x\n", vttypes[i].vt, hres);
|
||||||
hres = pSafeArrayGetIID(a, &iid);
|
hres = SafeArrayGetIID(a, &iid);
|
||||||
ok(hres == S_OK,"SAGIID failed with FADF_HAVEIID set for vt %d with %x\n", vttypes[i].vt, hres);
|
ok(hres == S_OK,"SAGIID failed with FADF_HAVEIID set for vt %d with %x\n", vttypes[i].vt, hres);
|
||||||
ok(IsEqualGUID(&iid, &IID_IStorage),"returned iid is not IID_IStorage\n");
|
ok(IsEqualGUID(&iid, &IID_IStorage),"returned iid is not IID_IStorage\n");
|
||||||
} else {
|
} else {
|
||||||
hres = pSafeArraySetIID(a, &IID_IStorage); /* random IID */
|
hres = SafeArraySetIID(a, &IID_IStorage); /* random IID */
|
||||||
ok(hres == E_INVALIDARG,"SASIID did not failed with !FADF_HAVEIID set for vt %d with %x\n", vttypes[i].vt, hres);
|
ok(hres == E_INVALIDARG,"SASIID did not failed with !FADF_HAVEIID set for vt %d with %x\n", vttypes[i].vt, hres);
|
||||||
}
|
}
|
||||||
hres = SafeArrayDestroyDescriptor(a);
|
hres = SafeArrayDestroyDescriptor(a);
|
||||||
@ -885,12 +881,8 @@ static void test_SafeArrayCreateLockDestroy(void)
|
|||||||
{
|
{
|
||||||
ok((sa->fFeatures & FADF_HAVEIID) == 0,
|
ok((sa->fFeatures & FADF_HAVEIID) == 0,
|
||||||
"Non interface type should not have FADF_HAVEIID\n");
|
"Non interface type should not have FADF_HAVEIID\n");
|
||||||
if (pSafeArraySetIID)
|
hres = SafeArraySetIID(sa, &IID_IUnknown);
|
||||||
{
|
ok(hres == E_INVALIDARG, "Unexpected ret value %#x.\n", hres);
|
||||||
hres = pSafeArraySetIID(sa, &IID_IUnknown);
|
|
||||||
ok(hres == E_INVALIDARG,
|
|
||||||
"Non interface type allowed SetIID(), hres %x\n", hres);
|
|
||||||
}
|
|
||||||
if (vt != VT_RECORD)
|
if (vt != VT_RECORD)
|
||||||
{
|
{
|
||||||
VARTYPE aVt;
|
VARTYPE aVt;
|
||||||
@ -908,12 +900,8 @@ static void test_SafeArrayCreateLockDestroy(void)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
ok(sa->fFeatures & FADF_HAVEIID, "Interface type should have FADF_HAVEIID\n");
|
ok(sa->fFeatures & FADF_HAVEIID, "Interface type should have FADF_HAVEIID\n");
|
||||||
if (pSafeArraySetIID)
|
hres = SafeArraySetIID(sa, &IID_IUnknown);
|
||||||
{
|
ok(hres == S_OK, "Failed to set array IID, hres %#x.\n", hres);
|
||||||
hres = pSafeArraySetIID(sa, &IID_IUnknown);
|
|
||||||
ok(hres == S_OK,
|
|
||||||
"Non interface type disallowed SetIID(), hres %x\n", hres);
|
|
||||||
}
|
|
||||||
ok((sa->fFeatures & FADF_HAVEVARTYPE) == 0,
|
ok((sa->fFeatures & FADF_HAVEVARTYPE) == 0,
|
||||||
"Interface type %d should not have FADF_HAVEVARTYPE\n", vt);
|
"Interface type %d should not have FADF_HAVEVARTYPE\n", vt);
|
||||||
}
|
}
|
||||||
@ -1544,25 +1532,14 @@ static void test_SafeArrayCreateEx(void)
|
|||||||
if (sa)
|
if (sa)
|
||||||
{
|
{
|
||||||
GUID guid;
|
GUID guid;
|
||||||
if (pSafeArrayGetIID)
|
|
||||||
{
|
hres = SafeArrayGetIID(sa, &guid);
|
||||||
hres = pSafeArrayGetIID(sa, &guid);
|
ok(hres == S_OK, "Failed to get array IID, hres %#x.\n", hres);
|
||||||
ok(hres == S_OK, "CreateEx (ITypeInfo) no IID hres 0x%x\n", hres);
|
ok(IsEqualGUID(&guid, &IID_ITypeInfo), "CreateEx (ITypeInfo) bad IID\n");
|
||||||
if (hres == S_OK)
|
hres = SafeArraySetIID(sa, &IID_IUnknown);
|
||||||
{
|
ok(hres == S_OK, "Failed to set IID, hres = %8x\n", hres);
|
||||||
ok(IsEqualGUID(&guid, &IID_ITypeInfo), "CreateEx (ITypeInfo) bad IID\n");
|
hres = SafeArrayGetIID(sa, &guid);
|
||||||
}
|
ok(hres == S_OK && IsEqualGUID(&guid, &IID_IUnknown), "Set bad IID\n");
|
||||||
}
|
|
||||||
if (pSafeArraySetIID)
|
|
||||||
{
|
|
||||||
hres = pSafeArraySetIID(sa, &IID_IUnknown);
|
|
||||||
ok(hres == S_OK, "Failed to set IID, hres = %8x\n", hres);
|
|
||||||
if (hres == S_OK && pSafeArrayGetIID)
|
|
||||||
{
|
|
||||||
hres = pSafeArrayGetIID(sa, &guid);
|
|
||||||
ok(hres == S_OK && IsEqualGUID(&guid, &IID_IUnknown), "Set bad IID\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
hres = SafeArrayDestroy(sa);
|
hres = SafeArrayDestroy(sa);
|
||||||
ok(hres == S_OK, "got 0x%08x\n", hres);
|
ok(hres == S_OK, "got 0x%08x\n", hres);
|
||||||
}
|
}
|
||||||
@ -1573,15 +1550,10 @@ static void test_SafeArrayCreateEx(void)
|
|||||||
if (sa)
|
if (sa)
|
||||||
{
|
{
|
||||||
GUID guid;
|
GUID guid;
|
||||||
if (pSafeArrayGetIID)
|
|
||||||
{
|
hres = SafeArrayGetIID(sa, &guid);
|
||||||
hres = pSafeArrayGetIID(sa, &guid);
|
ok(hres == S_OK, "Failed to get array IID, hres %#x.\n", hres);
|
||||||
ok(hres == S_OK, "CreateEx (NULL) no IID hres 0x%x\n", hres);
|
ok(IsEqualGUID(&guid, &IID_IDispatch), "CreateEx (NULL) bad IID\n");
|
||||||
if (hres == S_OK)
|
|
||||||
{
|
|
||||||
ok(IsEqualGUID(&guid, &IID_IDispatch), "CreateEx (NULL) bad IID\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
hres = SafeArrayDestroy(sa);
|
hres = SafeArrayDestroy(sa);
|
||||||
ok(hres == S_OK, "got 0x%08x\n", hres);
|
ok(hres == S_OK, "got 0x%08x\n", hres);
|
||||||
}
|
}
|
||||||
@ -1592,15 +1564,10 @@ static void test_SafeArrayCreateEx(void)
|
|||||||
if (sa)
|
if (sa)
|
||||||
{
|
{
|
||||||
GUID guid;
|
GUID guid;
|
||||||
if (pSafeArrayGetIID)
|
|
||||||
{
|
hres = SafeArrayGetIID(sa, &guid);
|
||||||
hres = pSafeArrayGetIID(sa, &guid);
|
ok(hres == S_OK, "Failed to get array IID, hres %#x.\n", hres);
|
||||||
ok(hres == S_OK, "CreateEx (NULL-Unk) no IID hres 0x%x\n", hres);
|
ok(IsEqualGUID(&guid, &IID_IUnknown), "CreateEx (NULL-Unk) bad IID\n");
|
||||||
if (hres == S_OK)
|
|
||||||
{
|
|
||||||
ok(IsEqualGUID(&guid, &IID_IUnknown), "CreateEx (NULL-Unk) bad IID\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
hres = SafeArrayDestroy(sa);
|
hres = SafeArrayDestroy(sa);
|
||||||
ok(hres == S_OK, "got 0x%08x\n", hres);
|
ok(hres == S_OK, "got 0x%08x\n", hres);
|
||||||
}
|
}
|
||||||
@ -2125,8 +2092,6 @@ START_TEST(safearray)
|
|||||||
|
|
||||||
GETPTR(SafeArrayAllocDescriptorEx);
|
GETPTR(SafeArrayAllocDescriptorEx);
|
||||||
GETPTR(SafeArrayCopyData);
|
GETPTR(SafeArrayCopyData);
|
||||||
GETPTR(SafeArrayGetIID);
|
|
||||||
GETPTR(SafeArraySetIID);
|
|
||||||
GETPTR(SafeArrayGetVartype);
|
GETPTR(SafeArrayGetVartype);
|
||||||
GETPTR(SafeArrayCreateEx);
|
GETPTR(SafeArrayCreateEx);
|
||||||
GETPTR(SafeArrayCreateVector);
|
GETPTR(SafeArrayCreateVector);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user