Vincent Povirk : gdiplus: Add test for size of metafiles loaded from streams.

Alexandre Julliard julliard at winehq.org
Mon Dec 28 09:16:10 CST 2009


Module: wine
Branch: master
Commit: 27480405dafee46da0c86c2919b3fa10cd3c376e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=27480405dafee46da0c86c2919b3fa10cd3c376e

Author: Vincent Povirk <vincent at 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();




More information about the wine-cvs mailing list