Browse Source

add a failing unit test to demonstrate the issue.

pull/6213/head
Dan Walmsley 5 years ago
parent
commit
73aaefcc32
  1. 18
      tests/Avalonia.Controls.UnitTests/TextBoxTests.cs

18
tests/Avalonia.Controls.UnitTests/TextBoxTests.cs

@ -8,6 +8,7 @@ using Avalonia.Controls.Templates;
using Avalonia.Data; using Avalonia.Data;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Input.Platform; using Avalonia.Input.Platform;
using Avalonia.Layout;
using Avalonia.Media; using Avalonia.Media;
using Avalonia.Platform; using Avalonia.Platform;
using Avalonia.UnitTests; using Avalonia.UnitTests;
@ -558,7 +559,7 @@ namespace Avalonia.Controls.UnitTests
} }
[Fact] [Fact]
public void Textbox_Cannot_Focus_When_not_Visible() public void Textbox_doesnt_crash_when_Receives_input_and_hidden()
{ {
using (UnitTestApplication.Start(FocusServices)) using (UnitTestApplication.Start(FocusServices))
{ {
@ -566,25 +567,17 @@ namespace Avalonia.Controls.UnitTests
{ {
Template = CreateTemplate(), Template = CreateTemplate(),
Text = "1234", Text = "1234",
IsVisible = true IsVisible = false
}; };
target1.ApplyTemplate();
var root = new TestRoot { Child = target1 }; var root = new TestRoot { Child = target1 };
var gfcount = 0; root.Measure(new Size(1000, 1000));
var lfcount = 0;
target1.GotFocus += (s, e) => gfcount++;
target1.Focus(); target1.Focus();
Assert.True(target1.IsFocused); Assert.True(target1.IsFocused);
RaiseKeyEvent(target1, Key.Up, KeyModifiers.None); RaiseKeyEvent(target1, Key.Up, KeyModifiers.None);
Assert.Equal(1, gfcount);
Assert.Equal(1, lfcount);
} }
} }
@ -794,6 +787,9 @@ namespace Avalonia.Controls.UnitTests
keyboardDevice: () => new KeyboardDevice(), keyboardDevice: () => new KeyboardDevice(),
keyboardNavigation: new KeyboardNavigationHandler(), keyboardNavigation: new KeyboardNavigationHandler(),
inputManager: new InputManager(), inputManager: new InputManager(),
renderInterface: new MockPlatformRenderInterface(),
fontManagerImpl: new MockFontManagerImpl(),
textShaperImpl: new MockTextShaperImpl(),
standardCursorFactory: Mock.Of<ICursorFactory>()); standardCursorFactory: Mock.Of<ICursorFactory>());
private static TestServices Services => TestServices.MockThreadingInterface.With( private static TestServices Services => TestServices.MockThreadingInterface.With(

Loading…
Cancel
Save