summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core.UnitTests/MessagingCenterTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core.UnitTests/MessagingCenterTests.cs')
-rw-r--r--Xamarin.Forms.Core.UnitTests/MessagingCenterTests.cs18
1 files changed, 18 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/MessagingCenterTests.cs b/Xamarin.Forms.Core.UnitTests/MessagingCenterTests.cs
index ae16fced..3cd91ed7 100644
--- a/Xamarin.Forms.Core.UnitTests/MessagingCenterTests.cs
+++ b/Xamarin.Forms.Core.UnitTests/MessagingCenterTests.cs
@@ -319,6 +319,24 @@ namespace Xamarin.Forms.Core.UnitTests
Assert.True(success); // TestCallbackSource.SuccessCallback() should be invoked to make success == true
}
+ [Test]
+ public void MultipleSubscribersOfTheSameClass()
+ {
+ var sub1 = new object();
+ var sub2 = new object();
+
+ string args2 = null;
+
+ const string message = "message";
+
+ MessagingCenter.Subscribe<MessagingCenterTests, string>(sub1, message, (sender, args) => { });
+ MessagingCenter.Subscribe<MessagingCenterTests, string>(sub2, message, (sender, args) => args2 = args);
+ MessagingCenter.Unsubscribe<MessagingCenterTests, string>(sub1, message);
+
+ MessagingCenter.Send(this, message, "Testing");
+ Assert.That(args2, Is.EqualTo("Testing"), "unsubscribing sub1 should not unsubscribe sub2");
+ }
+
class TestSubcriber
{
public void SetSuccess()