gdiplus: Add a test for palette associated with black&white TIFF image.

This commit is contained in:
Dmitry Timoshkov 2012-07-12 19:13:15 +09:00 committed by Alexandre Julliard
parent 2b2b850106
commit dfefd3a3b4
1 changed files with 48 additions and 0 deletions

View File

@ -3295,6 +3295,53 @@ static void test_GdipGetAllPropertyItems(void)
GdipDisposeImage(image);
}
static void test_tiff_palette(void)
{
GpStatus status;
GpImage *image;
PixelFormat format;
INT size;
struct
{
ColorPalette pal;
ARGB entry[256];
} palette;
/* 1bpp TIFF without palette */
image = load_image((const BYTE *)&TIFF_data, sizeof(TIFF_data));
ok(image != 0, "Failed to load TIFF image data\n");
if (!image) return;
status = GdipGetImagePixelFormat(image, &format);
expect(Ok, status);
todo_wine
ok(format == PixelFormat1bppIndexed, "expected PixelFormat1bppIndexed, got %#x\n", format);
status = GdipGetImagePaletteSize(image, &size);
ok(status == Ok || broken(status == GenericError), /* XP */
"GdipGetImagePaletteSize error %d\n", status);
if (status == GenericError)
{
GdipDisposeImage(image);
return;
}
todo_wine
expect(sizeof(ColorPalette) + sizeof(ARGB), size);
status = GdipGetImagePalette(image, &palette.pal, size);
expect(Ok, status);
expect(0, palette.pal.Flags);
todo_wine
expect(2, palette.pal.Count);
if (palette.pal.Count == 2)
{
ok(palette.pal.Entries[0] == 0xff000000, "expected 0xff000000, got %#x\n", palette.pal.Entries[0]);
ok(palette.pal.Entries[1] == 0xffffffff, "expected 0xffffffff, got %#x\n", palette.pal.Entries[1]);
}
GdipDisposeImage(image);
}
START_TEST(image)
{
struct GdiplusStartupInput gdiplusStartupInput;
@ -3307,6 +3354,7 @@ START_TEST(image)
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
test_tiff_palette();
test_GdipGetAllPropertyItems();
test_tiff_properties();
test_image_properties();