summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Xaml.UnitTests/TypeExtensionTests.cs
diff options
context:
space:
mode:
authorJason Smith <jason.smith@xamarin.com>2016-03-22 13:02:25 -0700
committerJason Smith <jason.smith@xamarin.com>2016-03-22 16:13:41 -0700
commit17fdde66d94155fc62a034fa6658995bef6fd6e5 (patch)
treeb5e5073a2a7b15cdbe826faa5c763e270a505729 /Xamarin.Forms.Xaml.UnitTests/TypeExtensionTests.cs
downloadxamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.gz
xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.tar.bz2
xamarin-forms-17fdde66d94155fc62a034fa6658995bef6fd6e5.zip
Initial import
Diffstat (limited to 'Xamarin.Forms.Xaml.UnitTests/TypeExtensionTests.cs')
-rw-r--r--Xamarin.Forms.Xaml.UnitTests/TypeExtensionTests.cs54
1 files changed, 54 insertions, 0 deletions
diff --git a/Xamarin.Forms.Xaml.UnitTests/TypeExtensionTests.cs b/Xamarin.Forms.Xaml.UnitTests/TypeExtensionTests.cs
new file mode 100644
index 00000000..49c4bb49
--- /dev/null
+++ b/Xamarin.Forms.Xaml.UnitTests/TypeExtensionTests.cs
@@ -0,0 +1,54 @@
+using System;
+using NUnit.Framework;
+using System.Xml;
+
+using Xamarin.Forms.Core.UnitTests;
+using System.Reflection;
+
+namespace Xamarin.Forms.Xaml.UnitTests
+{
+
+ [TestFixture]
+ public class TypeExtensionTests : BaseTestFixture
+ {
+ IXamlTypeResolver typeResolver;
+ Internals.XamlServiceProvider serviceProvider;
+
+ [SetUp]
+ public override void Setup ()
+ {
+ base.Setup ();
+ var nsManager = new XmlNamespaceManager (new NameTable ());
+ nsManager.AddNamespace ("local", "clr-namespace:Xamarin.Forms.Xaml.UnitTests;assembly=Xamarin.Forms.Xaml.UnitTests");
+ nsManager.AddNamespace ("sys", "clr-namespace:System;assembly=mscorlib");
+ nsManager.AddNamespace ("x", "http://schemas.microsoft.com/winfx/2006/xaml");
+
+ typeResolver = new Internals.XamlTypeResolver (nsManager, XamlParser.GetElementType, Assembly.GetCallingAssembly ());
+
+ serviceProvider = new Internals.XamlServiceProvider (null, null) {
+ IXamlTypeResolver = typeResolver,
+ };
+ }
+
+ [Test]
+ public void TestxType ()
+ {
+ var markupString = @"{x:Type sys:String}";
+ Assert.AreEqual (typeof(string), (new MarkupExtensionParser ()).ParseExpression (ref markupString, serviceProvider));
+ }
+
+ [Test]
+ public void TestWithoutPrefix ()
+ {
+ var markupString = @"{x:Type Grid}";
+ Assert.AreEqual (typeof(Grid), (new MarkupExtensionParser ()).ParseExpression (ref markupString, serviceProvider));
+ }
+
+ [Test]
+ public void TestWithExplicitTypeName ()
+ {
+ var markupString = @"{x:Type TypeName=sys:String}";
+ Assert.AreEqual (typeof(string), (new MarkupExtensionParser ()).ParseExpression (ref markupString, serviceProvider));
+ }
+ }
+} \ No newline at end of file