|
|
|
@ -1,5 +1,10 @@ |
|
|
|
using System.Collections.Generic; |
|
|
|
using Avalonia.Controls; |
|
|
|
using Avalonia.Controls.Documents; |
|
|
|
using Avalonia.Data; |
|
|
|
using Avalonia.Media; |
|
|
|
using Avalonia.Styling; |
|
|
|
using Avalonia.UnitTests; |
|
|
|
using Xunit; |
|
|
|
|
|
|
|
namespace Avalonia.Base.UnitTests |
|
|
|
@ -90,6 +95,31 @@ namespace Avalonia.Base.UnitTests |
|
|
|
Assert.Equal(1, raised); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void ClearValue_On_Parent_Raises_PropertyChanged_On_Child_With_Inherited_Grandparent_Value() |
|
|
|
{ |
|
|
|
var grandparent = new Class1(); |
|
|
|
var parent = new Class2 { Parent = grandparent }; |
|
|
|
var child = new Class2 { Parent = parent }; |
|
|
|
var raised = 0; |
|
|
|
|
|
|
|
grandparent.SetValue(Class1.BazProperty, "grandparent"); |
|
|
|
parent.SetValue(Class1.BazProperty, "parent"); |
|
|
|
|
|
|
|
child.PropertyChanged += (s, e) => |
|
|
|
{ |
|
|
|
Assert.Same(child, e.Sender); |
|
|
|
Assert.Equal("parent", e.OldValue); |
|
|
|
Assert.Equal("grandparent", e.NewValue); |
|
|
|
Assert.Equal(BindingPriority.Inherited, e.Priority); |
|
|
|
++raised; |
|
|
|
}; |
|
|
|
|
|
|
|
parent.ClearValue(Class1.BazProperty); |
|
|
|
|
|
|
|
Assert.Equal(1, raised); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Setting_InheritanceParent_Raises_PropertyChanged_When_Parent_Has_Value_Set() |
|
|
|
{ |
|
|
|
|