[PATCH 3/3] d3drm/tests: Add tests for IDirect3DRMViewport*::Init. (v2)

Aaryaman Vasishta jem456.vasishta at gmail.com
Sun Jun 5 14:48:27 CDT 2016


v2: Indentation.

Signed-off-by: Aaryaman Vasishta <jem456.vasishta at gmail.com>
---
 dlls/d3drm/tests/d3drm.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)

diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index 1a3a153..647c8dd 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -1671,6 +1671,95 @@ static void test_Viewport(void)
     IDirect3DRMViewport2_Release(viewport2);
     IDirect3DRMViewport_Release(viewport);
 
+    /* IDirect3DRMViewport*::Init tests */
+    ref1 = get_refcount((IUnknown *)d3drm1);
+    ref2 = get_refcount((IUnknown *)d3drm2);
+    ref3 = get_refcount((IUnknown *)d3drm3);
+    hr = IDirect3DRM_CreateObject(d3drm1, &CLSID_CDirect3DRMViewport, NULL, &IID_IDirect3DRMViewport,
+            (void **)&viewport);
+    todo_wine ok(SUCCEEDED(hr), "Cannot get IDirect3DRMViewport interface (hr = %#x).\n", hr);
+    ref4 = get_refcount((IUnknown *)d3drm1);
+    ok(ref4 == ref1, "Expected ref4 == ref1, got ref1 = %u, ref4 = %u.\n", ref1, ref4);
+    ref4 = get_refcount((IUnknown *)d3drm2);
+    ok(ref4 == ref2, "Expected ref4 == ref2, got ref2 = %u, ref4 = %u.\n", ref2, ref4);
+    ref4 = get_refcount((IUnknown *)d3drm3);
+    ok(ref4 == ref3, "Expected ref4 == ref3, got ref3 = %u, ref4 = %u.\n", ref3, ref4);
+
+    if (SUCCEEDED(hr))
+    {
+        hr = IDirect3DRMViewport_Init(viewport, NULL, frame, rc.left, rc.top, rc.right, rc.bottom);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport_Init(viewport, device1, NULL, rc.left, rc.top, rc.right, rc.bottom);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport_Init(viewport, device1, frame, -1, 0, 0, 0);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport_Init(viewport, device1, frame, 0, -1, 0, 0);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport_Init(viewport, device1, frame, 0, 0, -1, 0);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport_Init(viewport, device1, frame, 0, 0, 0, -1);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+
+        hr = IDirect3DRMViewport_Init(viewport, device1, frame, rc.left, rc.top, rc.right, rc.bottom);
+        ok(SUCCEEDED(hr), "Cannot initialize IDirect3DRMViewport interface (hr = %#x).\n", hr);
+        ref4 = get_refcount((IUnknown *)d3drm1);
+        ok(ref4 > ref1, "Expected ref4 > ref1, got ref1 = %u, ref4 = %u.\n", ref1, ref4);
+        ref4 = get_refcount((IUnknown *)d3drm2);
+        ok(ref4 == ref2, "Expected ref4 == ref2, got ref2 = %u, ref4 = %u.\n", ref2, ref4);
+        ref4 = get_refcount((IUnknown *)d3drm3);
+        ok(ref4 == ref3, "Expected ref4 == ref3, got ref3 = %u, ref4 = %u.\n", ref3, ref4);
+
+        hr = IDirect3DRMViewport_Init(viewport, device1, frame, rc.left, rc.top, rc.right, rc.bottom);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+
+        IDirect3DRMViewport_Release(viewport);
+        ref4 = get_refcount((IUnknown *)d3drm1);
+        ok(ref4 > ref1, "Expected ref4 > ref1, got ref1 = %u, ref4 = %u.\n", ref1, ref4);
+        ref4 = get_refcount((IUnknown *)d3drm2);
+        ok(ref4 == ref2, "Expected ref4 == ref2, got ref2 = %u, ref4 = %u.\n", ref2, ref4);
+        ref4 = get_refcount((IUnknown *)d3drm3);
+        ok(ref4 == ref3, "Expected ref4 == ref3, got ref3 = %u, ref4 = %u.\n", ref3, ref4);
+
+        ref1 = get_refcount((IUnknown *)d3drm1);
+        ref2 = get_refcount((IUnknown *)d3drm2);
+        ref3 = get_refcount((IUnknown *)d3drm3);
+        hr = IDirect3DRM3_CreateObject(d3drm2, &CLSID_CDirect3DRMViewport, NULL, &IID_IDirect3DRMViewport2,
+                (void **)&viewport2);
+        ok(SUCCEEDED(hr), "Cannot get IDirect3DRMViewport2 interface (hr = %#x).\n", hr);
+        ref4 = get_refcount((IUnknown *)d3drm1);
+        ok(ref4 == ref1, "Expected ref4 == ref1, got ref1 = %u, ref4 = %u.\n", ref1, ref4);
+        ref4 = get_refcount((IUnknown *)d3drm2);
+        ok(ref4 == ref2, "Expected ref4 == ref2, got ref2 = %u, ref4 = %u.\n", ref2, ref4);
+        ref4 = get_refcount((IUnknown *)d3drm3);
+        ok(ref4 == ref3, "Expected ref4 == ref3, got ref3 = %u, ref4 = %u.\n", ref3, ref4);
+
+        hr = IDirect3DRMViewport2_Init(viewport2, NULL, frame3, rc.left, rc.top, rc.right, rc.bottom);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport2_Init(viewport2, device3, NULL, rc.left, rc.top, rc.right, rc.bottom);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport2_Init(viewport2, device3, frame3, -1, 0, 0, 0);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport2_Init(viewport2, device3, frame3, 0, -1, 0, 0);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport2_Init(viewport2, device3, frame3, 0, 0, -1, 0);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+        hr = IDirect3DRMViewport2_Init(viewport2, device3, frame3, 0, 0, 0, -1);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+
+        hr = IDirect3DRMViewport2_Init(viewport2, device3, frame3, rc.left, rc.top, rc.right, rc.bottom);
+        ok(SUCCEEDED(hr), "Cannot initialize IDirect3DRMViewport2 interface (hr = %#x).\n", hr);
+        hr = IDirect3DRMViewport2_Init(viewport2, device3, frame3, rc.left, rc.top, rc.right, rc.bottom);
+        ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+
+        IDirect3DRMViewport2_Release(viewport2);
+        ref4 = get_refcount((IUnknown *)d3drm1);
+        ok(ref4 > ref1, "Expected ref4 > ref1, got ref1 = %u, ref4 = %u.\n", ref1, ref4);
+        ref4 = get_refcount((IUnknown *)d3drm2);
+        ok(ref4 == ref2, "Expected ref4 == ref2, got ref2 = %u, ref4 = %u.\n", ref2, ref4);
+        ref4 = get_refcount((IUnknown *)d3drm3);
+        ok(ref4 == ref3, "Expected ref4 == ref3, got ref3 = %u, ref4 = %u.\n", ref3, ref4);
+    }
+
     IDirect3DRMDevice3_Release(device3);
     IDirect3DRMDevice_Release(device1);
     ref4 = get_refcount((IUnknown *)d3drm1);
-- 
2.3.2 (Apple Git-55)




More information about the wine-patches mailing list