瀏覽代碼

Added failing test.

Steven Kirk 2 年之前
父節點
當前提交
cd5307aa8c
共有 1 個文件被更改,包括 30 次插入0 次删除
  1. 30 0
      tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_Inheritance.cs

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