diff options
author | Gert Driesen <drieseng@users.sourceforge.net> | 2005-12-24 17:58:10 +0300 |
---|---|---|
committer | Gert Driesen <drieseng@users.sourceforge.net> | 2005-12-24 17:58:10 +0300 |
commit | 844cf8e425d55dd8d9faafca34d68b2d132ccebd (patch) | |
tree | 4f3a1a829c694f2d6ed8067a7739d47482e38b0e /mcs/class/System.XML | |
parent | 4644c57095e7d811dc25832f7e709fe59ba203f2 (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/ChangeLog | 4 | ||||
-rw-r--r-- | mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs | 149 |
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"" ?> |