From 84ee2e97854a0e6bcf0a412caa3a65f720052393 Mon Sep 17 00:00:00 2001 From: "Frank A. Krueger" Date: Fri, 16 Jun 2017 17:19:18 -0700 Subject: [PATCH] Test bubbling up messages --- Tests/MessageSendTests.cs | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Tests/MessageSendTests.cs diff --git a/Tests/MessageSendTests.cs b/Tests/MessageSendTests.cs new file mode 100644 index 0000000..8c239db --- /dev/null +++ b/Tests/MessageSendTests.cs @@ -0,0 +1,55 @@ +using System; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +using Ooui; + +namespace Tests +{ + [TestClass] + public class MessageSendTests + { + [TestMethod] + public void SendTriggers () + { + var b = new Button (); + var sendCount = 0; + b.MessageSent += m => { + if (m.Key == "test") sendCount++; + }; + b.Send (Message.Event (b.Id, "test")); + Assert.AreEqual (1, sendCount); + } + + [TestMethod] + public void ChildSendTriggers () + { + var p = new Div (); + var b = new Button (); + p.AppendChild (b); + var sendCount = 0; + void HandleMessage (Message m) { + if (m.Key == "test") sendCount++; + }; + p.MessageSent += HandleMessage; + b.Send (Message.Event (b.Id, "test")); + Assert.AreEqual (1, sendCount); + } + + [TestMethod] + public void OldChildSendDoesntTrigger () + { + var p = new Div (); + var b = new Button (); + p.AppendChild (b); + var sendCount = 0; + void HandleMessage (Message m) { + if (m.Key == "test") sendCount++; + }; + p.MessageSent += HandleMessage; + b.Send (Message.Event (b.Id, "test")); + p.RemoveChild (b); + b.Send (Message.Event (b.Id, "test")); + Assert.AreEqual (1, sendCount); + } + } +}