ole32/tests: Use a separate data source for the file dib to avoid confusion.
Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
5e3cf758d1
commit
ddd1882396
|
@ -199,19 +199,14 @@ static void inline check_expected_method_fmt(const char *method_name, const FORM
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* 2 x 1 x 32 bpp dib. PelsPerMeter = 200x400 */
|
/* 2 x 1 x 32 bpp dib. PelsPerMeter = 200x400 */
|
||||||
static BYTE dib[] =
|
static const BYTE dib[] =
|
||||||
{
|
{
|
||||||
0x42, 0x4d, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
|
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00,
|
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x20, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00,
|
0xc8, 0x00, 0x00, 0x00, 0x90, 0x01, 0x00, 0x00,
|
||||||
0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00,
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00,
|
|
||||||
0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00,
|
|
||||||
|
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
|
|
||||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void create_dib( STGMEDIUM *med )
|
static void create_dib( STGMEDIUM *med )
|
||||||
|
@ -219,9 +214,9 @@ static void create_dib( STGMEDIUM *med )
|
||||||
void *ptr;
|
void *ptr;
|
||||||
|
|
||||||
med->tymed = TYMED_HGLOBAL;
|
med->tymed = TYMED_HGLOBAL;
|
||||||
U(med)->hGlobal = GlobalAlloc( GMEM_MOVEABLE, sizeof(dib) - sizeof(BITMAPFILEHEADER) );
|
U(med)->hGlobal = GlobalAlloc( GMEM_MOVEABLE, sizeof(dib) );
|
||||||
ptr = GlobalLock( U(med)->hGlobal );
|
ptr = GlobalLock( U(med)->hGlobal );
|
||||||
memcpy( ptr, dib + sizeof(BITMAPFILEHEADER), sizeof(dib) - sizeof(BITMAPFILEHEADER) );
|
memcpy( ptr, dib, sizeof(dib) );
|
||||||
GlobalUnlock( U(med)->hGlobal );
|
GlobalUnlock( U(med)->hGlobal );
|
||||||
med->pUnkForRelease = NULL;
|
med->pUnkForRelease = NULL;
|
||||||
}
|
}
|
||||||
|
@ -2038,9 +2033,21 @@ static void test_data_cache(void)
|
||||||
IStorage_Release(pStorage);
|
IStorage_Release(pStorage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static const WCHAR CONTENTS[] = {'C','O','N','T','E','N','T','S',0};
|
static const WCHAR CONTENTS[] = {'C','O','N','T','E','N','T','S',0};
|
||||||
|
|
||||||
|
/* 2 x 1 x 32 bpp dib. PelsPerMeter = 200x400 */
|
||||||
|
static BYTE file_dib[] =
|
||||||
|
{
|
||||||
|
0x42, 0x4d, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x28, 0x00,
|
||||||
|
0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||||
|
0x00, 0x00, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x00,
|
||||||
|
0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff
|
||||||
|
};
|
||||||
|
|
||||||
static IStorage *create_storage( int num )
|
static IStorage *create_storage( int num )
|
||||||
{
|
{
|
||||||
IStorage *stg;
|
IStorage *stg;
|
||||||
|
@ -2056,10 +2063,10 @@ static IStorage *create_storage( int num )
|
||||||
ok( hr == S_OK, "got %08x\n", hr);
|
ok( hr == S_OK, "got %08x\n", hr);
|
||||||
if (num == 1) /* Set biXPelsPerMeter = 0 */
|
if (num == 1) /* Set biXPelsPerMeter = 0 */
|
||||||
{
|
{
|
||||||
dib[0x26] = 0;
|
file_dib[0x26] = 0;
|
||||||
dib[0x27] = 0;
|
file_dib[0x27] = 0;
|
||||||
}
|
}
|
||||||
hr = IStream_Write( stm, dib, sizeof(dib), &written );
|
hr = IStream_Write( stm, file_dib, sizeof(file_dib), &written );
|
||||||
ok( hr == S_OK, "got %08x\n", hr);
|
ok( hr == S_OK, "got %08x\n", hr);
|
||||||
IStream_Release( stm );
|
IStream_Release( stm );
|
||||||
return stg;
|
return stg;
|
||||||
|
@ -2114,7 +2121,7 @@ static void test_data_cache_dib_contents_stream(int num)
|
||||||
"got %lu\n", GlobalSize( U(med).hGlobal ) );
|
"got %lu\n", GlobalSize( U(med).hGlobal ) );
|
||||||
ptr = GlobalLock( U(med).hGlobal );
|
ptr = GlobalLock( U(med).hGlobal );
|
||||||
|
|
||||||
expect_info = *(BITMAPINFOHEADER *)(dib + sizeof(BITMAPFILEHEADER));
|
expect_info = *(BITMAPINFOHEADER *)(file_dib + sizeof(BITMAPFILEHEADER));
|
||||||
if (expect_info.biXPelsPerMeter == 0 || expect_info.biYPelsPerMeter == 0)
|
if (expect_info.biXPelsPerMeter == 0 || expect_info.biYPelsPerMeter == 0)
|
||||||
{
|
{
|
||||||
HDC hdc = GetDC( 0 );
|
HDC hdc = GetDC( 0 );
|
||||||
|
@ -2123,8 +2130,8 @@ static void test_data_cache_dib_contents_stream(int num)
|
||||||
ReleaseDC( 0, hdc );
|
ReleaseDC( 0, hdc );
|
||||||
}
|
}
|
||||||
ok( !memcmp( ptr, &expect_info, sizeof(expect_info) ), "mismatch\n" );
|
ok( !memcmp( ptr, &expect_info, sizeof(expect_info) ), "mismatch\n" );
|
||||||
ok( !memcmp( ptr + sizeof(expect_info), dib + sizeof(BITMAPFILEHEADER) + sizeof(expect_info),
|
ok( !memcmp( ptr + sizeof(expect_info), file_dib + sizeof(BITMAPFILEHEADER) + sizeof(expect_info),
|
||||||
sizeof(dib) - sizeof(BITMAPFILEHEADER) - sizeof(expect_info) ), "mismatch\n" );
|
sizeof(file_dib) - sizeof(BITMAPFILEHEADER) - sizeof(expect_info) ), "mismatch\n" );
|
||||||
GlobalUnlock( U(med).hGlobal );
|
GlobalUnlock( U(med).hGlobal );
|
||||||
ReleaseStgMedium( &med );
|
ReleaseStgMedium( &med );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue