|
@@ -2961,5 +2961,63 @@ At 0,0
|
|
|
|
|
|
TestHelpers.AssertDriverContentsWithFrameAre (expected, output);
|
|
|
}
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void Set_Title_Fires_TitleChanging ()
|
|
|
+ {
|
|
|
+ var r = new View ();
|
|
|
+ Assert.Equal (ustring.Empty, r.Title);
|
|
|
+
|
|
|
+ string expectedOld = null;
|
|
|
+ string expectedDuring = null;
|
|
|
+ string expectedAfter = null;
|
|
|
+ bool cancel = false;
|
|
|
+ r.TitleChanging += (s, args) => {
|
|
|
+ Assert.Equal (expectedOld, args.OldTitle);
|
|
|
+ Assert.Equal (expectedDuring, args.NewTitle);
|
|
|
+ args.Cancel = cancel;
|
|
|
+ };
|
|
|
+
|
|
|
+ expectedOld = string.Empty;
|
|
|
+ r.Title = expectedDuring = expectedAfter = "title";
|
|
|
+ Assert.Equal (expectedAfter, r.Title.ToString ());
|
|
|
+
|
|
|
+ expectedOld = r.Title.ToString ();
|
|
|
+ r.Title = expectedDuring = expectedAfter = "a different title";
|
|
|
+ Assert.Equal (expectedAfter, r.Title.ToString ());
|
|
|
+
|
|
|
+ // Now setup cancelling the change and change it back to "title"
|
|
|
+ cancel = true;
|
|
|
+ expectedOld = r.Title.ToString ();
|
|
|
+ r.Title = expectedDuring = "title";
|
|
|
+ Assert.Equal (expectedAfter, r.Title.ToString ());
|
|
|
+ r.Dispose ();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void Set_Title_Fires_TitleChanged ()
|
|
|
+ {
|
|
|
+ var r = new View ();
|
|
|
+ Assert.Equal (ustring.Empty, r.Title);
|
|
|
+
|
|
|
+ string expectedOld = null;
|
|
|
+ string expected = null;
|
|
|
+ r.TitleChanged += (s, args) => {
|
|
|
+ Assert.Equal (expectedOld, args.OldTitle);
|
|
|
+ Assert.Equal (r.Title, args.NewTitle);
|
|
|
+ };
|
|
|
+
|
|
|
+ expected = "title";
|
|
|
+ expectedOld = r.Title.ToString ();
|
|
|
+ r.Title = expected;
|
|
|
+ Assert.Equal (expected, r.Title.ToString ());
|
|
|
+
|
|
|
+ expected = "another title";
|
|
|
+ expectedOld = r.Title.ToString ();
|
|
|
+ r.Title = expected;
|
|
|
+ Assert.Equal (expected, r.Title.ToString ());
|
|
|
+ r.Dispose ();
|
|
|
+ }
|
|
|
}
|
|
|
}
|