Module: wine Branch: master Commit: 754df82101f55348a17a2bdd843fba40f41bcde3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=754df82101f55348a17a2bdd84...
Author: Charles Welton charleswfb@gmail.com Date: Thu Jun 16 17:19:59 2011 -0300
d3dx9/tests: Add tests for ID3DXLine_GetDevice and release methods.
---
dlls/d3dx9_36/tests/line.c | 21 +++++++++++++++++++-- 1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx9_36/tests/line.c b/dlls/d3dx9_36/tests/line.c index 56bc7f6..7523e1f 100644 --- a/dlls/d3dx9_36/tests/line.c +++ b/dlls/d3dx9_36/tests/line.c @@ -23,6 +23,8 @@ static void test_create_line(IDirect3DDevice9* device) { HRESULT hr; LPD3DXLINE line = NULL; + LPDIRECT3DDEVICE9 return_device; + ULONG ref;
hr = D3DXCreateLine(NULL, &line); ok(hr == D3DERR_INVALIDCALL, "Got result %x, expected %x (D3D_INVALIDCALL)\n", hr, D3DERR_INVALIDCALL); @@ -33,8 +35,23 @@ static void test_create_line(IDirect3DDevice9* device) hr = D3DXCreateLine(device, &line); ok(hr == D3D_OK, "Got result %x, expected 0 (D3D_OK)\n", hr);
- if (line) - ID3DXLine_Release(line); + if (FAILED(hr)) + { + return; + } + + hr = ID3DXLine_GetDevice(line, NULL); + ok(hr == D3DERR_INVALIDCALL, "Got result %x, expected %x (D3D_INVALIDCALL)\n", hr, D3DERR_INVALIDCALL); + + hr = ID3DXLine_GetDevice(line, &return_device); + ok(hr == D3D_OK, "Got result %x, expected %x (D3D_OK)\n", hr, D3D_OK); + ok(return_device == device, "Expected line device %p, got %p\n", device, return_device); + + ref = IDirect3DDevice9_Release(return_device); + ok(ref == 2, "Got %x references to device %p, expected 2\n", ref, return_device); + + ref = ID3DXLine_Release(line); + ok(ref == 0, "Got %x references to line %p, expected 0\n", ref, line); }
START_TEST(line)