[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