Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGert Driesen <drieseng@users.sourceforge.net>2005-12-24 17:58:10 +0300
committerGert Driesen <drieseng@users.sourceforge.net>2005-12-24 17:58:10 +0300
commit844cf8e425d55dd8d9faafca34d68b2d132ccebd (patch)
tree4f3a1a829c694f2d6ed8067a7739d47482e38b0e /mcs/class/System.XML
parent4644c57095e7d811dc25832f7e709fe59ba203f2 (diff)
* XslTransformTests.cs: Added forwards compatible tests.
svn path=/trunk/mcs/; revision=54832
Diffstat (limited to 'mcs/class/System.XML')
-rw-r--r--mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog4
-rw-r--r--mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs149
2 files changed, 152 insertions, 1 deletions
diff --git a/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog b/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog
index a87e54670e3..94fdb1c640b 100644
--- a/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog
+++ b/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog
@@ -1,5 +1,9 @@
2005-12-23 Gert Driesen <drieseng@users.sourceforge.net>
+ * XslTransformTests.cs: Added forwards compatible tests.
+
+2005-12-23 Gert Driesen <drieseng@users.sourceforge.net>
+
* XslTransformTests.cs: Added working XML/HTML indentation tests.
2005-12-23 Gert Driesen <drieseng@users.sourceforge.net>
diff --git a/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs b/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs
index 02d58c65d81..b9497563af0 100644
--- a/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs
+++ b/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs
@@ -516,6 +516,46 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
}
[Test]
+ [Category ("NotWorking")]
+ public void Output_Standalone_ForwardsCompatible ()
+ {
+ StringWriter sw = new StringWriter ();
+ XsltArgumentList xsltArgs = new XsltArgumentList ();
+ XslTransform xsltProcessor = new XslTransform ();
+ XmlDocument xmlDoc = new XmlDocument ();
+ xmlDoc.LoadXml ("<dummy />");
+
+ string xsltFragment = @"<?xml version=""1.0"" encoding=""UTF-8"" ?>
+ <xsl:stylesheet xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" version=""1.5"">
+ <xsl:output standalone=""{0}"" />
+ <xsl:template match=""/"">
+ <root />
+ </xsl:template>
+ </xsl:stylesheet>";
+
+ // standalone is "Yes"
+ xsltProcessor.Load (new XmlTextReader (new StringReader (
+ string.Format (xsltFragment, "Yes"))),
+ new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
+ xsltProcessor.Transform (xmlDoc, xsltArgs, sw, new XmlUrlResolver ());
+
+ Assert.AreEqual (
+ "<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
+ "<root />", sw.ToString (), "#1");
+
+ // standalone is empty
+ sw.GetStringBuilder ().Length = 0;
+ xsltProcessor.Load (new XmlTextReader (new StringReader (
+ string.Format (xsltFragment, ""))),
+ new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
+ xsltProcessor.Transform (xmlDoc, xsltArgs, sw, new XmlUrlResolver ());
+
+ Assert.AreEqual (
+ "<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
+ "<root />", sw.ToString (), "#2");
+ }
+
+ [Test]
[ExpectedException (typeof (XsltCompileException))]
public void Output_Standalone_Empty ()
{
@@ -554,7 +594,7 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
Assert.AreEqual ("<root />", sw.ToString (), "#1");
- sw = new StringWriter ();
+ sw.GetStringBuilder ().Length = 0;
xsltProcessor.Load (new XmlTextReader (new StringReader (
string.Format (xsltFragment, "omit-xml-declaration=\"no\""))),
new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
@@ -592,6 +632,46 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
}
[Test]
+ [Category ("NotWorking")]
+ public void Output_OmitXmlDeclaration_ForwardsCompatible ()
+ {
+ StringWriter sw = new StringWriter ();
+ XsltArgumentList xsltArgs = new XsltArgumentList ();
+ XslTransform xsltProcessor = new XslTransform ();
+ XmlDocument xmlDoc = new XmlDocument ();
+ xmlDoc.LoadXml ("<dummy />");
+
+ string xsltFragment = @"<?xml version=""1.0"" encoding=""UTF-8"" ?>
+ <xsl:stylesheet xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" version=""1.5"">
+ <xsl:output omit-xml-declaration=""{0}"" />
+ <xsl:template match=""/"">
+ <root />
+ </xsl:template>
+ </xsl:stylesheet>";
+
+ // omit-xml-declaration is "Yes"
+ xsltProcessor.Load (new XmlTextReader (new StringReader (
+ string.Format (xsltFragment, "Yes"))),
+ new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
+ xsltProcessor.Transform (xmlDoc, xsltArgs, sw, new XmlUrlResolver ());
+
+ Assert.AreEqual (
+ "<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
+ "<root />", sw.ToString (), "#1");
+
+ // omit-xml-declaration is empty
+ sw.GetStringBuilder ().Length = 0;
+ xsltProcessor.Load (new XmlTextReader (new StringReader (
+ string.Format (xsltFragment, ""))),
+ new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
+ xsltProcessor.Transform (xmlDoc, xsltArgs, sw, new XmlUrlResolver ());
+
+ Assert.AreEqual (
+ "<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
+ "<root />", sw.ToString (), "#2");
+ }
+
+ [Test]
public void Output_DocType_Xml ()
{
XsltArgumentList xsltArgs = new XsltArgumentList ();
@@ -1175,6 +1255,46 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
}
[Test]
+ [Category ("NotWorking")]
+ public void Output_Indent_ForwardsCompatible ()
+ {
+ StringWriter sw = new StringWriter ();
+ XsltArgumentList xsltArgs = new XsltArgumentList ();
+ XslTransform xsltProcessor = new XslTransform ();
+ XmlDocument xmlDoc = new XmlDocument ();
+ xmlDoc.LoadXml ("<dummy />");
+
+ string xsltFragment = @"<?xml version=""1.0"" encoding=""UTF-8"" ?>
+ <xsl:stylesheet xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" version=""1.5"">
+ <xsl:output indent=""{0}"" />
+ <xsl:template match=""/"">
+ <root />
+ </xsl:template>
+ </xsl:stylesheet>";
+
+ // indent is "Yes"
+ xsltProcessor.Load (new XmlTextReader (new StringReader (
+ string.Format (xsltFragment, "Yes"))),
+ new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
+ xsltProcessor.Transform (xmlDoc, xsltArgs, sw, new XmlUrlResolver ());
+
+ Assert.AreEqual (
+ "<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
+ "<root />", sw.ToString (), "#1");
+
+ // indent is empty
+ sw.GetStringBuilder ().Length = 0;
+ xsltProcessor.Load (new XmlTextReader (new StringReader (
+ string.Format (xsltFragment, ""))),
+ new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
+ xsltProcessor.Transform (xmlDoc, xsltArgs, sw, new XmlUrlResolver ());
+
+ Assert.AreEqual (
+ "<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
+ "<root />", sw.ToString (), "#2");
+ }
+
+ [Test]
public void Output_MediaType ()
{
StringWriter sw = null;
@@ -1592,6 +1712,33 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
}
[Test]
+ [Category ("NotWorking")]
+ public void Output_Unknown_Attribute_ForwardsCompatible ()
+ {
+ StringWriter sw = new StringWriter ();
+ XsltArgumentList xsltArgs = new XsltArgumentList ();
+ XslTransform xsltProcessor = new XslTransform ();
+ XmlDocument xmlDoc = new XmlDocument ();
+ xmlDoc.LoadXml ("<dummy />");
+
+ string xsltFragment = @"<?xml version=""1.0"" encoding=""UTF-8"" ?>
+ <xsl:stylesheet xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" version=""1.5"">
+ <xsl:output whatever="""" />
+ <xsl:template match=""/"">
+ <root />
+ </xsl:template>
+ </xsl:stylesheet>";
+
+ xsltProcessor.Load (new XmlTextReader (new StringReader (xsltFragment)),
+ new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
+ xsltProcessor.Transform (xmlDoc, xsltArgs, sw, new XmlUrlResolver ());
+
+ Assert.AreEqual (
+ "<?xml version=\"1.0\" encoding=\"utf-16\"?>" +
+ "<root />", sw.ToString (), "#1");
+ }
+
+ [Test]
public void Output_Unknown_Attribute_NonDefaultNamespace ()
{
string xsltFragment = @"<?xml version=""1.0"" encoding=""UTF-8"" ?>