xinput1_3/tests: Add interactive tests.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Bruno Jesus 2016-12-13 23:21:59 -02:00 committed by Alexandre Julliard
parent 101edb1f6d
commit 6b88529b3c
1 changed files with 26 additions and 2 deletions

View File

@ -96,8 +96,7 @@ static void test_get_state(void)
XINPUT_STATE state;
XINPUT_STATE_EX state_ex;
} xinput;
DWORD controllerNum, i;
DWORD result;
DWORD controllerNum, i, result, good = XUSER_MAX_COUNT;
for (i = 0; i < (pXInputGetStateEx ? 2 : 1); i++)
{
@ -120,7 +119,10 @@ static void test_get_state(void)
trace("-- Results for controller %d --\n", controllerNum);
if (i == 0)
{
good = controllerNum;
trace("XInputGetState: %d\n", result);
}
else
trace("XInputGetStateEx: %d\n", result);
trace("State->dwPacketNumber: %d\n", xinput.state.dwPacketNumber);
@ -141,6 +143,28 @@ static void test_get_state(void)
result = pXInputGetStateEx(XUSER_MAX_COUNT+1, &xinput.state_ex);
ok(result == ERROR_BAD_ARGUMENTS, "XInputGetState returned (%d)\n", result);
}
if (winetest_interactive && good < XUSER_MAX_COUNT)
{
DWORD now = GetTickCount(), packet = 0;
XINPUT_GAMEPAD *game = &xinput.state.Gamepad;
trace("You have 20 seconds to test the joystick freely\n");
do
{
Sleep(100);
pXInputGetState(good, &xinput.state);
if (xinput.state.dwPacketNumber == packet)
continue;
packet = xinput.state.dwPacketNumber;
trace("Buttons 0x%04X Triggers %3d/%3d LT %6d/%6d RT %6d/%6d\n",
game->wButtons, game->bLeftTrigger, game->bRightTrigger,
game->sThumbLX, game->sThumbLY, game->sThumbRX, game->sThumbRY);
}
while(GetTickCount() - now < 20000);
trace("Test over...\n");
}
}
static void test_get_keystroke(void)