Dmitry Timoshkov : gdiplus/tests: Add some invalid parameter tests for GdipGetRegionData.

Alexandre Julliard julliard at winehq.org
Wed Nov 13 13:34:40 CST 2013


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

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Wed Nov 13 14:00:17 2013 +0900

gdiplus/tests: Add some invalid parameter tests for GdipGetRegionData.

---

 dlls/gdiplus/tests/region.c |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/dlls/gdiplus/tests/region.c b/dlls/gdiplus/tests/region.c
index 23c7a07..8e0dc9f 100644
--- a/dlls/gdiplus/tests/region.c
+++ b/dlls/gdiplus/tests/region.c
@@ -118,14 +118,30 @@ static void test_getregiondata(void)
     GpPath *path;
     GpMatrix *matrix;
 
-    memset(buf, 0xee, sizeof(buf));
-
     status = GdipCreateRegion(&region);
     ok(status == Ok, "status %08x\n", status);
 
+    needed = 0;
     status = GdipGetRegionDataSize(region, &needed);
     ok(status == Ok, "status %08x\n", status);
     expect(20, needed);
+
+    needed = 0;
+    status = GdipGetRegionData(region, (BYTE*)buf, 0, &needed);
+    ok(status == InvalidParameter, "status %08x\n", status);
+
+    memset(buf, 0xee, sizeof(buf));
+    needed = 0;
+    status = GdipGetRegionData(region, (BYTE*)buf, 4, &needed);
+todo_wine
+    ok(status == InsufficientBuffer, "status %08x\n", status);
+todo_wine
+    expect(4, needed);
+todo_wine
+    expect_dword(buf, 0xeeeeeeee);
+
+    memset(buf, 0xee, sizeof(buf));
+    needed = 0;
     status = GdipGetRegionData(region, (BYTE*)buf, sizeof(buf), &needed);
     ok(status == Ok, "status %08x\n", status);
     expect(20, needed);




More information about the wine-cvs mailing list