changeset 47:66eee91f51b3

Fixes #49: XmlResourceResolver fails with HTML DTD on Windows * Add unit test for HTML-style resolving
author IBBoard <dev@ibboard.co.uk>
date Sat, 01 Sep 2012 11:53:37 +0100
parents 179c4cf6aecf
children 1e731dda7608
files Xml/XmlResourceResolverTests.cs
diffstat 1 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/Xml/XmlResourceResolverTests.cs	Fri Aug 31 20:39:29 2012 +0100
+++ b/Xml/XmlResourceResolverTests.cs	Sat Sep 01 11:53:37 2012 +0100
@@ -23,6 +23,20 @@
 			Stream resolvedStream = (Stream)resolver.GetEntity(new Uri(uriString), null, typeof(Stream));
 			Assert.That(resolvedStream, Is.EqualTo(localAssembly.GetManifestResourceStream(resourceID)));
 		}
+
+		[Test()]
+		public void TestGettingStreamForNonStandardURI()
+		{
+			Assembly localAssembly = Assembly.GetExecutingAssembly();
+			XmlResourceResolver resolver = new XmlResourceResolver(localAssembly);
+			string dtdString = "-//W3C//ENTITIES Latin 1 for XHTML//EN";
+			string uriString = "http://w3c.org/latin.xsd";
+			string resourceID = "IBBoard.test-data.ResourceResolver.some.xsd";
+			resolver.AddMapping(dtdString, uriString, resourceID);
+			Assert.That(resolver.ResolveUri(null, dtdString), Is.EqualTo(new Uri(uriString)));
+			Stream resolvedStream = (Stream)resolver.GetEntity(new Uri(uriString), null, typeof(Stream));
+			Assert.That(resolvedStream, Is.EqualTo(localAssembly.GetManifestResourceStream(resourceID)));
+		}
 	}
 }