| 
     
      
      
      From: <bo...@us...> - 2010-08-19 14:52:34
      
     
   | 
Revision: 431
          http://xmlunit.svn.sourceforge.net/xmlunit/?rev=431&view=rev
Author:   bodewig
Date:     2010-08-19 14:52:28 +0000 (Thu, 19 Aug 2010)
Log Message:
-----------
XML Declaration differences for .NET as well
Modified Paths:
--------------
    trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.xml
    trunk/xmlunit/src/tests/net-core/diff/DOMDifferenceEngineTest.cs
Modified: trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.xml
===================================================================
--- trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.xml	2010-08-19 14:28:50 UTC (rev 430)
+++ trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.xml	2010-08-19 14:52:28 UTC (rev 431)
@@ -143,16 +143,13 @@
                      testExpr="testDt"/>
   <literal><![CDATA[
             }
+            XmlDeclaration controlDecl = control.FirstChild as XmlDeclaration;
+            XmlDeclaration testDecl = test.FirstChild as XmlDeclaration;
 ]]></literal>
-<!--
-  <compare type="XML_VERSION" property="getXmlVersion()"/>
-  <compare type="XML_STANDALONE" property="getXmlStandalone()"/>
+  <compareMethodExpr method="CompareDeclarations"
+                     controlExpr="controlDecl"
+                     testExpr="testDecl"/>
   <literal><![CDATA[
-            return Compare(new Comparison(ComparisonType.XML_ENCODING,
-                                          control, null, control.getXmlEncoding(),
-                                          test, null, test.getXmlEncoding()));
--->
-  <literal><![CDATA[
             return lastResult;
         }
 
@@ -168,6 +165,37 @@
                                           test, null, test.SystemId));
         }
 
+        private ComparisonResult CompareDeclarations(XmlDeclaration control,
+                                                     XmlDeclaration test) {
+]]></literal>
+  <lastResultDef/>
+  <literal><![CDATA[
+            string controlVersion =
+                control == null ? "1.0" : control.Version;
+            string testVersion =
+                test == null ? "1.0" : test.Version;
+]]></literal>
+  <compareExpr type="XML_VERSION"
+               controlExpr="controlVersion"
+               testExpr="testVersion"/>
+  <literal><![CDATA[
+            string controlStandalone =
+                control == null ? string.Empty : control.Standalone;
+            string testStandalone =
+                test == null ? string.Empty : test.Standalone;
+]]></literal>
+  <compareExpr type="XML_STANDALONE"
+               controlExpr="controlStandalone"
+               testExpr="testStandalone"/>
+  <literal><![CDATA[
+            string controlEncoding =
+                control != null ? control.Encoding : string.Empty;
+            string testEncoding = test != null ? test.Encoding : string.Empty;
+            return Compare(new Comparison(ComparisonType.XML_ENCODING,
+                                          control, null, controlEncoding,
+                                          test, null, testEncoding));
+        }
+
         private ComparisonResult CompareElements(XmlElement control,
                                                  XmlElement test) {
 ]]></literal>
Modified: trunk/xmlunit/src/tests/net-core/diff/DOMDifferenceEngineTest.cs
===================================================================
--- trunk/xmlunit/src/tests/net-core/diff/DOMDifferenceEngineTest.cs	2010-08-19 14:28:50 UTC (rev 430)
+++ trunk/xmlunit/src/tests/net-core/diff/DOMDifferenceEngineTest.cs	2010-08-19 14:52:28 UTC (rev 431)
@@ -265,9 +265,7 @@
             Assert.AreEqual(1, ex.invoked);
 #endif
 
-#if false // need a way to figure out the XML_* differences
-
-            // .NET doesn't like XML 1.1 anyway
+#if false // .NET doesn't like XML 1.1 anyway
             d = new DOMDifferenceEngine();
             ex = new DiffExpecter(ComparisonType.XML_VERSION);
             d.DifferenceListener += ex.ComparisonPerformed;
@@ -287,7 +285,6 @@
             Assert.AreEqual(1, ex.invoked);
 #endif
 
-#if false // need a way to figure out the XML_* differences
             d = new DOMDifferenceEngine();
             ex = new DiffExpecter(ComparisonType.XML_STANDALONE);
             d.DifferenceListener += ex.ComparisonPerformed;
@@ -305,9 +302,7 @@
             Assert.AreEqual(ComparisonResult.CRITICAL,
                             d.CompareNodes(d1, d2));
             Assert.AreEqual(1, ex.invoked);
-#endif
 
-#if false // need a way to figure out the XML_* differences
             d = new DOMDifferenceEngine();
             ex = new DiffExpecter(ComparisonType.XML_ENCODING);
             d.DifferenceListener += ex.ComparisonPerformed;
@@ -332,7 +327,6 @@
             Assert.AreEqual(ComparisonResult.CRITICAL,
                             d.CompareNodes(d1, d2));
             Assert.AreEqual(1, ex.invoked);
-#endif
         }
 
         [Test]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |