diff options
Diffstat (limited to 'Xamarin.Forms.Xaml.UnitTests/Issues/Bz27299.xaml.cs')
-rw-r--r-- | Xamarin.Forms.Xaml.UnitTests/Issues/Bz27299.xaml.cs | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Xamarin.Forms.Xaml.UnitTests/Issues/Bz27299.xaml.cs b/Xamarin.Forms.Xaml.UnitTests/Issues/Bz27299.xaml.cs new file mode 100644 index 00000000..35211a1b --- /dev/null +++ b/Xamarin.Forms.Xaml.UnitTests/Issues/Bz27299.xaml.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; + +using Xamarin.Forms; + +using NUnit.Framework; + +namespace Xamarin.Forms.Xaml.UnitTests +{ + public class Bz27299ViewModel + { + public string Text { + get { return "Foo"; } + } + } + public class Bz27299ViewModelLocator + { + public static int Count { get; set; } + public object Bz27299 { + get { + Count++; + return new Bz27299ViewModel (); + } + } + } + + public partial class Bz27299 : ContentPage + { + public Bz27299 () + { + InitializeComponent (); + } + public Bz27299 (bool useCompiledXaml) + { + //this stub will be replaced at compile time + } + + [TestFixture] + class Tests + { + [SetUp] + public void SetUp () + { + Bz27299ViewModelLocator.Count = 0; + } + + [TestCase(true)] + [TestCase(false)] + public void ViewModelLocatorOnlyCalledOnce (bool useCompiledXaml) + { + Assert.AreEqual (0, Bz27299ViewModelLocator.Count); + var layout = new Bz27299 (useCompiledXaml); + Assert.AreEqual (1, Bz27299ViewModelLocator.Count); + Assert.AreEqual ("Foo", layout.label.Text); + } + } + } +}
\ No newline at end of file |