From: <bo...@us...> - 2010-08-18 14:27:34
|
Revision: 427 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=427&view=rev Author: bodewig Date: 2010-08-18 14:27:27 +0000 (Wed, 18 Aug 2010) Log Message: ----------- allow CData to match Text nodes in recursion Modified Paths: -------------- trunk/xmlunit/src/main/java-core/net/sf/xmlunit/diff/DOMDifferenceEngine.java.xml trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.xml trunk/xmlunit/src/tests/java-core/net/sf/xmlunit/diff/DOMDifferenceEngineTest.java trunk/xmlunit/src/tests/net-core/diff/DOMDifferenceEngineTest.cs Modified: trunk/xmlunit/src/main/java-core/net/sf/xmlunit/diff/DOMDifferenceEngine.java.xml =================================================================== --- trunk/xmlunit/src/main/java-core/net/sf/xmlunit/diff/DOMDifferenceEngine.java.xml 2010-08-18 14:06:06 UTC (rev 426) +++ trunk/xmlunit/src/main/java-core/net/sf/xmlunit/diff/DOMDifferenceEngine.java.xml 2010-08-18 14:27:27 UTC (rev 427) @@ -332,7 +332,7 @@ compare(new Comparison(ComparisonType.NODE_TYPE, n1, null, n1.getNodeType(), n2, null, n2.getNodeType())); - return r == ComparisonResult.EQUAL; + return r != ComparisonResult.CRITICAL; } private class Match { Modified: trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.xml =================================================================== --- trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.xml 2010-08-18 14:06:06 UTC (rev 426) +++ trunk/xmlunit/src/main/net-core/diff/DOMDifferenceEngine.xml 2010-08-18 14:27:27 UTC (rev 427) @@ -332,7 +332,7 @@ Compare(new Comparison(ComparisonType.NODE_TYPE, n1, null, n1.NodeType, n2, null, n2.NodeType)); - return r == ComparisonResult.EQUAL; + return r != ComparisonResult.CRITICAL; } internal class Match { Modified: trunk/xmlunit/src/tests/java-core/net/sf/xmlunit/diff/DOMDifferenceEngineTest.java =================================================================== --- trunk/xmlunit/src/tests/java-core/net/sf/xmlunit/diff/DOMDifferenceEngineTest.java 2010-08-18 14:06:06 UTC (rev 426) +++ trunk/xmlunit/src/tests/java-core/net/sf/xmlunit/diff/DOMDifferenceEngineTest.java 2010-08-18 14:27:27 UTC (rev 427) @@ -505,6 +505,19 @@ d.addDifferenceListener(ex); d.setDifferenceEvaluator(ev); assertEquals(ComparisonResult.EQUAL, d.compareNodes(e1, e2)); + assertEquals(ComparisonResult.EQUAL, d.compareNodes(e2, e1)); assertEquals(0, ex.invoked); } + + @Test public void textAndCDataMatchRecursively() { + Element e1 = doc.createElement("foo"); + Element e2 = doc.createElement("foo"); + Text fooText = doc.createTextNode("foo"); + e1.appendChild(fooText); + CDATASection fooCDATASection = doc.createCDATASection("foo"); + e2.appendChild(fooCDATASection); + DOMDifferenceEngine d = new DOMDifferenceEngine(); + assertEquals(ComparisonResult.EQUAL, d.compareNodes(e1, e2)); + assertEquals(ComparisonResult.EQUAL, d.compareNodes(e2, e1)); + } } Modified: trunk/xmlunit/src/tests/net-core/diff/DOMDifferenceEngineTest.cs =================================================================== --- trunk/xmlunit/src/tests/net-core/diff/DOMDifferenceEngineTest.cs 2010-08-18 14:06:06 UTC (rev 426) +++ trunk/xmlunit/src/tests/net-core/diff/DOMDifferenceEngineTest.cs 2010-08-18 14:27:27 UTC (rev 427) @@ -497,8 +497,21 @@ d.DifferenceListener += ex.ComparisonPerformed; d.DifferenceEvaluator = ev; Assert.AreEqual(ComparisonResult.EQUAL, d.CompareNodes(e1, e2)); + Assert.AreEqual(ComparisonResult.EQUAL, d.CompareNodes(e2, e1)); Assert.AreEqual(0, ex.invoked); } + [Test] + public void textAndCDataMatchRecursively() { + XmlElement e1 = doc.CreateElement("foo"); + XmlElement e2 = doc.CreateElement("foo"); + XmlText fooText = doc.CreateTextNode("foo"); + e1.AppendChild(fooText); + XmlCDataSection fooCDATASection = doc.CreateCDataSection("foo"); + e2.AppendChild(fooCDATASection); + DOMDifferenceEngine d = new DOMDifferenceEngine(); + Assert.AreEqual(ComparisonResult.EQUAL, d.CompareNodes(e1, e2)); + Assert.AreEqual(ComparisonResult.EQUAL, d.CompareNodes(e2, e1)); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |