diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj
index 6bb8fb0008..a8c9eaecd9 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj
@@ -29,7 +29,7 @@
full
false
bin\Debug\
- DEBUG;TRACE
+ TRACE;DEBUG;OMNIXAML_no
prompt
4
@@ -46,6 +46,11 @@
..\..\packages\Moq.4.2.1510.2205\lib\net40\Moq.dll
True
+
+ ..\..\packages\Portable.Xaml.0.15.0\lib\portable-net45+win+wpa81+wp80+MonoAndroid10+xamarinios10+MonoTouch10\Portable.Xaml.dll
+ False
+ True
+
..\..\packages\Splat.1.6.2\lib\Net45\Splat.dll
True
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs
index 5a6f19bbfe..dd741d6207 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Converters/AvaloniaPropertyConverterTest.cs
@@ -13,6 +13,7 @@ using Avalonia.Controls;
using Avalonia.Markup.Xaml.Converters;
using Avalonia.Styling;
using Xunit;
+using Portable.Xaml.ComponentModel;
namespace Avalonia.Markup.Xaml.UnitTests.Converters
{
@@ -55,7 +56,12 @@ namespace Avalonia.Markup.Xaml.UnitTests.Converters
Assert.Equal(AttachedOwner.AttachedProperty, result);
}
-
+#if !OMNIXAML
+ private ITypeDescriptorContext CreateContext(Style style = null)
+ {
+ return null;
+ }
+#else
private IValueContext CreateContext(Style style = null)
{
var context = new Mock();
@@ -71,7 +77,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Converters
typeRepository.Setup(x => x.GetByQualifiedName("AttachedOwner")).Returns(attachedOwnerXamlType);
return context.Object;
}
-
+#endif
private class Class1 : AvaloniaObject, IStyleable
{
public static readonly StyledProperty FooProperty =
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
index d0d99c5569..36c4a8a41e 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/BasicTests.cs
@@ -1,9 +1,10 @@
// 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 System.Linq;
using Avalonia.Controls;
+using Avalonia.Media;
+using Avalonia.Styling;
using Avalonia.UnitTests;
using Xunit;
@@ -14,14 +15,9 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
[Fact]
public void Simple_Property_Is_Set()
{
+ var xaml = @"";
- var xaml = @"
-
-";
- var loader = new AvaloniaXamlLoader();
- var target = (ContentControl)loader.Load(xaml);
+ var target = (ContentControl)new AvaloniaXamlLoader().Load(xaml);
Assert.NotNull(target);
Assert.Equal("Foo", target.Content);
@@ -30,10 +26,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
[Fact]
public void Default_Content_Property_Is_Set()
{
- var xaml = @"
-Foo";
+ var xaml = @"Foo";
var loader = new AvaloniaXamlLoader();
var target = (ContentControl)loader.Load(xaml);
@@ -45,8 +38,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
public void ContentControl_ContentTemplate_Is_Functional()
{
var xaml =
-@"
+@"
@@ -69,8 +61,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
public void Named_Control_Is_Added_To_NameScope_Simple()
{
var xaml = @"
-
+
";
var loader = new AvaloniaXamlLoader();
@@ -95,6 +86,55 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
Assert.Equal("Foo", button.Content);
}
+ [Fact]
+ public void Standart_TypeConverter_Is_Used()
+ {
+ var xaml = @"";
+
+ var control = (UserControl)new AvaloniaXamlLoader().Load(xaml);
+ Assert.Equal(200.5, control.Width);
+ }
+
+ [Fact]
+ public void Avalonia_TypeConverter_Is_Used()
+ {
+ var xaml = @"";
+
+ var control = (UserControl)new AvaloniaXamlLoader().Load(xaml);
+ var bk = control.Background;
+ Assert.IsType(bk);
+ Assert.Equal(Colors.White, (bk as SolidColorBrush).Color);
+ }
+
+ [Fact]
+ public void Simple_Style_Is_Parsed()
+ {
+ var xaml = @"
+
+
+";
+
+ var styles = (Styles)new AvaloniaXamlLoader().Load(xaml);
+
+ Assert.Equal(1, styles.Count);
+
+ var style = (Style)styles[0];
+
+ var setters = style.Setters.Cast().ToArray();
+
+ Assert.Equal(2, setters.Length);
+
+ Assert.Equal(TextBlock.BackgroundProperty, setters[0].Property);
+ Assert.Equal(Brushes.White, setters[0].Value);
+
+ Assert.Equal(TextBlock.WidthProperty, setters[1].Property);
+ Assert.Equal(100.0, setters[1].Value);
+ }
+
[Fact]
public void Named_Control_Is_Added_To_NameScope()
{
@@ -137,4 +177,4 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
}
}
}
-}
+}
\ No newline at end of file
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/packages.config b/tests/Avalonia.Markup.Xaml.UnitTests/packages.config
index cad6395387..6972facac2 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/packages.config
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/packages.config
@@ -1,6 +1,7 @@
+