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-27 21:20:07 +0300
committerGert Driesen <drieseng@users.sourceforge.net>2005-12-27 21:20:07 +0300
commitd32b9cad5a74a5ad14a39fc2fee620ad40f47da8 (patch)
tree653041eb4d19ceb6779bc0c89901457d6a4c7cc2 /mcs/class/System.XML
parentc7ae6bcb3b91631bb76d2d904149561c268ecfa9 (diff)
* XslTransformTests.cs: Extended html indentation test (and marked it
NotWorking). Added tests for MS bugs (that have been fixed since). svn path=/trunk/mcs/; revision=54881
Diffstat (limited to 'mcs/class/System.XML')
-rw-r--r--mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog5
-rw-r--r--mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs110
2 files changed, 112 insertions, 3 deletions
diff --git a/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog b/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog
index 776b07c304b..3f0a3e39163 100644
--- a/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog
+++ b/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog
@@ -1,3 +1,8 @@
+2005-12-27 Gert Driesen <drieseng@users.sourceforge.net>
+
+ * XslTransformTests.cs: Extended html indentation test (and marked
+ it NotWorking). Added tests for MS bugs (that have been fixed since).
+
2005-12-24 Gert Driesen <drieseng@users.sourceforge.net>
* XslTransformTests.cs: Enabled forwards compatible tests.
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 758d0fded93..82661e3797a 100644
--- a/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs
+++ b/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs
@@ -1164,6 +1164,7 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
}
[Test]
+ [Category ("NotWorking")] // bug #77081: mono does not output newline and indentation for non-html elements
public void Output_Indent_Html ()
{
XsltArgumentList xsltArgs = new XsltArgumentList ();
@@ -1178,6 +1179,15 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
<xsl:element name=""html"">
<xsl:element name=""body"">
<xsl:element name=""p"" />
+ <xsl:element name=""p"">
+ <xsl:text>something</xsl:text>
+ </xsl:element>
+ <xsl:element name=""p"">
+ <xsl:element name=""div"" />
+ </xsl:element>
+ <xsl:element name=""p"">
+ <xsl:element name=""whatever"" />
+ </xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
@@ -1196,7 +1206,17 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
"<html>{0}" +
" <body>{0}" +
- " <p></p>{0}" +
+ " <p>{0}" +
+ " </p>{0}" +
+ " <p>something</p>{0}" +
+ " <p>{0}" +
+ " <div>{0}" +
+ " </div>{0}" +
+ " </p>{0}" +
+ " <p>{0}" +
+ " <whatever>{0}" +
+ " </whatever>{0}" +
+ " </p>{0}" +
" </body>{0}" +
"</html>", Environment.NewLine), sw.ToString (), "#1");
@@ -1208,7 +1228,8 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
xsltProcessor.Transform (xmlDoc, xsltArgs, sw, new XmlUrlResolver ());
Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
- "<html><body><p></p></body></html>",
+ "<html><body><p></p><p>something</p><p><div></div></p>" +
+ "<p><whatever></whatever></p></body></html>",
Environment.NewLine), sw.ToString (), "#2");
// indent not set
@@ -1221,7 +1242,17 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
"<html>{0}" +
" <body>{0}" +
- " <p></p>{0}" +
+ " <p>{0}" +
+ " </p>{0}" +
+ " <p>something</p>{0}" +
+ " <p>{0}" +
+ " <div>{0}" +
+ " </div>{0}" +
+ " </p>{0}" +
+ " <p>{0}" +
+ " <whatever>{0}" +
+ " </whatever>{0}" +
+ " </p>{0}" +
" </body>{0}" +
"</html>", Environment.NewLine), sw.ToString (), "#3");
}
@@ -1745,5 +1776,78 @@ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl='urn:schemas-micros
xsltProcessor.Load (new XmlTextReader (new StringReader (xsltFragment)),
new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
}
+
+ // http://support.microsoft.com/kb/832757/en-us
+ [Test]
+ public void FormatNumber_KB_832757 ()
+ {
+ string xsltFragment = @"<?xml version=""1.0"" encoding=""UTF-8""?>
+ <xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"">
+ <xsl:output method=""xml"" version=""1.0"" encoding=""UTF-8"" indent=""yes"" />
+ <xsl:template match=""/"">
+ <table>
+ <xsl:apply-templates />
+ </table>
+ </xsl:template>
+ <xsl:template match=""number"">
+ <tr><td><xsl:value-of select=""format-number(.,'#,##0;(#,##0)')""/></td></tr>
+ </xsl:template>
+ </xsl:stylesheet>";
+
+ XmlDocument xmlDoc = new XmlDocument ();
+ xmlDoc.LoadXml ("<root><number>1000</number></root>");
+
+ StringWriter sw = new StringWriter ();
+ XslTransform xsltProcessor = new XslTransform ();
+ xsltProcessor.Load (new XmlTextReader (new StringReader (xsltFragment)),
+ new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
+ xsltProcessor.Transform (xmlDoc, new XsltArgumentList (), sw,
+ new XmlUrlResolver ());
+
+ Assert.AreEqual (string.Format(CultureInfo.InvariantCulture,
+ "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" +
+ "<table>{0}" +
+ " <tr>{0}" +
+ " <td>1,000</td>{0}" +
+ " </tr>{0}" +
+ "</table>", Environment.NewLine), sw.ToString ());
+ }
+
+ // http://support.microsoft.com/kb/293469/en-us
+ [Test]
+ public void FormatNumber_KB_293469 ()
+ {
+ string xsltFragment = @"<?xml version=""1.0""?>
+ <xsl:stylesheet version=""1.0"" xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"">
+ <xsl:output method=""xml"" indent=""yes"" />
+ <xsl:decimal-format name=""european"" decimal-separator="","" grouping-separator=""."" />
+ <xsl:template match=""/"">
+ <xsl:element name=""html"">
+ <xsl:element name=""body"">
+ <xsl:apply-templates select=""root/amount"" />
+ </xsl:element>
+ </xsl:element>
+ </xsl:template>
+ <xsl:template match=""amount"">
+ <xsl:value-of select=""format-number(., '###.###,00', 'european')""/>
+ </xsl:template>
+ </xsl:stylesheet>";
+
+ XmlDocument xmlDoc = new XmlDocument ();
+ xmlDoc.LoadXml ("<root><amount currency='USD'>44442.7</amount></root>");
+
+ StringWriter sw = new StringWriter ();
+ XslTransform xsltProcessor = new XslTransform ();
+ xsltProcessor.Load (new XmlTextReader (new StringReader (xsltFragment)),
+ new XmlUrlResolver (), AppDomain.CurrentDomain.Evidence);
+ xsltProcessor.Transform (xmlDoc, new XsltArgumentList (), sw,
+ new XmlUrlResolver ());
+
+ Assert.AreEqual (string.Format (CultureInfo.InvariantCulture,
+ "<?xml version=\"1.0\" encoding=\"utf-16\"?>{0}" +
+ "<html>{0}" +
+ " <body>44.442,70</body>{0}" +
+ "</html>", Environment.NewLine), sw.ToString ());
+ }
}
}