diff options
Diffstat (limited to 'Xamarin.Forms.Xaml.UnitTests/Issues')
-rw-r--r-- | Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml | 11 | ||||
-rw-r--r-- | Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml.cs | 47 |
2 files changed, 58 insertions, 0 deletions
diff --git a/Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml b/Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml new file mode 100644 index 00000000..4132f908 --- /dev/null +++ b/Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" + xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" + x:Class="Xamarin.Forms.Xaml.UnitTests.Unreported007"> + + <Label Text="Foo" x:Name="label"> + <RelativeLayout.XConstraint> + <OnPlatform x:TypeArguments="Constraint" Android="{ConstraintExpression Type=Constant,Constant=6}" iOS="{ConstraintExpression Type=Constant,Constant=3}" /> + </RelativeLayout.XConstraint> + </Label> +</ContentPage> diff --git a/Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml.cs b/Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml.cs new file mode 100644 index 00000000..279deed4 --- /dev/null +++ b/Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using NUnit.Framework; +using Xamarin.Forms; +using Xamarin.Forms.Core.UnitTests; + +namespace Xamarin.Forms.Xaml.UnitTests +{ + public partial class Unreported007 : ContentPage + { + public Unreported007() + { + InitializeComponent(); + } + public Unreported007(bool useCompiledXaml) + { + //this stub will be replaced at compile time + } + + [TestFixture] + class Tests + { + [SetUp] + public void Setup() + { + Device.PlatformServices = new MockPlatformServices(); + } + + [TearDown] + public void TearDown() + { + Device.PlatformServices = null; + } + + [TestCase(true), TestCase(false)] + public void ConstraintsAreEvaluatedWithOnPlatform(bool useCompiledXaml) + { + if (useCompiledXaml) + MockCompiler.Compile(typeof(Unreported007)); + Device.OS = TargetPlatform.iOS; + var page = new Unreported007(useCompiledXaml); + Assert.That(RelativeLayout.GetXConstraint(page.label), Is.TypeOf<Constraint>()); + Assert.AreEqual(3, RelativeLayout.GetXConstraint(page.label).Compute(null)); + } + } + } +} |