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] 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] 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"; var expected = ""; StringWriter sw = new StringWriter (); t.Transform (new XPathDocument (new XmlTextReader (new StringReader (source))), null, sw); Assert.AreEqual (expected, sw.ToString ()); } [Test] // bug 2917 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"); } } }