gdiplus/tests: Add a test for image flags to PNG grayscale image tests.

Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Dmitry Timoshkov 2017-08-28 11:30:15 -05:00 committed by Alexandre Julliard
parent 9369e800c0
commit 221c04d0df
1 changed files with 15 additions and 6 deletions

View File

@ -4980,22 +4980,24 @@ static void test_png_color_formats(void)
{
char bit_depth, color_type;
PixelFormat format;
UINT flags;
} td[] =
{
/* 2 - PNG_COLOR_TYPE_RGB */
{ 8, 2, PixelFormat24bppRGB },
{ 8, 2, PixelFormat24bppRGB, ImageFlagsColorSpaceRGB },
/* 0 - PNG_COLOR_TYPE_GRAY */
{ 1, 0, PixelFormat1bppIndexed },
{ 2, 0, PixelFormat32bppARGB },
{ 4, 0, PixelFormat32bppARGB },
{ 8, 0, PixelFormat32bppARGB },
{ 16, 0, PixelFormat32bppARGB },
{ 1, 0, PixelFormat1bppIndexed, ImageFlagsColorSpaceRGB },
{ 2, 0, PixelFormat32bppARGB, ImageFlagsColorSpaceGRAY },
{ 4, 0, PixelFormat32bppARGB, ImageFlagsColorSpaceGRAY },
{ 8, 0, PixelFormat32bppARGB, ImageFlagsColorSpaceGRAY },
{ 16, 0, PixelFormat32bppARGB, ImageFlagsColorSpaceGRAY },
};
BYTE buf[sizeof(png_1x1_data)];
GpStatus status;
GpImage *image;
ImageType type;
PixelFormat format;
UINT flags;
int i;
for (i = 0; i < sizeof(td)/sizeof(td[0]); i++)
@ -5018,6 +5020,13 @@ static void test_png_color_formats(void)
broken(td[i].bit_depth == 1 && td[i].color_type == 0 && format == PixelFormat32bppARGB), /* XP */
"%d: expected %#x, got %#x\n", i, td[i].format, format);
status = GdipGetImageFlags(image, &flags);
expect(Ok, status);
todo_wine_if(td[i].bit_depth > 1 && td[i].color_type == 0)
ok((flags & td[i].flags) == td[i].flags ||
broken(td[i].bit_depth == 1 && td[i].color_type == 0 && (flags & ImageFlagsColorSpaceGRAY)), /* XP */
"%d: expected %#x, got %#x\n", i, td[i].flags, flags);
GdipDisposeImage(image);
}
}