using NUnit.Framework; using System.IO; using System.Xml; using System.Xml.XPath; using System.Xml.Xsl; namespace MonoTests.System.Xml.Xsl { [TestFixture] public class XslCompiledTransformTests { [Test] public void GlobalVariableReferencesAnotherGlobalVariable () { string xsl = @" : "; StringWriter sw = new StringWriter (); XslCompiledTransform t = new XslCompiledTransform (); t.Load (new XPathDocument (new StringReader (xsl))); t.Transform (new XPathDocument (new XmlTextReader (new StringReader (""))), null, sw); Assert.AreEqual ("foo: B", sw.ToString ()); } [Test] [Category ("MobileNotWorking")] public void MSXslNodeSetAcceptsNodeSet () { string xsl = @" : "; StringWriter sw = new StringWriter (); XslCompiledTransform t = new XslCompiledTransform (); t.Load (new XPathDocument (new StringReader (xsl))); // should transform without an exception t.Transform (new XPathDocument (new XmlTextReader (new StringReader (""))), null, sw); } [Test] [Category ("MobileNotWorking")] public void MSXslNodeSetAcceptsEmptyString () { string xsl = @" : "; StringWriter sw = new StringWriter (); XslCompiledTransform t = new XslCompiledTransform (); t.Load (new XPathDocument (new StringReader (xsl))); // should transform without an exception t.Transform (new XPathDocument (new XmlTextReader (new StringReader (""))), null, sw); } [Test] public void ValueOfElementWithInsignificantWhitespace () { string xsl = @" , : "; StringWriter sw = new StringWriter (); XslCompiledTransform t = new XslCompiledTransform (); t.Load (new XmlTextReader(new StringReader(xsl))); t.Transform (new XPathDocument (new XmlTextReader (new StringReader (""))), null, sw); Assert.AreEqual ("Dfoo: A,foo: B,foo: C", sw.ToString ()); } [Test] public void ElementToAttribute () { var xsl = @" "; var t = new XslCompiledTransform (); t.Load (new XmlTextReader (new StringReader (xsl))); var source = "123"; #if MOBILE var expected = ""; #else var expected = ""; #endif StringWriter sw = new StringWriter (); var xp = new XPathDocument (new XmlTextReader (new StringReader (source))); t.Transform (xp, null, sw); Assert.AreEqual (expected, sw.ToString ()); } [Test] // bug 2917 [Category ("MobileNotWorking")] public void XslOutputSettings () { XslCompiledTransform xslCompiledTransform = new XslCompiledTransform(); string xsl = @" "; var xmlReader = XmlReader.Create(new StringReader(xsl)); xslCompiledTransform.Load(xmlReader); // Returns true on .NET and False on mono 2.10.2 Assert.IsTrue (xslCompiledTransform.OutputSettings.Indent, "#1"); } [Test] // Bug 36436 public void TransformWithXmlDocument () { XmlDocument doc = new XmlDocument (); doc.LoadXml (@""); XmlDocument st = new XmlDocument (); st.LoadXml (@" "); XslCompiledTransform xsl = new XslCompiledTransform (); xsl.Load (st); XsltArgumentList args = new XsltArgumentList (); MemoryStream mstr = new MemoryStream (); xsl.Transform (doc, args, mstr); } } }