Browse Source

Don't throw in LogicalNotNode.SetValue.

Instead return false to indicate the write failed.
pull/447/head
Steven Kirk 11 years ago
parent
commit
8b9693d996
  1. 2
      src/Markup/Perspex.Markup/Data/LogicalNotNode.cs
  2. 4
      tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Negation.cs

2
src/Markup/Perspex.Markup/Data/LogicalNotNode.cs

@ -11,7 +11,7 @@ namespace Perspex.Markup.Data
{ {
public override bool SetValue(object value) public override bool SetValue(object value)
{ {
throw new NotSupportedException("Cannot set a negated binding."); return false;
} }
public override IDisposable Subscribe(IObserver<object> observer) public override IDisposable Subscribe(IObserver<object> observer)

4
tests/Perspex.Markup.UnitTests/Data/ExpressionObserverTests_Negation.cs

@ -81,12 +81,12 @@ namespace Perspex.Markup.UnitTests.Data
} }
[Fact] [Fact]
public void SetValue_Should_Throw() public void SetValue_Should_Return_False()
{ {
var data = new { Foo = "foo" }; var data = new { Foo = "foo" };
var target = new ExpressionObserver(data, "!Foo"); var target = new ExpressionObserver(data, "!Foo");
Assert.Throws<NotSupportedException>(() => target.SetValue("bar")); Assert.False(target.SetValue("bar"));
} }
} }
} }

Loading…
Cancel
Save