summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Xaml.UnitTests/Issues
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Xaml.UnitTests/Issues')
-rw-r--r--Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml11
-rw-r--r--Xamarin.Forms.Xaml.UnitTests/Issues/Unreported007.xaml.cs47
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));
+ }
+ }
+ }
+}