[PATCH] d2d1/tests: A test to show that DC is validate on BindDC()

Nikolay Sivov nsivov at codeweavers.com
Fri Dec 15 07:05:49 CST 2017


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/d2d1/tests/d2d1.c | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c
index af023a10d8..7de9d4abfe 100644
--- a/dlls/d2d1/tests/d2d1.c
+++ b/dlls/d2d1/tests/d2d1.c
@@ -4848,6 +4848,38 @@ static void test_dc_target(void)
     clr = GetPixel(hdc2, 10, 0);
     ok(clr == 0, "Got color %#x\n", clr);
 
+    /* Invalid DC. */
+    hr = ID2D1DCRenderTarget_BindDC(rt, (HDC)0xdeadbeef, &rect);
+todo_wine
+    ok(hr == E_INVALIDARG, "BindDC() returned %#x.\n", hr);
+
+    ID2D1DCRenderTarget_BeginDraw(rt);
+
+    set_color(&color, 1.0f, 0.0f, 0.0f, 1.0f);
+    ID2D1DCRenderTarget_Clear(rt, &color);
+
+    hr = ID2D1DCRenderTarget_EndDraw(rt, NULL, NULL);
+    ok(SUCCEEDED(hr), "EndDraw() failed, hr %#x.\n", hr);
+
+    clr = GetPixel(hdc2, 0, 0);
+todo_wine
+    ok(clr == RGB(255, 0, 0), "Got color %#x\n", clr);
+
+    hr = ID2D1DCRenderTarget_BindDC(rt, NULL, &rect);
+    ok(hr == E_INVALIDARG, "BindDC() returned %#x.\n", hr);
+
+    ID2D1DCRenderTarget_BeginDraw(rt);
+
+    set_color(&color, 0.0f, 0.0f, 1.0f, 1.0f);
+    ID2D1DCRenderTarget_Clear(rt, &color);
+
+    hr = ID2D1DCRenderTarget_EndDraw(rt, NULL, NULL);
+    ok(SUCCEEDED(hr), "EndDraw() failed, hr %#x.\n", hr);
+
+    clr = GetPixel(hdc2, 0, 0);
+todo_wine
+    ok(clr == RGB(0, 0, 255), "Got color %#x\n", clr);
+
     DeleteDC(hdc);
     DeleteDC(hdc2);
     ID2D1DCRenderTarget_Release(rt);
-- 
2.15.1




More information about the wine-devel mailing list