From b907de9ce416481ebda9b8e7fa0f65d4fe0747ce Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Sat, 26 Dec 2009 19:52:00 -0500 Subject: [PATCH 2/7] gdiplus: Add test for size of metafiles loaded from streams. --- dlls/gdiplus/tests/image.c | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 deletions(-) diff --git a/dlls/gdiplus/tests/image.c b/dlls/gdiplus/tests/image.c index 7d18530..4c17155 100644 --- a/dlls/gdiplus/tests/image.c +++ b/dlls/gdiplus/tests/image.c @@ -798,6 +798,55 @@ static void test_getrawformat(void) test_bufferrawformat((void*)wmfimage, sizeof(wmfimage), &ImageFormatWMF, __LINE__, FALSE); } +static void test_loadwmf(void) +{ + LPSTREAM stream; + HGLOBAL hglob; + LPBYTE data; + HRESULT hres; + GpStatus stat; + GpImage *img; + GpRectF bounds; + GpUnit unit; + REAL res = 12345.0; + + hglob = GlobalAlloc (0, sizeof(wmfimage)); + data = GlobalLock (hglob); + memcpy(data, wmfimage, sizeof(wmfimage)); + GlobalUnlock(hglob); data = NULL; + + hres = CreateStreamOnHGlobal(hglob, TRUE, &stream); + ok(hres == S_OK, "Failed to create a stream\n"); + if(hres != S_OK) return; + + stat = GdipLoadImageFromStream(stream, &img); + ok(stat == Ok, "Failed to create a Bitmap\n"); + if(stat != Ok){ + IStream_Release(stream); + return; + } + + IStream_Release(stream); + + stat = GdipGetImageBounds(img, &bounds, &unit); + expect(Ok, stat); + todo_wine expect(UnitPixel, unit); + expectf(0.0, bounds.X); + expectf(0.0, bounds.Y); + todo_wine expectf(320.0, bounds.Width); + todo_wine expectf(320.0, bounds.Height); + + stat = GdipGetImageHorizontalResolution(img, &res); + todo_wine expect(Ok, stat); + todo_wine expectf(1440.0, res); + + stat = GdipGetImageVerticalResolution(img, &res); + todo_wine expect(Ok, stat); + todo_wine expectf(1440.0, res); + + GdipDisposeImage(img); +} + static void test_createhbitmap(void) { GpStatus stat; @@ -1236,6 +1285,7 @@ START_TEST(image) test_testcontrol(); test_fromhicon(); test_getrawformat(); + test_loadwmf(); test_createhbitmap(); test_getsetpixel(); test_palette(); -- 1.6.3.3