NavigationTests.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using UnitTests;
  2. using Xunit.Abstractions;
  3. namespace Terminal.Gui.ViewTests;
  4. public class NavigationTests
  5. {
  6. // View.Focused & View.MostFocused tests
  7. // View.Focused - No subviews
  8. [Fact]
  9. public void Focused_NoSubViews ()
  10. {
  11. var view = new View ();
  12. Assert.Null (view.Focused);
  13. view.CanFocus = true;
  14. view.SetFocus ();
  15. }
  16. [Fact]
  17. public void GetMostFocused_NoSubViews_Returns_Null ()
  18. {
  19. var view = new View ();
  20. Assert.Null (view.Focused);
  21. view.CanFocus = true;
  22. Assert.False (view.HasFocus);
  23. view.SetFocus ();
  24. Assert.True (view.HasFocus);
  25. Assert.Null (view.MostFocused);
  26. }
  27. [Fact]
  28. public void GetMostFocused_Returns_Most ()
  29. {
  30. var view = new View
  31. {
  32. Id = "view",
  33. CanFocus = true
  34. };
  35. var subview = new View
  36. {
  37. Id = "subview",
  38. CanFocus = true
  39. };
  40. view.Add (subview);
  41. view.SetFocus ();
  42. Assert.True (view.HasFocus);
  43. Assert.True (subview.HasFocus);
  44. Assert.Equal (subview, view.MostFocused);
  45. var subview2 = new View
  46. {
  47. Id = "subview2",
  48. CanFocus = true
  49. };
  50. view.Add (subview2);
  51. Assert.Equal (subview2, view.MostFocused);
  52. }
  53. }