Browse Source

2 more unit test for parsing avalonia properties without getter or setter

Andrey Kunchev 8 years ago
parent
commit
824429b049

+ 26 - 0
tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs

@@ -41,6 +41,32 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
             Assert.Equal("Foo", target.Content);
         }
 
+        [Fact]
+        public void AvaloniaProperty_Without_Getter_And_Setter_Is_Set()
+        {
+            var xaml =
+ @"<local:NonControl xmlns='https://github.com/avaloniaui' 
+    xmlns:local='clr-namespace:Avalonia.Markup.Xaml.UnitTests.Xaml;assembly=Avalonia.Markup.Xaml.UnitTests'
+    Foo='55' />";
+
+            var target = AvaloniaXamlLoader.Parse<NonControl>(xaml);
+
+            Assert.Equal(55, target.GetValue(NonControl.FooProperty));
+        }
+
+        [Fact]
+        public void AvaloniaProperty_With_Getter_And_No_Setter_Is_Set()
+        {
+            var xaml =
+@"<local:NonControl xmlns='https://github.com/avaloniaui' 
+    xmlns:local='clr-namespace:Avalonia.Markup.Xaml.UnitTests.Xaml;assembly=Avalonia.Markup.Xaml.UnitTests'
+    Bar='bar' />";
+
+            var target = AvaloniaXamlLoader.Parse<NonControl>(xaml);
+
+            Assert.Equal("bar", target.Bar);
+        }
+
         [Fact]
         public void Attached_Property_Is_Set()
         {

+ 1 - 2
tests/Avalonia.Markup.Xaml.UnitTests/Xaml/InitializationOrderTracker.cs

@@ -7,8 +7,7 @@ using System.Collections.Generic;
 
 namespace Avalonia.Markup.Xaml.UnitTests.Xaml
 {
-    public class InitializationOrderTracker : Control,
-        ISupportInitialize
+    public class InitializationOrderTracker : Control, ISupportInitialize
     {
         public IList<string> Order { get; } = new List<string>();
 

+ 14 - 1
tests/Avalonia.Markup.Xaml.UnitTests/Xaml/NonControl.cs

@@ -13,6 +13,14 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
         public static readonly StyledProperty<string> StringProperty =
             AvaloniaProperty.Register<NonControl, string>("String");
 
+        //No getter or setter Avalonia property
+        public static readonly StyledProperty<int> FooProperty =
+            AvaloniaProperty.Register<NonControl, int>("Foo");
+
+        //getter only Avalonia property
+        public static readonly StyledProperty<string> BarProperty =
+                AvaloniaProperty.Register<NonControl, string>("Bar");
+
         public Control Control
         {
             get { return GetValue(ControlProperty); }
@@ -24,5 +32,10 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
             get { return GetValue(StringProperty); }
             set { SetValue(StringProperty, value); }
         }
+
+        public string Bar
+        {
+            get { return GetValue(BarProperty); }
+        }
     }
-}
+}