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 ());
}
}
}