Module: wine Branch: master Commit: 6097695d4bec31a2558ff9405cc244cb25e682b5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6097695d4bec31a2558ff9405c...
Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Thu Jan 14 22:36:07 2016 +0100
d3dx9/tests: Add D3DXCreateAnimationController tests.
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/d3dx9_36/tests/mesh.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+)
diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c index 588654d..7c86190 100644 --- a/dlls/d3dx9_36/tests/mesh.c +++ b/dlls/d3dx9_36/tests/mesh.c @@ -11100,6 +11100,66 @@ static void test_compute_normals(void) free_test_context(test_context); }
+static void D3DXCreateAnimationControllerTest(void) +{ + HRESULT hr; + ID3DXAnimationController *animation; + UINT value; + + hr = D3DXCreateAnimationController(0, 0, 0, 0, NULL); + ok(hr == D3D_OK, "Got unexpected hr returned %#x.\n", hr); + + hr = D3DXCreateAnimationController(0, 1, 1, 1, &animation); + ok(hr == D3D_OK, "Got unexpected hr returned %#x.\n", hr); + ok(!animation, "Got unexpected animation %p.\n", animation); + + hr = D3DXCreateAnimationController(1, 0, 1, 1, &animation); + ok(hr == D3D_OK, "Got unexpected hr returned %#x.\n", hr); + ok(!animation, "Got unexpected animation %p.\n", animation); + + hr = D3DXCreateAnimationController(1, 1, 0, 1, &animation); + ok(hr == D3D_OK, "Got unexpected hr returned %#x.\n", hr); + ok(!animation, "Got unexpected animation %p.\n", animation); + + hr = D3DXCreateAnimationController(1, 1, 1, 0, &animation); + ok(hr == D3D_OK, "Got unexpected hr returned %#x.\n", hr); + ok(!animation, "Got unexpected animation %p.\n", animation); + + hr = D3DXCreateAnimationController(1, 1, 1, 1, &animation); + ok(hr == D3D_OK, "Got unexpected hr returned %#x.\n", hr); + + value = animation->lpVtbl->GetMaxNumAnimationOutputs(animation); + ok(value == 1, "Got unexpected value %u.\n", value); + + value = animation->lpVtbl->GetMaxNumAnimationSets(animation); + ok(value == 1, "Got unexpected value %u.\n", value); + + value = animation->lpVtbl->GetMaxNumTracks(animation); + ok(value == 1, "Got unexpected value %u.\n", value); + + value = animation->lpVtbl->GetMaxNumEvents(animation); + ok(value == 1, "Got unexpected value %u.\n", value); + + animation->lpVtbl->Release(animation); + + hr = D3DXCreateAnimationController(100, 101, 102, 103, &animation); + ok(hr == D3D_OK, "Got unexpected hr returned %#x.\n", hr); + + value = animation->lpVtbl->GetMaxNumAnimationOutputs(animation); + ok(value == 100, "Got unexpected value %u.\n", value); + + value = animation->lpVtbl->GetMaxNumAnimationSets(animation); + ok(value == 101, "Got unexpected value %u.\n", value); + + value = animation->lpVtbl->GetMaxNumTracks(animation); + ok(value == 102, "Got unexpected value %u.\n", value); + + value = animation->lpVtbl->GetMaxNumEvents(animation); + ok(value == 103, "Got unexpected value %u.\n", value); + + animation->lpVtbl->Release(animation); +} + START_TEST(mesh) { D3DXBoundProbeTest(); @@ -11116,6 +11176,7 @@ START_TEST(mesh) D3DXCreateCylinderTest(); D3DXCreateTextTest(); D3DXCreateTorusTest(); + D3DXCreateAnimationControllerTest(); test_get_decl_length(); test_get_decl_vertex_size(); test_fvf_decl_conversion();