7 changed files with 84 additions and 9 deletions
@ -0,0 +1,49 @@ |
|||
// Copyright (c) The Perspex Project. All rights reserved.
|
|||
// Licensed under the MIT license. See licence.md file in the project root for full license information.
|
|||
|
|||
using Perspex.Controls; |
|||
using Perspex.UnitTests; |
|||
using Xunit; |
|||
|
|||
namespace Perspex.Input.UnitTests |
|||
{ |
|||
public class InputElement_Focus |
|||
{ |
|||
[Fact] |
|||
public void Focus_Should_Set_FocusManager_Current() |
|||
{ |
|||
Button target; |
|||
|
|||
using (UnitTestApplication.Start(TestServices.RealFocus)) |
|||
{ |
|||
var root = new TestRoot |
|||
{ |
|||
Child = target = new Button() |
|||
}; |
|||
|
|||
target.Focus(); |
|||
|
|||
Assert.Same(target, FocusManager.Instance.Current); |
|||
} |
|||
} |
|||
|
|||
[Fact] |
|||
public void Focus_Should_Be_Cleared_When_Control_Is_Removed_From_VisualTree() |
|||
{ |
|||
Button target; |
|||
|
|||
using (UnitTestApplication.Start(TestServices.RealFocus)) |
|||
{ |
|||
var root = new TestRoot |
|||
{ |
|||
Child = target = new Button() |
|||
}; |
|||
|
|||
target.Focus(); |
|||
root.Child = null; |
|||
|
|||
Assert.Null(FocusManager.Instance.Current); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue