Module: wine Branch: master Commit: 27480405dafee46da0c86c2919b3fa10cd3c376e URL: http://source.winehq.org/git/wine.git/?a=commit;h=27480405dafee46da0c86c2919...
Author: Vincent Povirk vincent@codeweavers.com Date: Sat Dec 26 19:52:00 2009 -0500
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 024c739..31656e8 100644 --- a/dlls/gdiplus/tests/image.c +++ b/dlls/gdiplus/tests/image.c @@ -804,6 +804,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; @@ -1378,6 +1427,7 @@ START_TEST(image) test_testcontrol(); test_fromhicon(); test_getrawformat(); + test_loadwmf(); test_createhbitmap(); test_getsetpixel(); test_palette();