From: Arkadiusz Hiler ahiler@codeweavers.com
Everything but dwFlags which still has some pending TODOs. --- dlls/dinput/tests/joystick8.c | 116 ++++++++-------------------------- 1 file changed, 26 insertions(+), 90 deletions(-)
diff --git a/dlls/dinput/tests/joystick8.c b/dlls/dinput/tests/joystick8.c index 95c78aa5563..0e1985f98a8 100644 --- a/dlls/dinput/tests/joystick8.c +++ b/dlls/dinput/tests/joystick8.c @@ -3074,122 +3074,58 @@ static void test_many_axes_joystick(void) hr = IDirectInputDevice8_SetDataFormat( device, &c_dfDIJoystick2 ); ok( hr == DI_OK, "SetDataFormat returned: %#lx\n", hr );
+ #define check_object_inst( actual, expected) \ + { \ + check_member( (actual), (expected), "%lu", dwSize ); \ + check_member_guid( (actual), (expected), guidType ); \ + check_member( (actual), (expected), "%#lx", dwOfs ); \ + check_member( (actual), (expected), "%#lx", dwType ); \ + if (!localized) check_member_wstr( (actual), (expected), tszName ); \ + check_member( (actual), (expected), "%lu", dwFFMaxForce ); \ + check_member( (actual), (expected), "%lu", dwFFForceResolution ); \ + check_member( (actual), (expected), "%u", wCollectionNumber ); \ + check_member( (actual), (expected), "%u", wDesignatorIndex ); \ + check_member( (actual), (expected), "%#04x", wUsagePage ); \ + check_member( (actual), (expected), "%#04x", wUsage ); \ + check_member( (actual), (expected), "%#lx", dwDimension ); \ + check_member( (actual), (expected), "%#04x", wExponent ); \ + check_member( (actual), (expected), "%u", wReportId ); \ + } + hr = IDirectInputDevice8_GetObjectInfo( device, &objinst, DIJOFS_RZ, DIPH_BYOFFSET ); ok( hr == DI_OK, "GetObjectInfo returned: %#lx\n", hr ); - - check_member( objinst, expect_objects[5], "%lu", dwSize ); - check_member_guid( objinst, expect_objects[5], guidType ); - check_member( objinst, expect_objects[5], "%#lx", dwOfs ); - check_member( objinst, expect_objects[5], "%#lx", dwType ); + check_object_inst( objinst, expect_objects[5] ); check_member( objinst, expect_objects[5], "%#lx", dwFlags ); - if (!localized) check_member_wstr( objinst, expect_objects[5], tszName ); - check_member( objinst, expect_objects[5], "%lu", dwFFMaxForce ); - check_member( objinst, expect_objects[5], "%lu", dwFFForceResolution ); - check_member( objinst, expect_objects[5], "%u", wCollectionNumber ); - check_member( objinst, expect_objects[5], "%u", wDesignatorIndex ); - check_member( objinst, expect_objects[5], "%#04x", wUsagePage ); - check_member( objinst, expect_objects[5], "%#04x", wUsage ); - check_member( objinst, expect_objects[5], "%#lx", dwDimension ); - check_member( objinst, expect_objects[5], "%#04x", wExponent ); - check_member( objinst, expect_objects[5], "%u", wReportId );
hr = IDirectInputDevice8_GetObjectInfo( device, &objinst, offsetof(DIJOYSTATE2, rglSlider[0]), DIPH_BYOFFSET ); ok( hr == DI_OK, "GetObjectInfo returned: %#lx\n", hr ); - - check_member( objinst, expect_objects[6], "%lu", dwSize ); - check_member_guid( objinst, expect_objects[6], guidType ); - check_member( objinst, expect_objects[6], "%#lx", dwOfs ); - check_member( objinst, expect_objects[6], "%#lx", dwType ); + check_object_inst( objinst, expect_objects[6] ); check_member( objinst, expect_objects[6], "%#lx", dwFlags ); - if (!localized) check_member_wstr( objinst, expect_objects[6], tszName ); - check_member( objinst, expect_objects[6], "%lu", dwFFMaxForce ); - check_member( objinst, expect_objects[6], "%lu", dwFFForceResolution ); - check_member( objinst, expect_objects[6], "%u", wCollectionNumber ); - check_member( objinst, expect_objects[6], "%u", wDesignatorIndex ); - check_member( objinst, expect_objects[6], "%#04x", wUsagePage ); - check_member( objinst, expect_objects[6], "%#04x", wUsage ); - check_member( objinst, expect_objects[6], "%#lx", dwDimension ); - check_member( objinst, expect_objects[6], "%#04x", wExponent ); - check_member( objinst, expect_objects[6], "%u", wReportId );
hr = IDirectInputDevice8_GetObjectInfo( device, &objinst, offsetof(DIJOYSTATE2, rglSlider[1]), DIPH_BYOFFSET ); ok( hr == DI_OK, "GetObjectInfo returned: %#lx\n", hr ); - - check_member( objinst, expect_objects[8], "%lu", dwSize ); - check_member_guid( objinst, expect_objects[8], guidType ); - check_member( objinst, expect_objects[8], "%#lx", dwOfs ); - check_member( objinst, expect_objects[8], "%#lx", dwType ); + check_object_inst( objinst, expect_objects[8] ); check_member( objinst, expect_objects[8], "%#lx", dwFlags ); - if (!localized) check_member_wstr( objinst, expect_objects[8], tszName ); - check_member( objinst, expect_objects[8], "%lu", dwFFMaxForce ); - check_member( objinst, expect_objects[8], "%lu", dwFFForceResolution ); - check_member( objinst, expect_objects[8], "%u", wCollectionNumber ); - check_member( objinst, expect_objects[8], "%u", wDesignatorIndex ); - check_member( objinst, expect_objects[8], "%#04x", wUsagePage ); - check_member( objinst, expect_objects[8], "%#04x", wUsage ); - check_member( objinst, expect_objects[8], "%#lx", dwDimension ); - check_member( objinst, expect_objects[8], "%#04x", wExponent ); - check_member( objinst, expect_objects[8], "%u", wReportId );
hr = IDirectInputDevice8_GetObjectInfo( device, &objinst, offsetof(DIJOYSTATE2, lVX), DIPH_BYOFFSET ); ok( hr == DI_OK, "GetObjectInfo returned: %#lx\n", hr ); - - check_member( objinst, expect_objects[10], "%lu", dwSize ); - check_member_guid( objinst, expect_objects[10], guidType ); - check_member( objinst, expect_objects[10], "%#lx", dwOfs ); - check_member( objinst, expect_objects[10], "%#lx", dwType ); + check_object_inst( objinst, expect_objects[10] ); todo_wine check_member( objinst, expect_objects[10], "%#lx", dwFlags ); - if (!localized) check_member_wstr( objinst, expect_objects[10], tszName ); - check_member( objinst, expect_objects[10], "%lu", dwFFMaxForce ); - check_member( objinst, expect_objects[10], "%lu", dwFFForceResolution ); - check_member( objinst, expect_objects[10], "%u", wCollectionNumber ); - check_member( objinst, expect_objects[10], "%u", wDesignatorIndex ); - check_member( objinst, expect_objects[10], "%#04x", wUsagePage ); - check_member( objinst, expect_objects[10], "%#04x", wUsage ); - check_member( objinst, expect_objects[10], "%#lx", dwDimension ); - check_member( objinst, expect_objects[10], "%#04x", wExponent ); - check_member( objinst, expect_objects[10], "%u", wReportId );
hr = IDirectInputDevice8_GetObjectInfo( device, &objinst, offsetof(DIJOYSTATE2, lAX), DIPH_BYOFFSET ); ok( hr == DI_OK, "GetObjectInfo returned: %#lx\n", hr ); - - check_member( objinst, expect_objects[13], "%lu", dwSize ); - check_member_guid( objinst, expect_objects[13], guidType ); - check_member( objinst, expect_objects[13], "%#lx", dwOfs ); - check_member( objinst, expect_objects[13], "%#lx", dwType ); + check_object_inst( objinst, expect_objects[13] ); todo_wine check_member( objinst, expect_objects[13], "%#lx", dwFlags ); - if (!localized) check_member_wstr( objinst, expect_objects[13], tszName ); - check_member( objinst, expect_objects[13], "%lu", dwFFMaxForce ); - check_member( objinst, expect_objects[13], "%lu", dwFFForceResolution ); - check_member( objinst, expect_objects[13], "%u", wCollectionNumber ); - check_member( objinst, expect_objects[13], "%u", wDesignatorIndex ); - check_member( objinst, expect_objects[13], "%#04x", wUsagePage ); - check_member( objinst, expect_objects[13], "%#04x", wUsage ); - check_member( objinst, expect_objects[13], "%#lx", dwDimension ); - check_member( objinst, expect_objects[13], "%#04x", wExponent ); - check_member( objinst, expect_objects[13], "%u", wReportId );
hr = IDirectInputDevice8_GetObjectInfo( device, &objinst, offsetof(DIJOYSTATE2, lFX), DIPH_BYOFFSET ); ok( hr == DI_OK, "GetObjectInfo returned: %#lx\n", hr ); - - check_member( objinst, expect_objects[16], "%lu", dwSize ); - check_member_guid( objinst, expect_objects[16], guidType ); - check_member( objinst, expect_objects[16], "%#lx", dwOfs ); - check_member( objinst, expect_objects[16], "%#lx", dwType ); + check_object_inst( objinst, expect_objects[16] ); todo_wine check_member( objinst, expect_objects[16], "%#lx", dwFlags ); - if (!localized) check_member_wstr( objinst, expect_objects[16], tszName ); - check_member( objinst, expect_objects[16], "%lu", dwFFMaxForce ); - check_member( objinst, expect_objects[16], "%lu", dwFFForceResolution ); - check_member( objinst, expect_objects[16], "%u", wCollectionNumber ); - check_member( objinst, expect_objects[16], "%u", wDesignatorIndex ); - check_member( objinst, expect_objects[16], "%#04x", wUsagePage ); - check_member( objinst, expect_objects[16], "%#04x", wUsage ); - check_member( objinst, expect_objects[16], "%#lx", dwDimension ); - check_member( objinst, expect_objects[16], "%#04x", wExponent ); - check_member( objinst, expect_objects[16], "%u", wReportId ); + + #undef check_object_inst
ref = IDirectInputDevice8_Release( device ); ok( ref == 0, "Release returned %ld\n", ref );