diff --git a/osu.Game.Rulesets.Osu.Tests/Editor/TestSceneSliderControlPointPiece.cs b/osu.Game.Rulesets.Osu.Tests/Editor/TestSceneSliderControlPointPiece.cs index d8618ee289..74d6d23348 100644 --- a/osu.Game.Rulesets.Osu.Tests/Editor/TestSceneSliderControlPointPiece.cs +++ b/osu.Game.Rulesets.Osu.Tests/Editor/TestSceneSliderControlPointPiece.cs @@ -92,6 +92,21 @@ public void TestSelection() assertSelectionCount(1); assertSelected(0); + AddStep("move mouse to new point position", () => + { + Vector2 position = slider.Position + (slider.Path.ControlPoints[2].Position + slider.Path.ControlPoints[3].Position) / 2; + InputManager.MoveMouseTo(drawableObject.Parent.ToScreenSpace(position)); + }); + AddStep("ctrl+click to create new point", () => + { + InputManager.PressKey(Key.ControlLeft); + InputManager.Click(MouseButton.Left); + InputManager.ReleaseKey(Key.ControlLeft); + }); + AddAssert("slider has 6 control points", () => slider.Path.ControlPoints.Count == 6); + assertSelectionCount(1); + assertSelected(3); + void assertSelectionCount(int count) => AddAssert($"{count} control point pieces selected", () => this.ChildrenOfType().Count(piece => piece.IsSelected.Value) == count);