Browse Source

Added some simple tests for Content control and datatemplate

donandren 8 years ago
parent
commit
851b97ac58
1 changed files with 56 additions and 0 deletions
  1. 56 0
      tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs

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

@@ -1,6 +1,8 @@
 // Copyright (c) The Avalonia Project. All rights reserved.
 // Licensed under the MIT license. See licence.md file in the project root for full license information.
 
+using System.IO;
+using System.Text;
 using Avalonia.Controls;
 using Avalonia.UnitTests;
 using Xunit;
@@ -9,6 +11,60 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
 {
     public class BasicTests
     {
+        [Fact]
+        public void Simple_Property_Is_Set()
+        {
+
+            var xaml = @"
+<ContentControl xmlns='https://github.com/avaloniaui'
+             xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
+             Content='Foo'>
+</ContentControl>";
+            var loader = new AvaloniaXamlLoader();
+            var target = (ContentControl)loader.Load(xaml);
+
+            Assert.NotNull(target);
+            Assert.Equal("Foo", target.Content);
+        }
+
+        [Fact]
+        public void Default_Content_Property_Is_Set()
+        {
+            var xaml = @"
+<ContentControl xmlns='https://github.com/avaloniaui'
+             xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
+>Foo</ContentControl>";
+            var loader = new AvaloniaXamlLoader();
+            var target = (ContentControl)loader.Load(xaml);
+
+            Assert.NotNull(target);
+            Assert.Equal("Foo", target.Content);
+        }
+
+        [Fact]
+        public void ContentControl_ContentTemplate_Is_Functional()
+        {
+            var xaml =
+@"<ContentControl xmlns='https://github.com/avaloniaui'
+                xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'>
+    <ContentControl.ContentTemplate>
+        <DataTemplate>
+            <TextBlock Text='Foo' />
+        </DataTemplate>
+    </ContentControl.ContentTemplate>
+</ContentControl>";
+
+            var loader = new AvaloniaXamlLoader();
+            var contentControl = (ContentControl)loader.Load(xaml);
+            var target = contentControl.ContentTemplate;
+
+            Assert.NotNull(target);
+
+            var txt = (TextBlock)target.Build(null);
+
+            Assert.Equal("Foo", txt.Text);
+        }
+
         [Fact]
         public void Named_Control_Is_Added_To_NameScope()
         {