comctl32/dpa: Check for DPA_LoadStream() presence. Merge original test function with save tests.

This commit is contained in:
Nikolay Sivov 2009-09-16 13:00:40 +04:00 committed by Alexandre Julliard
parent 51a57b7e25
commit 69bcb112f9
1 changed files with 14 additions and 47 deletions

View File

@ -551,6 +551,12 @@ static void test_DPA_LoadStream(void)
ULONG written, ret; ULONG written, ret;
HDPA dpa; HDPA dpa;
if(!pDPA_LoadStream)
{
win_skip("DPA_LoadStream() not available. Skipping stream tests.\n");
return;
}
hRes = CoInitialize(NULL); hRes = CoInitialize(NULL);
if (hRes != S_OK) if (hRes != S_OK)
{ {
@ -655,9 +661,12 @@ static void test_DPA_SaveStream(void)
static const WCHAR szStg[] = { 'S','t','g',0 }; static const WCHAR szStg[] = { 'S','t','g',0 };
IStorage* pStg = NULL; IStorage* pStg = NULL;
IStream* pStm = NULL; IStream* pStm = NULL;
DWORD dwMode; DWORD dwMode, dw;
HRESULT hRes; HRESULT hRes;
ULONG ret; ULONG ret;
INT i;
BOOL rc;
LARGE_INTEGER liZero;
if(!pDPA_SaveStream) if(!pDPA_SaveStream)
{ {
@ -694,60 +703,19 @@ if (0) {
expect(E_INVALIDARG, hRes); expect(E_INVALIDARG, hRes);
} }
pDPA_Destroy(dpa); /* saving/loading */
ret = IStream_Release(pStm);
ok(!ret, "ret=%d\n", ret);
ret = IStorage_Release(pStg);
ok(!ret, "ret=%d\n", ret);
CoUninitialize();
}
static void test_dpa_stream(void)
{
HDPA dpa;
HRESULT hRes;
INT ret, i;
BOOL rc;
static const WCHAR szStg[] = { 'S','t','g',0 };
IStorage* pStg = NULL;
IStream* pStm = NULL;
LARGE_INTEGER liZero;
DWORD dwMode, dw;
if(!pDPA_SaveStream)
{
win_skip("DPA_SaveStream() not available. Skipping stream tests.\n");
return;
}
hRes = CoInitialize(NULL);
if (hRes != S_OK)
{
ok(0, "hResult: %d\n", hRes);
return;
}
dpa = pDPA_Create(0);
for (i = 0; i < 6; i++) for (i = 0; i < 6; i++)
{ {
ret = pDPA_InsertPtr(dpa, i, (PVOID)(i+1)); ret = pDPA_InsertPtr(dpa, i, (PVOID)(i+1));
ok(ret == i, "ret=%d\n", ret); ok(ret == i, "ret=%d\n", ret);
} }
dwMode = STGM_DIRECT|STGM_CREATE|STGM_READWRITE|STGM_SHARE_EXCLUSIVE; liZero.QuadPart = 0;
hRes = StgCreateDocfile(NULL, dwMode|STGM_DELETEONRELEASE, 0, &pStg); hRes = IStream_Seek(pStm, liZero, STREAM_SEEK_SET, NULL);
expect(S_OK, hRes);
hRes = IStorage_CreateStream(pStg, szStg, dwMode, 0, 0, &pStm);
expect(S_OK, hRes); expect(S_OK, hRes);
hRes = pDPA_SaveStream(dpa, CB_Save, pStm, (void*)0xdeadbeef); hRes = pDPA_SaveStream(dpa, CB_Save, pStm, (void*)0xdeadbeef);
ok(hRes == S_OK, "hRes=0x%x\n", hRes); expect(S_OK, hRes);
pDPA_Destroy(dpa); pDPA_Destroy(dpa);
liZero.QuadPart = 0; liZero.QuadPart = 0;
@ -786,5 +754,4 @@ START_TEST(dpa)
test_DPA_DestroyCallback(); test_DPA_DestroyCallback();
test_DPA_LoadStream(); test_DPA_LoadStream();
test_DPA_SaveStream(); test_DPA_SaveStream();
test_dpa_stream();
} }