TitleTests.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using Xunit.Abstractions;
  2. //using GraphViewTests = Terminal.Gui.Views.GraphViewTests;
  3. // Alias Console to MockConsole so we don't accidentally use Console
  4. namespace Terminal.Gui.ViewTests;
  5. public class TitleTests
  6. {
  7. private readonly ITestOutputHelper output;
  8. public TitleTests (ITestOutputHelper output) { this.output = output; }
  9. [Fact]
  10. public void Set_Title_Fires_TitleChanged ()
  11. {
  12. var r = new View ();
  13. Assert.Equal (string.Empty, r.Title);
  14. string expectedOld = null;
  15. string expected = null;
  16. r.TitleChanged += (s, args) =>
  17. {
  18. Assert.Equal (expectedOld, args.OldTitle);
  19. Assert.Equal (r.Title, args.NewTitle);
  20. };
  21. expected = "title";
  22. expectedOld = r.Title;
  23. r.Title = expected;
  24. Assert.Equal (expected, r.Title);
  25. r.Dispose ();
  26. }
  27. [Fact]
  28. public void Set_Title_Fires_TitleChanging ()
  29. {
  30. var r = new View ();
  31. Assert.Equal (string.Empty, r.Title);
  32. string expectedOld = null;
  33. string expectedDuring = null;
  34. string expectedAfter = null;
  35. var cancel = false;
  36. r.TitleChanging += (s, args) =>
  37. {
  38. Assert.Equal (expectedOld, args.OldTitle);
  39. Assert.Equal (expectedDuring, args.NewTitle);
  40. args.Cancel = cancel;
  41. };
  42. expectedOld = string.Empty;
  43. r.Title = expectedDuring = expectedAfter = "title";
  44. Assert.Equal (expectedAfter, r.Title);
  45. expectedOld = r.Title;
  46. r.Title = expectedDuring = expectedAfter = "a different title";
  47. Assert.Equal (expectedAfter, r.Title);
  48. // Now setup cancelling the change and change it back to "title"
  49. cancel = true;
  50. expectedOld = r.Title;
  51. r.Title = expectedDuring = "title";
  52. Assert.Equal (expectedAfter, r.Title);
  53. r.Dispose ();
  54. }
  55. }