Bruno Jesus : xinput1_3/tests: Improve vibration tests.
Alexandre Julliard
julliard at winehq.org
Fri Dec 9 13:37:33 CST 2016
Module: wine
Branch: master
Commit: 4989d8727f91c6b730c8be94fc5341d198c179cf
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4989d8727f91c6b730c8be94fc5341d198c179cf
Author: Bruno Jesus <00cpxxx at gmail.com>
Date: Fri Dec 9 05:26:08 2016 -0200
xinput1_3/tests: Improve vibration tests.
Specially the part to disable the vibration after the test. Manually
tested on Windows 8.
Signed-off-by: Bruno Jesus <00cpxxx at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/xinput1_3/tests/xinput.c | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/dlls/xinput1_3/tests/xinput.c b/dlls/xinput1_3/tests/xinput.c
index eb0bab3..0deab26 100644
--- a/dlls/xinput1_3/tests/xinput.c
+++ b/dlls/xinput1_3/tests/xinput.c
@@ -54,22 +54,35 @@ static void test_set_state(void)
{
ZeroMemory(&vibrator, sizeof(XINPUT_VIBRATION));
+ vibrator.wLeftMotorSpeed = 32767;
+ vibrator.wRightMotorSpeed = 32767;
+ result = pXInputSetState(controllerNum, &vibrator);
+ if (result == ERROR_DEVICE_NOT_CONNECTED) continue;
+
+ Sleep(250);
vibrator.wLeftMotorSpeed = 0;
vibrator.wRightMotorSpeed = 0;
result = pXInputSetState(controllerNum, &vibrator);
- ok(result == ERROR_SUCCESS || result == ERROR_DEVICE_NOT_CONNECTED, "XInputSetState failed with (%d)\n", result);
+ ok(result == ERROR_SUCCESS, "XInputSetState failed with (%d)\n", result);
/* Disabling XInput here, queueing a vibration and then re-enabling XInput
* is used to prove that vibrations are auto enabled when resuming XInput.
- * If XInputEnable is removed the vibration will never play. */
+ * If XInputEnable(1) is removed below the vibration will never play. */
if (pXInputEnable) pXInputEnable(0);
+ Sleep(250);
vibrator.wLeftMotorSpeed = 65535;
vibrator.wRightMotorSpeed = 65535;
result = pXInputSetState(controllerNum, &vibrator);
- ok(result == ERROR_SUCCESS || result == ERROR_DEVICE_NOT_CONNECTED, "XInputSetState failed with (%d)\n", result);
+ ok(result == ERROR_SUCCESS, "XInputSetState failed with (%d)\n", result);
if (pXInputEnable) pXInputEnable(1);
+ Sleep(250);
+
+ vibrator.wLeftMotorSpeed = 0;
+ vibrator.wRightMotorSpeed = 0;
+ result = pXInputSetState(controllerNum, &vibrator);
+ ok(result == ERROR_SUCCESS, "XInputSetState failed with (%d)\n", result);
}
result = pXInputSetState(XUSER_MAX_COUNT+1, &vibrator);
More information about the wine-cvs
mailing list