Author: atsushi
Date: 2005-03-24 06:26:02 -0500 (Thu, 24 Mar 2005)
New Revision: 42201
Modified:
trunk/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog
trunk/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs
Log:
2005-03-24 Atsushi Enomoto <[EMAIL PROTECTED]>
* XslTransformTests.cs : added (extra) test which verifies that
XslTransform.Load() and .Transform() does not hold reference to
stylesheet/instance XPathNavigator inside its internals.
Modified: trunk/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog
===================================================================
--- trunk/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog 2005-03-24
10:31:13 UTC (rev 42200)
+++ trunk/mcs/class/System.XML/Test/System.Xml.Xsl/ChangeLog 2005-03-24
11:26:02 UTC (rev 42201)
@@ -1,3 +1,9 @@
+2005-03-24 Atsushi Enomoto <[EMAIL PROTECTED]>
+
+ * XslTransformTests.cs : added (extra) test which verifies that
+ XslTransform.Load() and .Transform() does not hold reference to
+ stylesheet/instance XPathNavigator inside its internals.
+
2005-03-23 Atsushi Enomoto <[EMAIL PROTECTED]>
* XslTransformTests.cs : added test that examines if XSLT rejects
Modified: trunk/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs
===================================================================
--- trunk/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs
2005-03-24 10:31:13 UTC (rev 42200)
+++ trunk/mcs/class/System.XML/Test/System.Xml.Xsl/XslTransformTests.cs
2005-03-24 11:26:02 UTC (rev 42201)
@@ -216,5 +216,40 @@
new XslTransform ().Load (new XPathDocument (
new StringReader (xsl)));
}
+
+ [Test]
+ [Category ("NotDotNet")]
+ public void DontHoldStylesheetReference ()
+ {
+ // This test is optional. Examines whether Load() does
+ // not hold loaded stylesheet XPathNavigator internally.
+ XslTransform t = new XslTransform ();
+ WeakReference wr = StylesheetLoad (t, "<xsl:transform
xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'/>");
+ GC.Collect (0);
+ GC.Collect (2);
+ Assert ("load", !wr.IsAlive);
+ wr = StylesheetTransform (t, "<root/>");
+ GC.Collect (0);
+ GC.Collect (2);
+ Assert ("transform", !wr.IsAlive);
+ }
+
+ private WeakReference StylesheetLoad (XslTransform t, string
xsl)
+ {
+ XPathDocument doc = new XPathDocument (
+ new StringReader (xsl));
+ WeakReference wr = new WeakReference (doc);
+ t.Load (doc);
+ return wr;
+ }
+
+ private WeakReference StylesheetTransform (XslTransform t,
string xml)
+ {
+ XPathDocument doc = new XPathDocument (
+ new StringReader (xml));
+ WeakReference wr = new WeakReference (doc);
+ t.Transform (doc, null, TextWriter.Null, null);
+ return wr;
+ }
}
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches