Skip to content

Commit 131c2bd

Browse files
committed
Update UI tests to support multiple gamepad layouts and improve action handling
1 parent 4d1f929 commit 131c2bd

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

Assets/Tests/InputSystem/Plugins/UITests.cs

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2871,26 +2871,27 @@ public IEnumerator UI_CanOperateMultiplayerUILocallyUsingGamepads()
28712871

28722872
[UnityTest]
28732873
[Category("UI")]
2874-
public IEnumerator UI_CanDriveUIFromGamepad()
2874+
2875+
[TestCase("Gamepad", ExpectedResult = 1)]
2876+
[TestCase("WebGLGamepad", ExpectedResult = 1)]
2877+
public IEnumerator UI_CanDriveUIFromGamepad(string deviceLayout)
28752878
{
2876-
var gamepad = InputSystem.AddDevice<Gamepad>();
2879+
var gamepad = (Gamepad)InputSystem.AddDevice(deviceLayout);
28772880

28782881
var scene = CreateTestUI();
28792882

2880-
var asset = ScriptableObject.CreateInstance<InputActionAsset>();
2881-
var map = asset.AddActionMap("map");
2882-
var moveAction = map.AddAction("move", type: InputActionType.PassThrough, binding: "<Gamepad>/*stick");
2883-
var submitAction = map.AddAction("submit", type: InputActionType.PassThrough, binding: "<Gamepad>/buttonSouth");
2884-
var cancelAction = map.AddAction("cancel", type: InputActionType.PassThrough, binding: "<Gamepad>/buttonEast");
2883+
var actions = new DefaultInputActions();
28852884

2886-
scene.uiModule.move = InputActionReference.Create(moveAction);
2887-
scene.uiModule.submit = InputActionReference.Create(submitAction);
2888-
scene.uiModule.cancel = InputActionReference.Create(cancelAction);
2885+
scene.uiModule.move = InputActionReference.Create(actions.UI.Navigate);
2886+
scene.uiModule.submit = InputActionReference.Create(actions.UI.Submit);
2887+
scene.uiModule.cancel = InputActionReference.Create(actions.UI.Cancel);
28892888

28902889
scene.uiModule.moveRepeatDelay = 0.1f;
28912890
scene.uiModule.moveRepeatRate = 0.1f;
28922891

2893-
map.Enable();
2892+
actions.Enable();
2893+
Assert.That(actions.UI.enabled, Is.True);
2894+
Assert.That(actions.Player.enabled, Is.True);
28942895

28952896
yield return null;
28962897

@@ -2913,7 +2914,7 @@ public IEnumerator UI_CanDriveUIFromGamepad()
29132914
OneEvent("type", EventType.Move),
29142915
OneEvent("device", gamepad),
29152916
OneEvent("moveDir", MoveDirection.Right),
2916-
OneEvent("moveVector", gamepad.leftStick.ReadValue())));
2917+
OneEvent("moveVector", new Vector2(1.0f, 0.0f))));
29172918
Assert.That(scene.rightChildReceiver.events, Is.Empty);
29182919

29192920
#if UNITY_INPUT_SYSTEM_INPUT_MODULE_NAVIGATION_DEVICE_TYPE
@@ -2932,7 +2933,7 @@ public IEnumerator UI_CanDriveUIFromGamepad()
29322933
OneEvent("type", EventType.Move),
29332934
OneEvent("device", gamepad),
29342935
OneEvent("moveDir", MoveDirection.Left),
2935-
OneEvent("moveVector", gamepad.leftStick.ReadValue())));
2936+
OneEvent("moveVector", new Vector2(-1.0f, 0.0f))));
29362937
Assert.That(scene.rightChildReceiver.events, Is.Empty);
29372938

29382939
scene.leftChildReceiver.events.Clear();
@@ -2946,7 +2947,7 @@ public IEnumerator UI_CanDriveUIFromGamepad()
29462947
OneEvent("type", EventType.Move),
29472948
OneEvent("device", gamepad),
29482949
OneEvent("moveDir", MoveDirection.Up),
2949-
OneEvent("moveVector", gamepad.leftStick.ReadValue())));
2950+
OneEvent("moveVector", new Vector2(0.0f, 1.0f))));
29502951
Assert.That(scene.rightChildReceiver.events, Is.Empty);
29512952

29522953
scene.leftChildReceiver.events.Clear();
@@ -2960,7 +2961,7 @@ public IEnumerator UI_CanDriveUIFromGamepad()
29602961
OneEvent("type", EventType.Move),
29612962
OneEvent("device", gamepad),
29622963
OneEvent("moveDir", MoveDirection.Down),
2963-
OneEvent("moveVector", gamepad.leftStick.ReadValue())));
2964+
OneEvent("moveVector", new Vector2(0.0f, -1.0f))));
29642965
Assert.That(scene.rightChildReceiver.events, Is.Empty);
29652966

29662967
scene.leftChildReceiver.events.Clear();
@@ -2975,7 +2976,7 @@ public IEnumerator UI_CanDriveUIFromGamepad()
29752976
OneEvent("type", EventType.Move),
29762977
OneEvent("device", gamepad),
29772978
OneEvent("moveDir", MoveDirection.Down),
2978-
OneEvent("moveVector", gamepad.leftStick.ReadValue())));
2979+
OneEvent("moveVector", new Vector2(0.0f, -1.0f))));
29792980

29802981
scene.leftChildReceiver.events.Clear();
29812982

@@ -2989,7 +2990,7 @@ public IEnumerator UI_CanDriveUIFromGamepad()
29892990
OneEvent("type", EventType.Move),
29902991
OneEvent("device", gamepad),
29912992
OneEvent("moveDir", MoveDirection.Down),
2992-
OneEvent("moveVector", gamepad.leftStick.ReadValue())));
2993+
OneEvent("moveVector", new Vector2(0.0f, -1.0f))));
29932994

29942995
scene.leftChildReceiver.events.Clear();
29952996

@@ -3031,6 +3032,10 @@ public IEnumerator UI_CanDriveUIFromGamepad()
30313032

30323033
Assert.That(scene.leftChildReceiver.events, Is.Empty);
30333034
Assert.That(scene.rightChildReceiver.events, Is.Empty);
3035+
3036+
actions.Disable();
3037+
Assert.That(actions.UI.enabled, Is.False);
3038+
Assert.That(actions.Player.enabled, Is.False);
30343039
}
30353040

30363041
[Test]

0 commit comments

Comments
 (0)