diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2017-06-21 15:31:44 +0200 |
---|---|---|
committer | Stephane Delcroix <stephane@delcroix.org> | 2017-06-21 15:31:44 +0200 |
commit | ded7d4e17b06a30e3e004f49f5bf2f3399a23548 (patch) | |
tree | 6c65ba35b71988bff434eb890a33927341edb193 | |
parent | c6f547b298f95a35e5fa16eca6fd7b8b6a0a0920 (diff) | |
download | xamarin-forms-ded7d4e17b06a30e3e004f49f5bf2f3399a23548.tar.gz xamarin-forms-ded7d4e17b06a30e3e004f49f5bf2f3399a23548.tar.bz2 xamarin-forms-ded7d4e17b06a30e3e004f49f5bf2f3399a23548.zip |
[test] passing test for 32896
-rw-r--r-- | Xamarin.Forms.Core.UnitTests/TriggerTests.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core.UnitTests/TriggerTests.cs b/Xamarin.Forms.Core.UnitTests/TriggerTests.cs index 1fe16669..655310be 100644 --- a/Xamarin.Forms.Core.UnitTests/TriggerTests.cs +++ b/Xamarin.Forms.Core.UnitTests/TriggerTests.cs @@ -112,5 +112,34 @@ namespace Xamarin.Forms.Core.UnitTests Assert.False (enteraction.Invoked); Assert.True (exitaction.Invoked); } + + [Test] + // https://bugzilla.xamarin.com/show_bug.cgi?id=32896 + public void SettersWithBindingsUnappliedIfConditionIsFalse() + { + var conditionbp = BindableProperty.Create("foo", typeof(string), typeof(BindableObject), null); + var setterbp = BindableProperty.Create("bar", typeof(string), typeof(BindableObject), null); + var element = new MockElement(); + var trigger = new Trigger(typeof(VisualElement)) + { + Property = conditionbp, + Value = "foobar", + Setters = { + new Setter { Property = setterbp, Value = new Binding(".", source: "Qux") }, + } + }; + + element.SetValue(setterbp, "default"); + element.Triggers.Add(trigger); + Assume.That(element.GetValue(setterbp), Is.EqualTo("default")); + + //sets the condition to true + element.SetValue(conditionbp, "foobar"); + Assume.That(element.GetValue(setterbp), Is.EqualTo("Qux")); + + //unsets the condition + element.SetValue(conditionbp, "baz"); + Assert.That(element.GetValue(setterbp), Is.EqualTo("default")); + } } }
\ No newline at end of file |