diff options
author | Stephane Delcroix <stephane@delcroix.org> | 2016-08-15 22:06:11 +0200 |
---|---|---|
committer | Jason Smith <jason.smith@xamarin.com> | 2016-08-15 13:06:11 -0700 |
commit | 775df09a3e45e90128f9047e8618461d4c4411a0 (patch) | |
tree | 3bfb63278a218c9d1f753f5fdafb7de659a048b5 /Xamarin.Forms.Xaml.UnitTests | |
parent | 0390ea034694d4ad548e9f46cf6f3fa3f291d041 (diff) | |
download | xamarin-forms-775df09a3e45e90128f9047e8618461d4c4411a0.tar.gz xamarin-forms-775df09a3e45e90128f9047e8618461d4c4411a0.tar.bz2 xamarin-forms-775df09a3e45e90128f9047e8618461d4c4411a0.zip |
[Xaml] x:Static in x:Arguments (#288)
* [Xaml] Support x:Static as x:Arguments
* [XamlC] allow x:Static in x:Arguments
* fix typo, remove commented code
Diffstat (limited to 'Xamarin.Forms.Xaml.UnitTests')
3 files changed, 44 insertions, 2 deletions
diff --git a/Xamarin.Forms.Xaml.UnitTests/FactoryMethods.xaml b/Xamarin.Forms.Xaml.UnitTests/FactoryMethods.xaml index a90a0378..5225c7d9 100644 --- a/Xamarin.Forms.Xaml.UnitTests/FactoryMethods.xaml +++ b/Xamarin.Forms.Xaml.UnitTests/FactoryMethods.xaml @@ -54,5 +54,19 @@ </local:MockFactory> </local:MockView.Content> </local:MockView> + <local:MockView x:Name="v6"> + <local:MockView.Content> + <local:MockFactory> + <x:Arguments> + <StaticExtension Member="local:MockxStatic.MockStaticProperty"/> + </x:Arguments> + </local:MockFactory> + </local:MockView.Content> + </local:MockView> + <local:MockView x:Name="v7"> + <local:MockView.Content> + <local:MockFactory x:Arguments="{x:Static local:MockxStatic.MockStaticProperty}"/> + </local:MockView.Content> + </local:MockView> </StackLayout> </ContentPage>
\ No newline at end of file diff --git a/Xamarin.Forms.Xaml.UnitTests/FactoryMethods.xaml.cs b/Xamarin.Forms.Xaml.UnitTests/FactoryMethods.xaml.cs index 42f359b7..9fa4e924 100644 --- a/Xamarin.Forms.Xaml.UnitTests/FactoryMethods.xaml.cs +++ b/Xamarin.Forms.Xaml.UnitTests/FactoryMethods.xaml.cs @@ -1,5 +1,6 @@ using Xamarin.Forms; using NUnit.Framework; +using Xamarin.Forms.Core.UnitTests; namespace Xamarin.Forms.Xaml.UnitTests { @@ -16,11 +17,16 @@ namespace Xamarin.Forms.Xaml.UnitTests Content = "default ctor"; } - public MockFactory (string arg0, string arg1) + public MockFactory(string arg0, string arg1) { Content = "alternate ctor " + arg0 + arg1; } + public MockFactory(string arg0) + { + Content = "alternate ctor " + arg0; + } + public MockFactory (int arg) { Content = "int ctor " + arg.ToString (); @@ -63,6 +69,12 @@ namespace Xamarin.Forms.Xaml.UnitTests [TestFixture] public class Tests { + [SetUp] + public void SetUp() + { + Device.PlatformServices = new MockPlatformServices(); + } + [TestCase (false)] [TestCase (true)] public void TestDefaultCtor (bool useCompiledXaml) @@ -110,6 +122,22 @@ namespace Xamarin.Forms.Xaml.UnitTests var layout = new FactoryMethods (useCompiledXaml); Assert.AreEqual ("factory 42foo", layout.v5.Content.Content); } + + [TestCase(false)] + [TestCase(true)] + public void TestCtorWithxStatic(bool useCompiledXaml) + { + var layout = new FactoryMethods(useCompiledXaml); + Assert.AreEqual("alternate ctor Property", layout.v6.Content.Content); + } + + [TestCase(false)] + [TestCase(true)] + public void TestCtorWithxStaticAttribute(bool useCompiledXaml) + { + var layout = new FactoryMethods(useCompiledXaml); + Assert.AreEqual("alternate ctor Property", layout.v7.Content.Content); + } } } }
\ No newline at end of file diff --git a/Xamarin.Forms.Xaml.UnitTests/Validation/StaticExtensionException.xaml.cs b/Xamarin.Forms.Xaml.UnitTests/Validation/StaticExtensionException.xaml.cs index d7476b74..cb8b22b4 100644 --- a/Xamarin.Forms.Xaml.UnitTests/Validation/StaticExtensionException.xaml.cs +++ b/Xamarin.Forms.Xaml.UnitTests/Validation/StaticExtensionException.xaml.cs @@ -7,6 +7,7 @@ using NUnit.Framework; namespace Xamarin.Forms.Xaml.UnitTests { + [XamlCompilation(XamlCompilationOptions.Skip)] public partial class StaticExtensionException : ContentPage { public StaticExtensionException () @@ -23,7 +24,6 @@ namespace Xamarin.Forms.Xaml.UnitTests public class Issue2115 { [TestCase (false)] - [TestCase (true)] public void xStaticThrowsMeaningfullException (bool useCompiledXaml) { Assert.Throws (new XamlParseExceptionConstraint (6, 34), () => new StaticExtensionException (useCompiledXaml)); |