TitleTests.cs 1.8 KB

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