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)
{
throw new NotSupportedException("Cannot set a negated binding.");
return false;
}
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]
public void SetValue_Should_Throw()
public void SetValue_Should_Return_False()
{
var data = new { Foo = "foo" };
var target = new ExpressionObserver(data, "!Foo");
Assert.Throws<NotSupportedException>(() => target.SetValue("bar"));
Assert.False(target.SetValue("bar"));
}
}
}

Loading…
Cancel
Save