[1/4] gdiplus/tests: Add some invalid parameter tests for GdipGetRegionData.

Dmitry Timoshkov dmitry at baikal.ru
Tue Nov 12 23:00:17 CST 2013


---
 dlls/gdiplus/tests/region.c | 20 ++++++++++++++++++--
 1 file 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);
-- 
1.8.4.2




More information about the wine-patches mailing list