Allow confirming room password by pressing Enter

This commit is contained in:
Bartłomiej Dach 2021-07-21 00:04:51 +02:00
parent 738d321788
commit db9cf443c7
No known key found for this signature in database
GPG Key ID: BCECCD4FA41F6497
2 changed files with 17 additions and 0 deletions

View File

@ -80,6 +80,22 @@ namespace osu.Game.Tests.Visual.Multiplayer
AddAssert("room join password correct", () => lastJoinedPassword == "password"); AddAssert("room join password correct", () => lastJoinedPassword == "password");
} }
[Test]
public void TestJoinRoomWithPasswordViaKeyboardOnly()
{
DrawableRoom.PasswordEntryPopover passwordEntryPopover = null;
AddStep("add room", () => RoomManager.AddRooms(1, withPassword: true));
AddStep("select room", () => InputManager.Key(Key.Down));
AddStep("attempt join room", () => InputManager.Key(Key.Enter));
AddUntilStep("password prompt appeared", () => (passwordEntryPopover = InputManager.ChildrenOfType<DrawableRoom.PasswordEntryPopover>().FirstOrDefault()) != null);
AddStep("enter password in text box", () => passwordEntryPopover.ChildrenOfType<TextBox>().First().Text = "password");
AddStep("press enter", () => InputManager.Key(Key.Enter));
AddAssert("room join requested", () => lastJoinedRoom == RoomManager.Rooms.First());
AddAssert("room join password correct", () => lastJoinedPassword == "password");
}
private void onRoomJoined(Room room, string password) private void onRoomJoined(Room room, string password)
{ {
lastJoinedRoom = room; lastJoinedRoom = room;

View File

@ -390,6 +390,7 @@ namespace osu.Game.Screens.OnlinePlay.Lounge.Components
base.LoadComplete(); base.LoadComplete();
Schedule(() => GetContainingInputManager().ChangeFocus(passwordTextbox)); Schedule(() => GetContainingInputManager().ChangeFocus(passwordTextbox));
passwordTextbox.OnCommit += (_, __) => JoinRequested?.Invoke(room, passwordTextbox.Text);
} }
} }
} }