1
0
Steven Kirk 2 жил өмнө
parent
commit
cd5307aa8c

+ 30 - 0
tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Inheritance.cs

@@ -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()
         {