Files
Terminal.Gui/Tests/UnitTestsParallelizable/View/Navigation/NavigationTests.cs
Tig acb5979e6c Cleans up/Refactors View.Subviews (#3962)
* Subview clean up

* New Add/Remove event pattern

* Using Logging

* cleanup

* Subview -> SubView

* Test code cleanup. Killed many warnings.

* Fix tznind feedback

* Refactored AllViewTest helpers

* Moved keyboard tests to parallel

* Moved mouse tests to parallel

* Moved view tests to parallel

* Test code cleanup. Killed many warnings.

* dupe test

* Some mouse tests can't run in parallel because MouseGrabView

* Made SpinnerView more testable

* Moved more tests

* SubViews to IReadOnlyCollection<View>

* SubViews to IReadOnlyCollection<View> 2

* scrollbar tests

* shortcut tests

* Use InternalSubViews vs. _subviews

* Nuked View.IsAdded.
Added View.SuperViewChanged.

* API doc updats

* Unit Test tweak

* Unit Test tweak
2025-03-08 15:42:17 -07:00

67 lines
1.3 KiB
C#

using UnitTests;
using Xunit.Abstractions;
namespace Terminal.Gui.ViewTests;
public class NavigationTests
{
// View.Focused & View.MostFocused tests
// View.Focused - No subviews
[Fact]
public void Focused_NoSubViews ()
{
var view = new View ();
Assert.Null (view.Focused);
view.CanFocus = true;
view.SetFocus ();
}
[Fact]
public void GetMostFocused_NoSubViews_Returns_Null ()
{
var view = new View ();
Assert.Null (view.Focused);
view.CanFocus = true;
Assert.False (view.HasFocus);
view.SetFocus ();
Assert.True (view.HasFocus);
Assert.Null (view.MostFocused);
}
[Fact]
public void GetMostFocused_Returns_Most ()
{
var view = new View
{
Id = "view",
CanFocus = true
};
var subview = new View
{
Id = "subview",
CanFocus = true
};
view.Add (subview);
view.SetFocus ();
Assert.True (view.HasFocus);
Assert.True (subview.HasFocus);
Assert.Equal (subview, view.MostFocused);
var subview2 = new View
{
Id = "subview2",
CanFocus = true
};
view.Add (subview2);
Assert.Equal (subview2, view.MostFocused);
}
}