You can subscribe to this list here.
2007 |
Jan
|
Feb
(3) |
Mar
(18) |
Apr
(39) |
May
(15) |
Jun
(12) |
Jul
(3) |
Aug
(23) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(21) |
Feb
(23) |
Mar
(33) |
Apr
(8) |
May
(1) |
Jun
(22) |
Jul
|
Aug
(1) |
Sep
(1) |
Oct
(6) |
Nov
|
Dec
(11) |
2009 |
Jan
(5) |
Feb
|
Mar
(2) |
Apr
(24) |
May
(36) |
Jun
(18) |
Jul
(2) |
Aug
(3) |
Sep
(9) |
Oct
(3) |
Nov
(1) |
Dec
|
2010 |
Jan
(5) |
Feb
(3) |
Mar
|
Apr
(15) |
May
(24) |
Jun
(11) |
Jul
(8) |
Aug
(34) |
Sep
(42) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
(13) |
Feb
(32) |
Mar
(35) |
Apr
(31) |
May
(33) |
Jun
(30) |
Jul
(32) |
Aug
(31) |
Sep
(30) |
Oct
(31) |
Nov
(32) |
Dec
(31) |
2012 |
Jan
(35) |
Feb
(31) |
Mar
(31) |
Apr
(30) |
May
(31) |
Jun
(34) |
Jul
(23) |
Aug
(30) |
Sep
(30) |
Oct
(29) |
Nov
(30) |
Dec
(32) |
2013 |
Jan
(25) |
Feb
(39) |
Mar
(1) |
Apr
(18) |
May
(1) |
Jun
|
Jul
(1) |
Aug
(20) |
Sep
(41) |
Oct
(32) |
Nov
(9) |
Dec
(31) |
2014 |
Jan
(31) |
Feb
(30) |
Mar
(34) |
Apr
(60) |
May
(31) |
Jun
(28) |
Jul
(32) |
Aug
(28) |
Sep
(26) |
Oct
(32) |
Nov
(43) |
Dec
(115) |
2015 |
Jan
(106) |
Feb
(101) |
Mar
(51) |
Apr
(32) |
May
(63) |
Jun
(18) |
Jul
|
Aug
(18) |
Sep
|
Oct
(1) |
Nov
(84) |
Dec
(63) |
2016 |
Jan
(26) |
Feb
(17) |
Mar
(104) |
Apr
(30) |
May
(6) |
Jun
(30) |
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(48) |
Dec
(22) |
2017 |
Jan
(15) |
Feb
(29) |
Mar
(43) |
Apr
(29) |
May
(25) |
Jun
(28) |
Jul
(62) |
Aug
(35) |
Sep
(35) |
Oct
(72) |
Nov
(10) |
Dec
(4) |
2018 |
Jan
(7) |
Feb
(4) |
Mar
|
Apr
(46) |
May
(20) |
Jun
(12) |
Jul
(9) |
Aug
(42) |
Sep
(4) |
Oct
(17) |
Nov
(32) |
Dec
(31) |
2019 |
Jan
(21) |
Feb
(14) |
Mar
|
Apr
(74) |
May
(25) |
Jun
(43) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
(2) |
Nov
|
Dec
(10) |
2020 |
Jan
(1) |
Feb
|
Mar
(26) |
Apr
(8) |
May
(62) |
Jun
(4) |
Jul
(25) |
Aug
|
Sep
(21) |
Oct
(24) |
Nov
(26) |
Dec
(9) |
2021 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(11) |
Nov
(1) |
Dec
(12) |
2022 |
Jan
(47) |
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(14) |
2023 |
Jan
(3) |
Feb
|
Mar
(60) |
Apr
(9) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
(5) |
Feb
|
Mar
|
Apr
(10) |
May
(1) |
Jun
|
Jul
|
Aug
(17) |
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2025 |
Jan
|
Feb
|
Mar
(88) |
Apr
(64) |
May
(47) |
Jun
(20) |
Jul
|
Aug
(14) |
Sep
(8) |
Oct
|
Nov
|
Dec
|
From: <bo...@us...> - 2007-07-05 08:19:13
|
Revision: 223 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=223&view=rev Author: bodewig Date: 2007-07-05 01:19:14 -0700 (Thu, 05 Jul 2007) Log Message: ----------- Add information required by Maven peeps for repository uploads Modified Paths: -------------- trunk/xmlunit/src/etc/xmlunit.pom Modified: trunk/xmlunit/src/etc/xmlunit.pom =================================================================== --- trunk/xmlunit/src/etc/xmlunit.pom 2007-06-29 04:55:52 UTC (rev 222) +++ trunk/xmlunit/src/etc/xmlunit.pom 2007-07-05 08:19:14 UTC (rev 223) @@ -3,14 +3,18 @@ <groupId>@GROUP@</groupId> <artifactId>@ARTIFACT@</artifactId> <packaging>@TYPE@</packaging> + <name>XMLUnit for Java</name> <version>@VERSION@</version> + <url>http://xmlunit.sourceforge.net/</url> <description>@DESCRIPTION@</description> - <url>http://xmlunit.sourceforge.net/</url> <licenses> <license> <name>@LICENSE@</name> <url>@LICENSE_URL@</url> </license> </licenses> + <scm> + <url>http://xmlunit.svn.sourceforge.net/viewvc/xmlunit/</url> + </scm> <dependencies/> </project> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-06-29 04:55:53
|
Revision: 222 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=222&view=rev Author: bodewig Date: 2007-06-28 21:55:52 -0700 (Thu, 28 Jun 2007) Log Message: ----------- Update site Modified Paths: -------------- trunk/xmlunit/src/site/index.html Modified: trunk/xmlunit/src/site/index.html =================================================================== --- trunk/xmlunit/src/site/index.html 2007-06-27 11:45:24 UTC (rev 221) +++ trunk/xmlunit/src/site/index.html 2007-06-29 04:55:52 UTC (rev 222) @@ -63,9 +63,8 @@ <tr> <td colspan="2"> <p>The current stable release is <a - href="http://sourceforge.net/project/showfiles.php?group_id=23187&release_id=155097">XMLUnit -1.0</a>, April 2003 (release notes are <a - href="http://xmlunit.svn.sourceforge.net/viewvc/*checkout*/xmlunit/tags/v1_0/xmlunit/README.txt">here</a>), the latest release is XMLUnit 1.1 beta 2 released in May 2007. It can be downloaded from <a href="http://sourceforge.net/project/showfiles.php?group_id=23187">here</a>.</p> + href="https://sourceforge.net/project/showfiles.php?group_id=23187&package_id=15921&release_id=519570">XMLUnit + 1.1</a>, June 2007.</p> <p>XMLUnit for Java provides two JUnit extension classes, <code>XMLAssert</code> and <code>XMLTestCase</code>, and a set of supporting classes (e.g. <code>Diff</code>, <code>DetailedDiff</code>,<code>Transform</code>,<code>SimpleXpathEngine</code>,<code>Validator</code>,<code>NodeTest</code>) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-06-27 11:45:21
|
Revision: 221 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=221&view=rev Author: bodewig Date: 2007-06-27 04:45:24 -0700 (Wed, 27 Jun 2007) Log Message: ----------- bump version Modified Paths: -------------- trunk/xmlunit/build.xml trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java Modified: trunk/xmlunit/build.xml =================================================================== --- trunk/xmlunit/build.xml 2007-06-27 11:44:23 UTC (rev 220) +++ trunk/xmlunit/build.xml 2007-06-27 11:45:24 UTC (rev 221) @@ -4,7 +4,7 @@ <property file="build.properties"/> <!-- Version --> - <property name="xmlunit.version" value="1.1beta3"/> + <property name="xmlunit.version" value="1.2alpha"/> <!-- some locations --> <property name="src.dir" value="src"/> Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java 2007-06-27 11:44:23 UTC (rev 220) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java 2007-06-27 11:45:24 UTC (rev 221) @@ -477,7 +477,7 @@ * @return current version */ public static String getVersion() { - return "1.1beta3"; + return "1.2alpha"; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-06-27 11:44:21
|
Revision: 220 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=220&view=rev Author: bodewig Date: 2007-06-27 04:44:23 -0700 (Wed, 27 Jun 2007) Log Message: ----------- Tag XMLUnit-Java 1.1 Modified Paths: -------------- tags/XMLUnit-Java-1.1/build.xml tags/XMLUnit-Java-1.1/src/java/org/custommonkey/xmlunit/XMLUnit.java Added Paths: ----------- tags/XMLUnit-Java-1.1/ Copied: tags/XMLUnit-Java-1.1 (from rev 219, trunk/xmlunit) Modified: tags/XMLUnit-Java-1.1/build.xml =================================================================== --- trunk/xmlunit/build.xml 2007-06-27 06:50:33 UTC (rev 219) +++ tags/XMLUnit-Java-1.1/build.xml 2007-06-27 11:44:23 UTC (rev 220) @@ -4,7 +4,7 @@ <property file="build.properties"/> <!-- Version --> - <property name="xmlunit.version" value="1.1beta3"/> + <property name="xmlunit.version" value="1.1"/> <!-- some locations --> <property name="src.dir" value="src"/> Modified: tags/XMLUnit-Java-1.1/src/java/org/custommonkey/xmlunit/XMLUnit.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java 2007-06-27 06:50:33 UTC (rev 219) +++ tags/XMLUnit-Java-1.1/src/java/org/custommonkey/xmlunit/XMLUnit.java 2007-06-27 11:44:23 UTC (rev 220) @@ -477,7 +477,7 @@ * @return current version */ public static String getVersion() { - return "1.1beta3"; + return "1.1"; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2007-06-27 06:52:49
|
Bugs item #1742826, was opened at 2007-06-25 15:07 Message generated for change (Comment added) made by bodewig You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1742826&group_id=23187 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Interface (example) Group: v1.0 (example) >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: Stephen Smith (stephen_smith) Assigned to: Nobody/Anonymous (nobody) Summary: Transform#getTransformer should set URIResolver first. Initial Comment: At present Transformer#getTransformer(Source) instantiates the XSL stylesheet before setting the URI resolver. This means that if the XSL stylesheet contains any include statements, the URI resolver is not yet present and XSL compilation will fail. I can't find a workaround for this in the current Transform API. Could the URI resolver be set just before the stylesheet is instantiated please? ---------------------------------------------------------------------- >Comment By: Stefan Bodewig (bodewig) Date: 2007-06-27 08:52 Message: Logged In: YES user_id=113148 Originator: NO Good catch! And just in time for the release. Fixed in svn trunk, will be fixed in XMLUnit 1.1 final. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1742826&group_id=23187 |
From: <bo...@us...> - 2007-06-27 06:50:31
|
Revision: 219 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=219&view=rev Author: bodewig Date: 2007-06-26 23:50:33 -0700 (Tue, 26 Jun 2007) Log Message: ----------- Fix for Bug 1742826 Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/Transform.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/Transform.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/Transform.java 2007-06-27 06:50:14 UTC (rev 218) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/Transform.java 2007-06-27 06:50:33 UTC (rev 219) @@ -196,9 +196,6 @@ Transformer t = stylesheetSource == null ? factory.newTransformer() : factory.newTransformer(stylesheetSource); - if (XMLUnit.getURIResolver() != null) { - t.setURIResolver(XMLUnit.getURIResolver()); - } return t; } catch (javax.xml.transform.TransformerConfigurationException ex) { throw new ConfigurationException(ex); Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java 2007-06-27 06:50:14 UTC (rev 218) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java 2007-06-27 06:50:33 UTC (rev 219) @@ -397,6 +397,9 @@ public static TransformerFactory getTransformerFactory() { if (transformerFactory == null) { transformerFactory = TransformerFactory.newInstance(); + if (uriResolver != null) { + transformerFactory.setURIResolver(uriResolver); + } } return transformerFactory; } @@ -405,7 +408,11 @@ * Sets the URIResolver to use during transformations. */ public static void setURIResolver(URIResolver resolver) { - uriResolver = resolver; + if (uriResolver != resolver) { + uriResolver = resolver; + transformerFactory = null; + getTransformerFactory(); + } } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-06-27 06:50:13
|
Revision: 218 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=218&view=rev Author: bodewig Date: 2007-06-26 23:50:14 -0700 (Tue, 26 Jun 2007) Log Message: ----------- Test for Bug 1742826 Modified Paths: -------------- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Transform.java Modified: trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Transform.java =================================================================== --- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Transform.java 2007-05-29 12:44:41 UTC (rev 217) +++ trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Transform.java 2007-06-27 06:50:14 UTC (rev 218) @@ -39,7 +39,11 @@ import java.io.File; import java.io.FileReader; +import org.custommonkey.xmlunit.exceptions.ConfigurationException; + import javax.xml.transform.OutputKeys; +import javax.xml.transform.Source; +import javax.xml.transform.URIResolver; import junit.framework.TestCase; import junit.framework.TestSuite; @@ -116,6 +120,30 @@ assertEquals("<creepycrawly/>", transform.getResultString()); } + /** + * Issue 1742826 + */ + public void testURIResolverForStylesheet() throws Exception { + TestResolver tr = new TestResolver(); + try { + XMLUnit.setURIResolver(tr); + String s = "<foo/>"; + String xsl = test_Constants.XML_DECLARATION + + test_Constants.XSLT_START + + "<xsl:include href=\"urn:bar\"/>" + + test_Constants.XSLT_END; + try { + Transform transform = new Transform(s, xsl); + fail("should fail because of unknown include URI"); + } catch (ConfigurationException tce) { + // expected exception + } + assertTrue("URIResolver has been called", tr.called); + } finally { + XMLUnit.setURIResolver(null); + } + } + private void assertNotEquals(Object expected, Object actual) { if (expected.equals(actual)) { fail("Expected " + expected + " different to actual!"); @@ -130,13 +158,6 @@ animal = new File(test_Constants.BASEDIR + "/tests/etc/animal.xsl"); } - /** - * Return the test suite containing this test - */ - public static TestSuite suite(){ - return new TestSuite(test_Transform.class); - } - private static String stripLineFeeds(String s) { int index = s.indexOf(test_Constants.LINE_SEPARATOR); while (index > -1) { @@ -146,5 +167,14 @@ } return s; } + + private static class TestResolver implements URIResolver { + private boolean called = false; + + public Source resolve(String h, String b) { + called = true; + return null; + } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2007-06-25 13:07:15
|
Bugs item #1742826, was opened at 2007-06-25 13:07 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1742826&group_id=23187 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Interface (example) Group: v1.0 (example) Status: Open Resolution: None Priority: 5 Private: No Submitted By: Stephen Smith (stephen_smith) Assigned to: Nobody/Anonymous (nobody) Summary: Transform#getTransformer should set URIResolver first. Initial Comment: At present Transformer#getTransformer(Source) instantiates the XSL stylesheet before setting the URI resolver. This means that if the XSL stylesheet contains any include statements, the URI resolver is not yet present and XSL compilation will fail. I can't find a workaround for this in the current Transform API. Could the URI resolver be set just before the stylesheet is instantiated please? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1742826&group_id=23187 |
From: SourceForge.net <no...@so...> - 2007-06-08 11:27:51
|
Bugs item #1731980, was opened at 2007-06-06 14:16 Message generated for change (Comment added) made by bodewig You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed >Resolution: Invalid Priority: 5 Private: No Submitted By: Rooks (rooks_sf) Assigned to: Nobody/Anonymous (nobody) Summary: XMLUnit say indentical xmls are different Initial Comment: Consider the 2 attached xmls : They are same but for whitespaces but following code says they are different. public static boolean compareFiles(File f1, File f2) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document d1 = builder.parse(f1); DocumentBuilder builder1 = factory.newDocumentBuilder(); Document d2 = builder1.parse(f2); Diff xmlDiff = XMLUnit.compareXML(d1, d2); debug("XML Diff :: " + xmlDiff.toString()); return xmlDiff.identical() || xmlDiff.similar(); } The debug diff printed out is : XML Diff :: org.custommonkey.xmlunit.Diff [different] Expected number of child nodes '8' but was '9' - comparing <hierarchy...> at /hierarchy[1] to <hierarchy...> at /hierarchy[1] ---------------------------------------------------------------------- >Comment By: Stefan Bodewig (bodewig) Date: 2007-06-08 13:27 Message: Logged In: YES user_id=113148 Originator: NO The two files you've attached are not identical, there is an additional newline between the closing tag of namespaces and the opening one of hierarchyVersion in exportHierarchy. Whitespace between elements is significant unless you tell XMLUnit to ignore it (which is what "nobody" suggested in the previous comment). In the absence of a DTD or an XML Schema XMLUnit cannot know whether an element supports mixed content so it cannot know whether the whitespace-only text content is significant or not. The default is to assume that whitespace is significant. Since you provide a Schema, it might work if you turn on validation on your DocumentBuilder since this may suppress the whitespace node completely. I haven't tried that, though. I'm closing the bug report as invalid since XMLUnit behaves as expected. ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-06-08 10:34 Message: Logged In: NO Add the following line b4 u do the comparison: XMLUnit.setIgnoreWhitespace(true); ---------------------------------------------------------------------- Comment By: Rooks (rooks_sf) Date: 2007-06-06 14:19 Message: Logged In: YES user_id=1535638 Originator: YES This happens in both 1.0 and XMLUnit 1.1 beta 2. ---------------------------------------------------------------------- Comment By: Rooks (rooks_sf) Date: 2007-06-06 14:17 Message: Logged In: YES user_id=1535638 Originator: YES File Added: testExportHierarchy_Output.xml ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 |
From: SourceForge.net <no...@so...> - 2007-06-08 08:34:02
|
Bugs item #1731980, was opened at 2007-06-06 05:16 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Rooks (rooks_sf) Assigned to: Nobody/Anonymous (nobody) Summary: XMLUnit say indentical xmls are different Initial Comment: Consider the 2 attached xmls : They are same but for whitespaces but following code says they are different. public static boolean compareFiles(File f1, File f2) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document d1 = builder.parse(f1); DocumentBuilder builder1 = factory.newDocumentBuilder(); Document d2 = builder1.parse(f2); Diff xmlDiff = XMLUnit.compareXML(d1, d2); debug("XML Diff :: " + xmlDiff.toString()); return xmlDiff.identical() || xmlDiff.similar(); } The debug diff printed out is : XML Diff :: org.custommonkey.xmlunit.Diff [different] Expected number of child nodes '8' but was '9' - comparing <hierarchy...> at /hierarchy[1] to <hierarchy...> at /hierarchy[1] ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-06-08 01:34 Message: Logged In: NO Add the following line b4 u do the comparison: XMLUnit.setIgnoreWhitespace(true); ---------------------------------------------------------------------- Comment By: Rooks (rooks_sf) Date: 2007-06-06 05:19 Message: Logged In: YES user_id=1535638 Originator: YES This happens in both 1.0 and XMLUnit 1.1 beta 2. ---------------------------------------------------------------------- Comment By: Rooks (rooks_sf) Date: 2007-06-06 05:17 Message: Logged In: YES user_id=1535638 Originator: YES File Added: testExportHierarchy_Output.xml ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 |
From: SourceForge.net <no...@so...> - 2007-06-06 12:19:06
|
Bugs item #1731980, was opened at 2007-06-06 12:16 Message generated for change (Comment added) made by rooks_sf You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Rooks (rooks_sf) Assigned to: Nobody/Anonymous (nobody) Summary: XMLUnit say indentical xmls are different Initial Comment: Consider the 2 attached xmls : They are same but for whitespaces but following code says they are different. public static boolean compareFiles(File f1, File f2) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document d1 = builder.parse(f1); DocumentBuilder builder1 = factory.newDocumentBuilder(); Document d2 = builder1.parse(f2); Diff xmlDiff = XMLUnit.compareXML(d1, d2); debug("XML Diff :: " + xmlDiff.toString()); return xmlDiff.identical() || xmlDiff.similar(); } The debug diff printed out is : XML Diff :: org.custommonkey.xmlunit.Diff [different] Expected number of child nodes '8' but was '9' - comparing <hierarchy...> at /hierarchy[1] to <hierarchy...> at /hierarchy[1] ---------------------------------------------------------------------- >Comment By: Rooks (rooks_sf) Date: 2007-06-06 12:19 Message: Logged In: YES user_id=1535638 Originator: YES This happens in both 1.0 and XMLUnit 1.1 beta 2. ---------------------------------------------------------------------- Comment By: Rooks (rooks_sf) Date: 2007-06-06 12:17 Message: Logged In: YES user_id=1535638 Originator: YES File Added: testExportHierarchy_Output.xml ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 |
From: SourceForge.net <no...@so...> - 2007-06-06 12:17:23
|
Bugs item #1731980, was opened at 2007-06-06 12:16 Message generated for change (Comment added) made by rooks_sf You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Rooks (rooks_sf) Assigned to: Nobody/Anonymous (nobody) Summary: XMLUnit say indentical xmls are different Initial Comment: Consider the 2 attached xmls : They are same but for whitespaces but following code says they are different. public static boolean compareFiles(File f1, File f2) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document d1 = builder.parse(f1); DocumentBuilder builder1 = factory.newDocumentBuilder(); Document d2 = builder1.parse(f2); Diff xmlDiff = XMLUnit.compareXML(d1, d2); debug("XML Diff :: " + xmlDiff.toString()); return xmlDiff.identical() || xmlDiff.similar(); } The debug diff printed out is : XML Diff :: org.custommonkey.xmlunit.Diff [different] Expected number of child nodes '8' but was '9' - comparing <hierarchy...> at /hierarchy[1] to <hierarchy...> at /hierarchy[1] ---------------------------------------------------------------------- >Comment By: Rooks (rooks_sf) Date: 2007-06-06 12:17 Message: Logged In: YES user_id=1535638 Originator: YES File Added: testExportHierarchy_Output.xml ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 |
From: SourceForge.net <no...@so...> - 2007-06-06 12:16:53
|
Bugs item #1731980, was opened at 2007-06-06 12:16 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Rooks (rooks_sf) Assigned to: Nobody/Anonymous (nobody) Summary: XMLUnit say indentical xmls are different Initial Comment: Consider the 2 attached xmls : They are same but for whitespaces but following code says they are different. public static boolean compareFiles(File f1, File f2) throws Exception { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document d1 = builder.parse(f1); DocumentBuilder builder1 = factory.newDocumentBuilder(); Document d2 = builder1.parse(f2); Diff xmlDiff = XMLUnit.compareXML(d1, d2); debug("XML Diff :: " + xmlDiff.toString()); return xmlDiff.identical() || xmlDiff.similar(); } The debug diff printed out is : XML Diff :: org.custommonkey.xmlunit.Diff [different] Expected number of child nodes '8' but was '9' - comparing <hierarchy...> at /hierarchy[1] to <hierarchy...> at /hierarchy[1] ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=1731980&group_id=23187 |
From: SourceForge.net <no...@so...> - 2007-05-30 21:19:53
|
Feature Requests item #1728598, was opened at 2007-05-30 17:19 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377771&aid=1728598&group_id=23187 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: KingArgyle (kingargyle1) Assigned to: Nobody/Anonymous (nobody) Summary: XML Schema Validation Initial Comment: The following files add support for validating a W3C Schema to make sure it is a valid schema document. This is different than validating an XML instance against a Schema. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377771&aid=1728598&group_id=23187 |
From: <bo...@us...> - 2007-05-29 12:44:40
|
Revision: 217 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=217&view=rev Author: bodewig Date: 2007-05-29 05:44:41 -0700 (Tue, 29 May 2007) Log Message: ----------- duplicate code Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLAssert.java Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLAssert.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLAssert.java 2007-05-29 12:31:26 UTC (rev 216) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLAssert.java 2007-05-29 12:44:41 UTC (rev 217) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -450,14 +450,8 @@ String testXpath, Document testDocument) throws XpathException { - XpathEngine xpath = XMLUnit.newXpathEngine(); - Diff diff = new Diff(asXpathResultDocument(XMLUnit.newControlParser(), - xpath.getMatchingNodes(controlXpath, - controlDocument)), - asXpathResultDocument(XMLUnit.newTestParser(), - xpath.getMatchingNodes(testXpath, - testDocument))); - assertXMLEqual(diff, true); + assertXpathEquality(controlXpath, controlDocument, testXpath, + testDocument, true); } /** @@ -559,6 +553,25 @@ String testXpath, Document testDocument) throws XpathException { + assertXpathEquality(controlXpath, controlDocument, testXpath, + testDocument, false); + } + + /** + * Assert that the node lists of two Xpaths in two documents are + * equal or not. + * @param xpathOne + * @param xpathTwo + * @param document + * @param equality whether the values should be equal. + * @see XpathEngine + */ + private static void assertXpathEquality(String controlXpath, + Document controlDocument, + String testXpath, + Document testDocument, + boolean equal) + throws XpathException { XpathEngine xpath = XMLUnit.newXpathEngine(); Diff diff = new Diff(asXpathResultDocument(XMLUnit.newControlParser(), xpath.getMatchingNodes(controlXpath, @@ -566,7 +579,7 @@ asXpathResultDocument(XMLUnit.newTestParser(), xpath.getMatchingNodes(testXpath, testDocument))); - assertXMLEqual(diff, false); + assertXMLEqual(diff, equal); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-29 12:31:29
|
Revision: 216 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=216&view=rev Author: bodewig Date: 2007-05-29 05:31:26 -0700 (Tue, 29 May 2007) Log Message: ----------- fix PMD detected problems, nothing major Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DetailedDiff.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/Diff.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/DoctypeReader.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/DoctypeSupport.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/ElementNameQualifier.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeInputStream.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/SimpleXpathEngine.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/TolerantSaxDocumentBuilder.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/Transform.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/Validator.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathEngine.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathNodeTracker.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/examples/MultiLevelElementNameAndTextQualifier.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/examples/XPathRegexAssert.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XMLUnitException.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XMLUnitRuntimeException.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XpathException.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/jaxp13/Jaxp13XpathEngine.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/jaxp13/XMLUnitNamespaceContext2Jaxp13.java Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/DetailedDiff.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DetailedDiff.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/DetailedDiff.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -73,7 +73,6 @@ */ public int differenceFound(Difference difference) { final int returnValue = super.differenceFound(difference); - Difference localDifference = null; switch (returnValue) { case RETURN_IGNORE_DIFFERENCE_NODES_IDENTICAL: return returnValue; @@ -82,6 +81,11 @@ case RETURN_IGNORE_DIFFERENCE_NODES_SIMILAR: difference.setRecoverable(true); break; + default: + throw new IllegalArgumentException(returnValue + + " is not a defined " + + " DifferenceListener" + + ".RETURN_... value"); } allDifferences.add(difference); return returnValue; Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/Diff.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/Diff.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/Diff.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -279,7 +279,7 @@ * @param difference */ private void appendDifference(StringBuffer appendTo, Difference difference) { - appendTo.append(" ").append(difference).append('\n'); + appendTo.append(' ').append(difference).append('\n'); } /** Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2007-05-29 12:31:26 UTC (rev 216) @@ -37,7 +37,6 @@ package org.custommonkey.xmlunit; import java.util.ArrayList; -import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -264,7 +263,7 @@ boolean flag = n.hasChildNodes(); if (flag && XMLUnit.getIgnoreComments()) { List nl = nodeList2List(n.getChildNodes()); - flag = nl.size() > 0; + flag = !nl.isEmpty(); } return flag ? Boolean.TRUE : Boolean.FALSE; } Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/DoctypeReader.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DoctypeReader.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/DoctypeReader.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/DoctypeSupport.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DoctypeSupport.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/DoctypeSupport.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -76,7 +76,7 @@ StringBuffer sb = new StringBuffer(DOCTYPE_OPEN_DECL); sb.append(DOCTYPE).append(name).append(SYSTEM) - .append(systemId).append("\"").append(DOCTYPE_CLOSE_DECL); + .append(systemId).append('\"').append(DOCTYPE_CLOSE_DECL); String s = sb.toString(); IntegerBuffer buf = new IntegerBuffer(s.length() * (characters ? 1 : 2)); Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/ElementNameQualifier.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/ElementNameQualifier.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/ElementNameQualifier.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeInputStream.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeInputStream.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeInputStream.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/SimpleXpathEngine.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/SimpleXpathEngine.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/SimpleXpathEngine.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -228,10 +228,10 @@ prefix = ""; } - if (uri.indexOf("'") != -1) { + if (uri.indexOf('\'') != -1) { quoteStyle = "\""; } - nsDecls.append(" ").append(XMLNS_PREFIX); + nsDecls.append(' ').append(XMLNS_PREFIX); if (prefix.length() > 0) { nsDecls.append(':'); } Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/TolerantSaxDocumentBuilder.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/TolerantSaxDocumentBuilder.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/TolerantSaxDocumentBuilder.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -158,7 +158,6 @@ return; } - String nodeName; Node parentNode = null; boolean atDocumentRoot = false, foundTagToEnd = false; Element startElement = currentElement; Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/Transform.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/Transform.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/Transform.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -37,6 +37,7 @@ package org.custommonkey.xmlunit; import org.custommonkey.xmlunit.exceptions.ConfigurationException; +import org.custommonkey.xmlunit.exceptions.XMLUnitRuntimeException; import java.io.File; import java.io.StringReader; @@ -178,7 +179,8 @@ try { return PWD.toURL().toExternalForm(); } catch (MalformedURLException e) { - throw new RuntimeException("Unable to determine current working directory!"); + throw new XMLUnitRuntimeException("Unable to determine current " + + "working directory!", e); } } /** Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/Validator.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/Validator.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/Validator.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathEngine.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathEngine.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathEngine.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2006-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,11 +36,9 @@ package org.custommonkey.xmlunit; -import org.custommonkey.xmlunit.exceptions.ConfigurationException; import org.custommonkey.xmlunit.exceptions.XpathException; import org.w3c.dom.Document; -import org.w3c.dom.Node; import org.w3c.dom.NodeList; /** Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathNodeTracker.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathNodeTracker.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathNodeTracker.java 2007-05-29 12:31:26 UTC (rev 216) @@ -62,7 +62,7 @@ * Simple constructor */ public XpathNodeTracker() { - indent(); + newLevel(); } /** @@ -81,6 +81,10 @@ if (currentEntry != null) { currentEntry.clearTrackedAttribute(); } + newLevel(); + } + + private void newLevel() { currentEntry = new TrackingEntry(); indentationList.add(currentEntry); } @@ -138,6 +142,9 @@ case Node.TEXT_NODE: visitedNode(node, XPATH_CHARACTER_NODE_IDENTIFIER); break; + default: + // ignore unhandled node types + break; } } @@ -203,15 +210,15 @@ value = startAt; } - public final void increment() { + public void increment() { ++value; } - public final int getValue() { + public int getValue() { return value; } - public final Integer toInteger() { + public Integer toInteger() { return new Integer(value); } } @@ -237,7 +244,7 @@ * @param visited the non-attribute node visited * @param value the String-ified value of the non-attribute node visited */ - public final void trackNode(Node visited, String value) { + public void trackNode(Node visited, String value) { if (nodeReferenceMap == null || trackNodeReferences) { Int occurrence = lookup(value); if (occurrence == null) { @@ -260,14 +267,14 @@ * Keep a reference to the visited attribute at the current visited node * @param value the attribute visited */ - public final void trackAttribute(String visited) { + public void trackAttribute(String visited) { currentAttribute = visited; } /** * Clear any reference to the current visited attribute */ - public final void clearTrackedAttribute() { + public void clearTrackedAttribute() { currentAttribute = null; } @@ -275,7 +282,7 @@ * Append the details of the current visited node to a StringBuffer * @param buf the StringBuffer to append to */ - public final void appendEntryTo(StringBuffer buf) { + public void appendEntryTo(StringBuffer buf) { if (currentValue == null) { return; } Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/examples/MultiLevelElementNameAndTextQualifier.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/examples/MultiLevelElementNameAndTextQualifier.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/examples/MultiLevelElementNameAndTextQualifier.java 2007-05-29 12:31:26 UTC (rev 216) @@ -38,8 +38,6 @@ import org.w3c.dom.Element; import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.w3c.dom.Text; import org.custommonkey.xmlunit.ElementNameAndTextQualifier; import org.custommonkey.xmlunit.ElementNameQualifier; Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/examples/XPathRegexAssert.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/examples/XPathRegexAssert.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/examples/XPathRegexAssert.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,7 +1,7 @@ // -*- Mode: JDE -*- /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2006-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -56,6 +56,8 @@ */ public class XPathRegexAssert { + // no instances + private XPathRegexAssert() {} public static void assertXPathMatches(String message, String regex, String xpath, Document doc) Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XMLUnitException.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XMLUnitException.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XMLUnitException.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2006-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XMLUnitRuntimeException.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XMLUnitRuntimeException.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XMLUnitRuntimeException.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2006-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -55,6 +55,15 @@ } /** + * Inititializes an exeption without cause. + * + * @param message the detail message + */ + public XMLUnitRuntimeException(String message) { + this(message, null); + } + + /** * Root cause of the exception, if any. */ public Throwable getCause() { Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XpathException.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XpathException.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/exceptions/XpathException.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2006-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/jaxp13/Jaxp13XpathEngine.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/jaxp13/Jaxp13XpathEngine.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/jaxp13/Jaxp13XpathEngine.java 2007-05-29 12:31:26 UTC (rev 216) @@ -48,7 +48,6 @@ import javax.xml.xpath.XPathFactory; import org.w3c.dom.Document; -import org.w3c.dom.Node; import org.w3c.dom.NodeList; /** Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/jaxp13/XMLUnitNamespaceContext2Jaxp13.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/jaxp13/XMLUnitNamespaceContext2Jaxp13.java 2007-05-29 11:35:11 UTC (rev 215) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/jaxp13/XMLUnitNamespaceContext2Jaxp13.java 2007-05-29 12:31:26 UTC (rev 216) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2006-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -52,7 +52,7 @@ public class XMLUnitNamespaceContext2Jaxp13 implements javax.xml.namespace.NamespaceContext { - private final HashMap/*<String, String>*/ nsMap; + private final Map/*<String, String>*/ nsMap; public XMLUnitNamespaceContext2Jaxp13(NamespaceContext ctx) { nsMap = turnIntoMap(ctx); @@ -91,7 +91,7 @@ return i.hasNext() ? (String) i.next() : null; } - private static HashMap turnIntoMap(NamespaceContext ctx) { + private static Map turnIntoMap(NamespaceContext ctx) { HashMap/*<String, String>*/ m = new HashMap(); for (Iterator i = ctx.getPrefixes(); i.hasNext(); ) { String prefix = (String) i.next(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-29 11:36:06
|
Revision: 215 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=215&view=rev Author: bodewig Date: 2007-05-29 04:35:11 -0700 (Tue, 29 May 2007) Log Message: ----------- fix FindBugs detected problems, nothing major Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/Difference.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/ElementNameAndAttributeQualifier.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/HTMLDocumentBuilder.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeDescriptor.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeTest.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeTestException.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathNodeTracker.java Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/Difference.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/Difference.java 2007-05-25 08:07:33 UTC (rev 214) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/Difference.java 2007-05-29 11:35:11 UTC (rev 215) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -148,6 +148,13 @@ } /** + * hashcode implementation to go with equals. + */ + public int hashCode() { + return id; + } + + /** * @return a basic representation of the object state and identity * and if <code>NodeDetail</code> instances are populated append * their details also Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/ElementNameAndAttributeQualifier.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/ElementNameAndAttributeQualifier.java 2007-05-25 08:07:33 UTC (rev 214) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/ElementNameAndAttributeQualifier.java 2007-05-29 11:35:11 UTC (rev 215) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,6 +36,7 @@ package org.custommonkey.xmlunit; +import java.util.Arrays; import org.w3c.dom.Attr; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; @@ -49,7 +50,7 @@ * @see Diff#overrideElementQualifier(ElementQualifier) */ public class ElementNameAndAttributeQualifier extends ElementNameQualifier { - public static final String[] ALL_ATTRIBUTES = {"*"}; + private static final String[] ALL_ATTRIBUTES = {"*"}; private final String[] qualifyingAttrNames; @@ -76,7 +77,9 @@ * elements can be compared further for differences */ public ElementNameAndAttributeQualifier(String[] attrNames) { - this.qualifyingAttrNames = attrNames; + this.qualifyingAttrNames = new String[attrNames.length]; + System.arraycopy(attrNames, 0, qualifyingAttrNames, 0, + attrNames.length); } /** @@ -109,7 +112,7 @@ String controlValue, testValue; Attr[] qualifyingAttributes; NamedNodeMap namedNodeMap = control.getAttributes(); - if (qualifyingAttrNames == ALL_ATTRIBUTES) { + if (matchesAllAttributes(qualifyingAttrNames)) { qualifyingAttributes = new Attr[namedNodeMap.getLength()]; for (int n=0; n < qualifyingAttributes.length; ++n) { qualifyingAttributes[n] = (Attr) namedNodeMap.item(n); @@ -150,4 +153,7 @@ return true; } + private static boolean matchesAllAttributes(String[] attributes) { + return Arrays.equals(attributes, ALL_ATTRIBUTES); + } } Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/HTMLDocumentBuilder.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/HTMLDocumentBuilder.java 2007-05-25 08:07:33 UTC (rev 214) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/HTMLDocumentBuilder.java 2007-05-29 11:35:11 UTC (rev 215) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -121,7 +121,7 @@ * to a Sax-aware ContentHandler. */ public class SwingEvent2SaxAdapter extends HTMLEditorKit.ParserCallback { - private final boolean IGNORE_HTML_CHAR_SET = true; + private static final boolean IGNORE_HTML_CHAR_SET = true; private final AttributesImpl attributes; private final ParserDelegator delegator; private boolean lastTagWasSimpleTag; Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeDescriptor.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeDescriptor.java 2007-05-25 08:07:33 UTC (rev 214) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeDescriptor.java 2007-05-29 11:35:11 UTC (rev 215) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -45,7 +45,7 @@ * Class for describing Nodes */ public class NodeDescriptor implements XMLConstants { - protected static String DOCUMENT_NODE_DESCRIPTION = "Document Node "; + protected static final String DOCUMENT_NODE_DESCRIPTION = "Document Node "; /** * Convert a Node into a simple String representation Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeTest.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeTest.java 2007-05-25 08:07:33 UTC (rev 214) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeTest.java 2007-05-29 11:35:11 UTC (rev 215) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -160,7 +160,7 @@ * Node type specific Node Filter: accepts Nodes of those types specified * in constructor, rejects all others */ - private class NodeTypeNodeFilter implements NodeFilter { + private static class NodeTypeNodeFilter implements NodeFilter { private final short[] nodeTypes; /** Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeTestException.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeTestException.java 2007-05-25 08:07:33 UTC (rev 214) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/NodeTestException.java 2007-05-29 11:35:11 UTC (rev 215) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -44,7 +44,7 @@ * @see NodeTest */ public class NodeTestException extends Exception { - private final Node node; + private transient final Node node; /** * Constructor for specific node and message Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathNodeTracker.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathNodeTracker.java 2007-05-25 08:07:33 UTC (rev 214) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/XpathNodeTracker.java 2007-05-29 11:35:11 UTC (rev 215) @@ -58,8 +58,6 @@ private final List indentationList = new ArrayList(); private TrackingEntry currentEntry; - private boolean trackRepeatedVisits = false; - /** * Simple constructor */ @@ -198,7 +196,7 @@ * Wrapper class around a mutable <code>int</code> value * Avoids creation of many immutable <code>Integer</code> objects */ - private final class Int { + private static final class Int { private int value; public Int(int startAt) { @@ -222,7 +220,7 @@ * Holds node tracking details - one instance is used for each level of indentation in a DOM * Provides reference between a String-ified Node value and the xpath index of that value */ - private final class TrackingEntry { + private static final class TrackingEntry { private final Map valueMap = new HashMap(); private String currentValue, currentAttribute; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-25 08:07:31
|
Revision: 214 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=214&view=rev Author: bodewig Date: 2007-05-25 01:07:33 -0700 (Fri, 25 May 2007) Log Message: ----------- More places where the version needs to be updated Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java trunk/xmlunit/src/site/index.html Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java 2007-05-25 04:06:03 UTC (rev 213) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLUnit.java 2007-05-25 08:07:33 UTC (rev 214) @@ -470,7 +470,7 @@ * @return current version */ public static String getVersion() { - return "1.1beta2"; + return "1.1beta3"; } /** Modified: trunk/xmlunit/src/site/index.html =================================================================== --- trunk/xmlunit/src/site/index.html 2007-05-25 04:06:03 UTC (rev 213) +++ trunk/xmlunit/src/site/index.html 2007-05-25 08:07:33 UTC (rev 214) @@ -65,7 +65,7 @@ <p>The current stable release is <a href="http://sourceforge.net/project/showfiles.php?group_id=23187&release_id=155097">XMLUnit 1.0</a>, April 2003 (release notes are <a - href="http://xmlunit.svn.sourceforge.net/viewvc/*checkout*/xmlunit/tags/v1_0/xmlunit/README.txt">here</a>), the latest release is XMLUnit 1.1 beta 1 released in April 2007. It can be downloaded from <a href="http://sourceforge.net/project/showfiles.php?group_id=23187">here</a>.</p> + href="http://xmlunit.svn.sourceforge.net/viewvc/*checkout*/xmlunit/tags/v1_0/xmlunit/README.txt">here</a>), the latest release is XMLUnit 1.1 beta 2 released in May 2007. It can be downloaded from <a href="http://sourceforge.net/project/showfiles.php?group_id=23187">here</a>.</p> <p>XMLUnit for Java provides two JUnit extension classes, <code>XMLAssert</code> and <code>XMLTestCase</code>, and a set of supporting classes (e.g. <code>Diff</code>, <code>DetailedDiff</code>,<code>Transform</code>,<code>SimpleXpathEngine</code>,<code>Validator</code>,<code>NodeTest</code>) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-25 04:06:07
|
Revision: 213 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=213&view=rev Author: bodewig Date: 2007-05-24 21:06:03 -0700 (Thu, 24 May 2007) Log Message: ----------- tag 1.1beta2, bump version in trunk Modified Paths: -------------- trunk/xmlunit/build.xml Added Paths: ----------- tags/XMLUnit-Java-1.1-beta2/ Copied: tags/XMLUnit-Java-1.1-beta2 (from rev 212, trunk/xmlunit) Modified: trunk/xmlunit/build.xml =================================================================== --- trunk/xmlunit/build.xml 2007-05-18 10:38:09 UTC (rev 212) +++ trunk/xmlunit/build.xml 2007-05-25 04:06:03 UTC (rev 213) @@ -4,7 +4,7 @@ <property file="build.properties"/> <!-- Version --> - <property name="xmlunit.version" value="1.1beta2"/> + <property name="xmlunit.version" value="1.1beta3"/> <!-- some locations --> <property name="src.dir" value="src"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-18 10:38:09
|
Revision: 212 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=212&view=rev Author: bodewig Date: 2007-05-18 03:38:09 -0700 (Fri, 18 May 2007) Log Message: ----------- document new Difference types Modified Paths: -------------- trunk/xmlunit/src/user-guide/XMLUnit-Java.xml Modified: trunk/xmlunit/src/user-guide/XMLUnit-Java.xml =================================================================== --- trunk/xmlunit/src/user-guide/XMLUnit-Java.xml 2007-05-18 10:37:41 UTC (rev 211) +++ trunk/xmlunit/src/user-guide/XMLUnit-Java.xml 2007-05-18 10:38:09 UTC (rev 212) @@ -1137,6 +1137,24 @@ <entry>Two nodes in the two pieces of XML share the same local name but use different XML Namespace URIs.</entry> </row> + <row> + <entry><literal>SCHEMA_LOCATION_ID</literal></entry> + <entry><literal>SCHEMA_LOCATION</literal></entry> + <entry><literal>true</literal></entry> + <entry>Two nodes have different values for the + <literal>schemaLocation</literal> attribute of the + XMLSchema-Instance namespace. The attribute could be + present on only one of the two nodes.</entry> + </row> + <row> + <entry><literal>NO_NAMESPACE_SCHEMA_LOCATION_ID</literal></entry> + <entry><literal>NO_NAMESPACE_SCHEMA_LOCATION</literal></entry> + <entry><literal>true</literal></entry> + <entry>Two nodes have different values for the + <literal>noNamespaceSchemaLocation</literal> attribute + of the XMLSchema-Instance namespace. The attribute + could be present on only one of the two nodes.</entry> + </row> </tbody> </tgroup> </table> @@ -1402,6 +1420,16 @@ <entry>The Namespace URI.</entry> </row> <row> + <entry><literal>SCHEMA_LOCATION_ID</literal></entry> + <entry>The attribute's value or "[attribute absent]" if + it has not been specified.</entry> + </row> + <row> + <entry><literal>NO_NAMESPACE_SCHEMA_LOCATION_ID</literal></entry> + <entry>The attribute's value or "[attribute absent]" if + it has not been specified.</entry> + </row> + <row> <entry><literal>ELEMENT_TAG_NAME_ID</literal></entry> <entry>The tag name with any Namespace information stripped.</entry> @@ -3032,6 +3060,38 @@ test element. Excess children of the test element were not reported at all.</para> </listitem> + + <listitem> + <para>The <literal>schemaLocation</literal> and + <literal>noNamespaceSchemaLocation</literal> attributes of + the XMLSchema-Instance Namespace are now treated in a + different way from "normal" attributes. They will be + flagged as new kinds of <literal>Difference</literal> that + is recoverable.</para> + + <para>This means that two pieces of XML that were + different in XMLUnit 1.0 because they differed in one of + the two attributes will be similar in XMLUnit 1.1.</para> + </listitem> + + <listitem> + <para>When comparing two elements that differ on + attributes the comparision is now symmetric.</para> + + <para>In XMLUnit 1.0 if an attribute was present on the + test but not the control element this wasn't flagged as a + <literal>Difference</literal>; in XMLUnit 1.1 it + is.</para> + + <para>In most practical cases this doesn't cause any + problems since the two elements either have a different + number of attributes or there are attributes in the + control element that are missing in the test element - so + the pieces of XML have been flagged as different before as + well. If you are using <literal>DetailiedDiff</literal> + this change may lead to more detected + <literal>Difference</literal>s, though.</para> + </listitem> </itemizedlist> </section> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-18 10:37:41
|
Revision: 211 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=211&view=rev Author: bodewig Date: 2007-05-18 03:37:41 -0700 (Fri, 18 May 2007) Log Message: ----------- minor refactoring Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2007-05-18 05:25:53 UTC (rev 210) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2007-05-18 10:37:41 UTC (rev 211) @@ -69,6 +69,7 @@ public class DifferenceEngine implements DifferenceConstants { private static final String NULL_NODE = "null"; private static final String NOT_NULL_NODE = "not null"; + private static final String ATTRIBUTE_ABSENT = "[attribute absent]"; private final ComparisonController controller; private final XpathNodeTracker controlTracker; private final XpathNodeTracker testTracker; @@ -485,11 +486,11 @@ NamedNodeMap testAttr, DifferenceListener listener) throws DifferenceFoundException { - ArrayList allTestAttrs = new ArrayList(); + ArrayList unmatchedTestAttrs = new ArrayList(); for (int i=0; i < testAttr.getLength(); ++i) { Attr nextAttr = (Attr) testAttr.item(i); if (!isXMLNSAttribute(nextAttr)) { - allTestAttrs.add(nextAttr); + unmatchedTestAttrs.add(nextAttr); } } @@ -510,7 +511,7 @@ } if (compareTo != null) { - allTestAttrs.remove(compareTo); + unmatchedTestAttrs.remove(compareTo); } if (isRecognizedXMLSchemaInstanceAttribute(nextAttr)) { @@ -523,7 +524,7 @@ if (!XMLUnit.getIgnoreAttributeOrder()) { Attr attributeItem = (Attr) testAttr.item(i); - String testAttrName = "[attribute absent]"; + String testAttrName = ATTRIBUTE_ABSENT; if (attributeItem != null) { testAttrName = getUnNamespacedNodeName(attributeItem); @@ -538,7 +539,7 @@ } } - for (Iterator iter = allTestAttrs.iterator(); iter.hasNext(); ) { + for (Iterator iter = unmatchedTestAttrs.iterator(); iter.hasNext(); ) { Attr nextAttr = (Attr) iter.next(); if (isRecognizedXMLSchemaInstanceAttribute(nextAttr)) { compareRecognizedXMLSchemaInstanceAttribute(null, nextAttr, @@ -616,8 +617,8 @@ testTracker.visited(test); } - compare(control != null ? control.getValue() : "[not specified]", - test != null ? test.getValue() : "[not specified]", + compare(control != null ? control.getValue() : ATTRIBUTE_ABSENT, + test != null ? test.getValue() : ATTRIBUTE_ABSENT, control, test, listener, d); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-18 05:25:54
|
Revision: 210 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=210&view=rev Author: bodewig Date: 2007-05-17 22:25:53 -0700 (Thu, 17 May 2007) Log Message: ----------- make attribute check symmetric Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DetailedDiff.java trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Diff.java trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DifferenceEngine.java Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2007-05-16 11:25:23 UTC (rev 209) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2007-05-18 05:25:53 UTC (rev 210) @@ -485,6 +485,14 @@ NamedNodeMap testAttr, DifferenceListener listener) throws DifferenceFoundException { + ArrayList allTestAttrs = new ArrayList(); + for (int i=0; i < testAttr.getLength(); ++i) { + Attr nextAttr = (Attr) testAttr.item(i); + if (!isXMLNSAttribute(nextAttr)) { + allTestAttrs.add(nextAttr); + } + } + for (int i=0; i < controlAttr.getLength(); ++i) { Attr nextAttr = (Attr) controlAttr.item(i); if (isXMLNSAttribute(nextAttr)) { @@ -501,6 +509,10 @@ compareTo = (Attr) testAttr.getNamedItem(attrName); } + if (compareTo != null) { + allTestAttrs.remove(compareTo); + } + if (isRecognizedXMLSchemaInstanceAttribute(nextAttr)) { compareRecognizedXMLSchemaInstanceAttribute(nextAttr, compareTo, @@ -525,6 +537,20 @@ } } } + + for (Iterator iter = allTestAttrs.iterator(); iter.hasNext(); ) { + Attr nextAttr = (Attr) iter.next(); + if (isRecognizedXMLSchemaInstanceAttribute(nextAttr)) { + compareRecognizedXMLSchemaInstanceAttribute(null, nextAttr, + listener); + } else { + compare(null, + getUnNamespacedNodeName(nextAttr, + isNamespaced(nextAttr)), + control, test, listener, ATTR_NAME_NOT_FOUND); + } + } + controlTracker.clearTrackedAttribute(); testTracker.clearTrackedAttribute(); } @@ -577,17 +603,20 @@ Attr test, DifferenceListener listener) throws DifferenceFoundException { + Attr nonNullNode = control != null ? control : test; Difference d = XMLConstants.W3C_XML_SCHEMA_INSTANCE_SCHEMA_LOCATION_ATTR - .equals(control.getLocalName()) + .equals(nonNullNode.getLocalName()) ? SCHEMA_LOCATION : NO_NAMESPACE_SCHEMA_LOCATION; - controlTracker.visited(control); + if (control != null) { + controlTracker.visited(control); + } if (test != null) { testTracker.visited(test); } - compare(control.getValue(), + compare(control != null ? control.getValue() : "[not specified]", test != null ? test.getValue() : "[not specified]", control, test, listener, d); } Modified: trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DetailedDiff.java =================================================================== --- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DetailedDiff.java 2007-05-16 11:25:23 UTC (rev 209) +++ trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DetailedDiff.java 2007-05-18 05:25:53 UTC (rev 210) @@ -81,15 +81,18 @@ List differences = detailedDiff.getAllDifferences(); - assertEquals("size: " + detailedDiff, 4, differences.size()); + assertEquals("size: " + detailedDiff, 5, differences.size()); assertEquals("first: " + detailedDiff, DifferenceConstants.ELEMENT_NUM_ATTRIBUTES, differences.get(0)); assertEquals("second: " + detailedDiff, DifferenceConstants.ATTR_VALUE, differences.get(1)); assertEquals("third: " + detailedDiff, DifferenceConstants.ATTR_SEQUENCE, differences.get(2)); - assertEquals("fourth: " + detailedDiff, - DifferenceConstants.HAS_CHILD_NODES, differences.get(3)); + assertEquals("forth: " + detailedDiff, + DifferenceConstants.ATTR_NAME_NOT_FOUND, + differences.get(3)); + assertEquals("fifth: " + detailedDiff, + DifferenceConstants.HAS_CHILD_NODES, differences.get(4)); } public void testPrototypeIsADetailedDiff() throws Exception { Modified: trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Diff.java =================================================================== --- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Diff.java 2007-05-16 11:25:23 UTC (rev 209) +++ trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Diff.java 2007-05-18 05:25:53 UTC (rev 210) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 200, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -686,7 +686,7 @@ /** * inspired by {@link * http://day-to-day-stuff.blogspot.com/2007/05/comparing-xml-in-junit-test.html - * Erik von Oosten's Weblog }, made us implement special handling + * Erik von Oosten's Weblog}, made us implement special handling * of schemaLocation. */ public void testNamespacePrefixDiff() throws Exception { Modified: trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DifferenceEngine.java =================================================================== --- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DifferenceEngine.java 2007-05-16 11:25:23 UTC (rev 209) +++ trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DifferenceEngine.java 2007-05-18 05:25:53 UTC (rev 210) @@ -801,9 +801,9 @@ Element test = document.createElement("foo"); engine.compare(control, test, listener, null); assertEquals(expectedDifference, listener.comparingWhat); - //resetListener(); - //engine.compare(test, control, listener, null); - //assertEquals(expectedDifference, listener.comparingWhat); + resetListener(); + engine.compare(test, control, listener, null); + assertEquals(expectedDifference, listener.comparingWhat); } public void testDifferentSchemaLocation() throws Exception { @@ -831,6 +831,15 @@ assertEquals(expectedDifference, listener.comparingWhat); } + public void testMissingAttribute() throws Exception { + Element control = document.createElement("foo"); + control.setAttribute("bar", "baz"); + Element test = document.createElement("foo"); + test.setAttribute("baz", "bar"); + engine.compare(control, test, listener, null); + assertEquals(ATTR_NAME_NOT_FOUND_ID, listener.comparingWhat); + } + private void listenToDifferences(String control, String test) throws SAXException, IOException { Document controlDoc = XMLUnit.buildControlDocument(control); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-16 11:25:24
|
Revision: 209 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=209&view=rev Author: bodewig Date: 2007-05-16 04:25:23 -0700 (Wed, 16 May 2007) Log Message: ----------- Treat xsi:schemaLocation and xsi:noNamespaceSchemaLocation in a special way Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceConstants.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/JAXPConstants.java trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLConstants.java trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Diff.java trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DifferenceEngine.java Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceConstants.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceConstants.java 2007-05-12 19:54:41 UTC (rev 208) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceConstants.java 2007-05-16 11:25:23 UTC (rev 209) @@ -87,6 +87,16 @@ /** Comparing 2 nodes and one holds more childnodes than can be * matched against child nodes of the other. */ int CHILD_NODE_NOT_FOUND_ID = 22; + /** Comparing 2 nodes with different xsi:schemaLocation + * attributes, potentially only one of the two provides such an + * attribute at all. + */ + int SCHEMA_LOCATION_ID = 23; + /** Comparing 2 nodes with different xsi:noNamespaceSchemaLocation + * attributes, potentially only one of the two provides such an + * attribute at all. + */ + int NO_NAMESPACE_SCHEMA_LOCATION_ID = 24; /** Comparing an implied attribute value against an explicit value */ public static final Difference ATTR_VALUE_EXPLICITLY_SPECIFIED = @@ -181,4 +191,20 @@ * matched against child nodes of the other. */ public static final Difference CHILD_NODE_NOT_FOUND = new Difference(CHILD_NODE_NOT_FOUND_ID, "presence of child node"); + + /** Comparing 2 nodes with different xsi:schemaLocation + * attributes, potentially only one of the two provides such an + * attribute at all. + */ + public static final Difference SCHEMA_LOCATION = + new Difference(SCHEMA_LOCATION_ID, "xsi:schemaLocation attribute", + true); + /** Comparing 2 nodes with different xsi:noNamespaceSchemaLocation + * attributes, potentially only one of the two provides such an + * attribute at all. + */ + public static final Difference NO_NAMESPACE_SCHEMA_LOCATION = + new Difference(NO_NAMESPACE_SCHEMA_LOCATION_ID, + "xsi:noNamespaceSchemaLocation attribute", + true); } \ No newline at end of file Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2007-05-12 19:54:41 UTC (rev 208) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2007-05-16 11:25:23 UTC (rev 209) @@ -453,9 +453,10 @@ control, test, listener, ELEMENT_TAG_NAME); NamedNodeMap controlAttr = control.getAttributes(); - Integer controlNonXmlnsAttrLength = getNonXmlnsAttrLength(controlAttr); + Integer controlNonXmlnsAttrLength = + getNonSpecialAttrLength(controlAttr); NamedNodeMap testAttr = test.getAttributes(); - Integer testNonXmlnsAttrLength = getNonXmlnsAttrLength(testAttr); + Integer testNonXmlnsAttrLength = getNonSpecialAttrLength(testAttr); compare(controlNonXmlnsAttrLength, testNonXmlnsAttrLength, control, test, listener, ELEMENT_NUM_ATTRIBUTES); @@ -463,10 +464,16 @@ listener); } - private Integer getNonXmlnsAttrLength(NamedNodeMap attributes) { + /** + * The number of attributes not related to namespace declarations + * and/or Schema location. + */ + private Integer getNonSpecialAttrLength(NamedNodeMap attributes) { int length = 0, maxLength = attributes.getLength(); for (int i = 0; i < maxLength; ++i) { - if (!isXMLNSAttribute((Attr) attributes.item(i))) { + Attr a = (Attr) attributes.item(i); + if (!isXMLNSAttribute(a) + && !isRecognizedXMLSchemaInstanceAttribute(a)) { ++length; } } @@ -493,8 +500,13 @@ } else { compareTo = (Attr) testAttr.getNamedItem(attrName); } - - if (compareTo != null) { + + if (isRecognizedXMLSchemaInstanceAttribute(nextAttr)) { + compareRecognizedXMLSchemaInstanceAttribute(nextAttr, + compareTo, + listener); + + } else if (compareTo != null) { compareAttribute(nextAttr, compareTo, listener); if (!XMLUnit.getIgnoreAttributeOrder()) { @@ -539,12 +551,54 @@ } /** + * @param attr + * @return true if the attribute is an XML Schema Instance + * namespace attribute XMLUnit treats in a special way. + */ + private boolean isRecognizedXMLSchemaInstanceAttribute(Attr attr) { + return XMLConstants + .W3C_XML_SCHEMA_INSTANCE_NS_URI.equals(attr.getNamespaceURI()) + && (XMLConstants + .W3C_XML_SCHEMA_INSTANCE_SCHEMA_LOCATION_ATTR + .equals(attr.getLocalName()) + || XMLConstants + .W3C_XML_SCHEMA_INSTANCE_NO_NAMESPACE_SCHEMA_LOCATION_ATTR + .equals(attr.getLocalName())); + } + + /** * Compare two attributes * @param control * @param test * @param listener * @throws DifferenceFoundException */ + protected void compareRecognizedXMLSchemaInstanceAttribute(Attr control, + Attr test, + DifferenceListener listener) + throws DifferenceFoundException { + Difference d = + XMLConstants.W3C_XML_SCHEMA_INSTANCE_SCHEMA_LOCATION_ATTR + .equals(control.getLocalName()) + ? SCHEMA_LOCATION : NO_NAMESPACE_SCHEMA_LOCATION; + + controlTracker.visited(control); + if (test != null) { + testTracker.visited(test); + } + + compare(control.getValue(), + test != null ? test.getValue() : "[not specified]", + control, test, listener, d); + } + + /** + * Compare two attributes + * @param control + * @param test + * @param listener + * @throws DifferenceFoundException + */ protected void compareAttribute(Attr control, Attr test, DifferenceListener listener) throws DifferenceFoundException { controlTracker.visited(control); Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/JAXPConstants.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/JAXPConstants.java 2007-05-12 19:54:41 UTC (rev 208) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/JAXPConstants.java 2007-05-16 11:25:23 UTC (rev 209) @@ -1,6 +1,6 @@ /* ****************************************************************** - Copyright (c) 200, Jeff Martin, Tim Bacon + Copyright (c) 2001-2007, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLConstants.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLConstants.java 2007-05-12 19:54:41 UTC (rev 208) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/XMLConstants.java 2007-05-16 11:25:23 UTC (rev 209) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001, Jeff Martin, Tim Bacon +Copyright (c) 2001-2007 Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -139,4 +139,22 @@ */ public static final String W3C_XML_SCHEMA_NS_URI = "http://www.w3.org/2001/XMLSchema"; + + /** + * http://www.w3.org/2001/XMLSchema-instance + */ + public static final String W3C_XML_SCHEMA_INSTANCE_NS_URI + = "http://www.w3.org/2001/XMLSchema-instance"; + + /** + * "schemaLocation" + */ + public static final String W3C_XML_SCHEMA_INSTANCE_SCHEMA_LOCATION_ATTR + = "schemaLocation"; + + /** + * "noNamespaceSchemaLocation" + */ + String W3C_XML_SCHEMA_INSTANCE_NO_NAMESPACE_SCHEMA_LOCATION_ATTR + = "noNamespaceSchemaLocation"; } Modified: trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Diff.java =================================================================== --- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Diff.java 2007-05-12 19:54:41 UTC (rev 208) +++ trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Diff.java 2007-05-16 11:25:23 UTC (rev 209) @@ -683,4 +683,27 @@ } } + /** + * inspired by {@link + * http://day-to-day-stuff.blogspot.com/2007/05/comparing-xml-in-junit-test.html + * Erik von Oosten's Weblog }, made us implement special handling + * of schemaLocation. + */ + public void testNamespacePrefixDiff() throws Exception { + String xml1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + + "<Message xmlns=\"http://www.a.nl/a10.xsd\"" + + " xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"" + + " xsi:schemaLocation=\"C:/longpath/a10.xsd\"" + + ">" + + "<MessageHeader/>" + + "</Message>"; + String xml2 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + + "<a:Message xmlns:a=\"http://www.a.nl/a10.xsd\">" + + "<a:MessageHeader/>" + + "</a:Message>"; + Diff d = buildDiff(xml1, xml2); + assertFalse(d.toString(), d.identical()); + assertTrue(d.toString(), d.similar()); + } + } Modified: trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DifferenceEngine.java =================================================================== --- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DifferenceEngine.java 2007-05-12 19:54:41 UTC (rev 208) +++ trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_DifferenceEngine.java 2007-05-16 11:25:23 UTC (rev 209) @@ -780,6 +780,57 @@ assertEquals(expectDifference, listener.different); } + public void testMissingSchemaLocation() throws Exception { + testMissingXSIAttribute(XMLConstants + .W3C_XML_SCHEMA_INSTANCE_SCHEMA_LOCATION_ATTR, + DifferenceConstants.SCHEMA_LOCATION_ID); + } + + public void testMissingNoNamespaceSchemaLocation() throws Exception { + testMissingXSIAttribute(XMLConstants + .W3C_XML_SCHEMA_INSTANCE_NO_NAMESPACE_SCHEMA_LOCATION_ATTR, + DifferenceConstants.NO_NAMESPACE_SCHEMA_LOCATION_ID); + } + + private void testMissingXSIAttribute(String attrName, + int expectedDifference) + throws Exception { + Element control = document.createElement("foo"); + control.setAttributeNS(XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, + attrName, "bar"); + Element test = document.createElement("foo"); + engine.compare(control, test, listener, null); + assertEquals(expectedDifference, listener.comparingWhat); + //resetListener(); + //engine.compare(test, control, listener, null); + //assertEquals(expectedDifference, listener.comparingWhat); + } + + public void testDifferentSchemaLocation() throws Exception { + testDifferentXSIAttribute(XMLConstants + .W3C_XML_SCHEMA_INSTANCE_SCHEMA_LOCATION_ATTR, + DifferenceConstants.SCHEMA_LOCATION_ID); + } + + public void testDifferentNoNamespaceSchemaLocation() throws Exception { + testDifferentXSIAttribute(XMLConstants + .W3C_XML_SCHEMA_INSTANCE_NO_NAMESPACE_SCHEMA_LOCATION_ATTR, + DifferenceConstants.NO_NAMESPACE_SCHEMA_LOCATION_ID); + } + + private void testDifferentXSIAttribute(String attrName, + int expectedDifference) + throws Exception { + Element control = document.createElement("foo"); + control.setAttributeNS(XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, + attrName, "bar"); + Element test = document.createElement("foo"); + test.setAttributeNS(XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, + attrName, "baz"); + engine.compare(control, test, listener, null); + assertEquals(expectedDifference, listener.comparingWhat); + } + private void listenToDifferences(String control, String test) throws SAXException, IOException { Document controlDoc = XMLUnit.buildControlDocument(control); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-12 19:54:48
|
Revision: 208 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=208&view=rev Author: bodewig Date: 2007-05-12 12:54:41 -0700 (Sat, 12 May 2007) Log Message: ----------- new signatures Modified Paths: -------------- trunk/xmlunit/KEYS Modified: trunk/xmlunit/KEYS =================================================================== --- trunk/xmlunit/KEYS 2007-05-07 09:32:50 UTC (rev 207) +++ trunk/xmlunit/KEYS 2007-05-12 19:54:41 UTC (rev 208) @@ -23,7 +23,7 @@ sig 0CAA68B4 2004-11-11 Patrick Rentsch <pat...@su...> sig 2FE28BCF 2005-07-01 Harald Wilhelm (HAWI) <Har...@ha...> sig 5793498F 2005-07-21 Tim Ellison <ti...@el...> -sig E4136392 2005-07-21 [User ID not found] +sig E4136392 2005-07-21 Noel J. Bergman <no...@ap...> sig 8408F755 2005-07-21 Christian Geisert <ch...@ap...> sig 2 FC243F3C 2005-07-20 Henk P. Penning <pe...@cs...> sig 3 EC140B81 2005-07-20 Dirk-Willem van Gulik (http://www.anywi.com/ - Senior partner) <di...@an...> @@ -49,6 +49,19 @@ sig 3 F8EA2967 2005-07-26 [User ID not found] sig 3 C152431A 2005-07-27 Steve Loughran <st...@ap...> sig DE885DD3 2005-11-25 Sander Striker <st...@ap...> +sig CE419C8F 2007-01-05 Upayavira <upa...@od...> +sig E222DE4F 2007-05-02 Mathias Herberts <Mat...@ir...> +sig 911203E4 2007-05-02 [User ID not found] +sig F12F6072 2007-05-05 [User ID not found] +sig 3 990ED4AA 2007-05-02 Knut Anders Hatlen <kah...@ap...> +sig 3 311A3DE5 2007-05-05 Ruediger Pluem <rp...@ap...> +sig 3 88817402 2007-05-06 Thomas Vandahl <th...@va...> +sig 5F298824 2007-05-06 Simon Pepping <spe...@le...> +sig 4CEED75F 2007-05-06 Nick Burch <ni...@ga...> +sig 4358C584 2007-05-06 Vincent Hennebert <vhe...@ap...> +sig 0B7E6CFA 2007-05-06 Sami Siren <si...@ap...> +sig 3 01530235 2007-05-02 Luc Maisonobe (SpaceRoots) <lu...@sp...> +sig 40581837 2007-05-08 Nick Kew <ni...@we...> uid Stefan Bodewig <ste...@fr...> sig 3 5F6B8B72 2003-03-07 Stefan Bodewig <bo...@ap...> sig 3 F88341D9 2003-03-17 Lars Eilebrecht <la...@ei...> @@ -84,6 +97,18 @@ sig 3 F8EA2967 2005-07-26 [User ID not found] sig 3 C152431A 2005-07-27 Steve Loughran <st...@ap...> sig DE885DD3 2005-11-25 Sander Striker <st...@ap...> +sig E222DE4F 2007-05-02 Mathias Herberts <Mat...@ir...> +sig 911203E4 2007-05-02 [User ID not found] +sig F12F6072 2007-05-05 [User ID not found] +sig 3 990ED4AA 2007-05-02 Knut Anders Hatlen <kah...@ap...> +sig 3 311A3DE5 2007-05-05 Ruediger Pluem <rp...@ap...> +sig 3 88817402 2007-05-06 Thomas Vandahl <th...@va...> +sig 4CEED75F 2007-05-06 Nick Burch <ni...@ga...> +sig 4358C584 2007-05-06 Vincent Hennebert <vhe...@ap...> +sig 0B7E6CFA 2007-05-06 Sami Siren <si...@ap...> +sig 3 DE8884A0 2007-05-07 Xavier Hanin <xav...@gm...> +sig 3 01530235 2007-05-02 Luc Maisonobe (SpaceRoots) <lu...@sp...> +sig 40581837 2007-05-08 Nick Kew <ni...@we...> uid Stefan Bodewig <st...@sa...> sig 3 5F6B8B72 2005-05-31 Stefan Bodewig <bo...@ap...> sig 51898504 2005-06-21 Conor MacNeill <co...@co...> @@ -112,6 +137,17 @@ sig 3 F8EA2967 2005-07-26 [User ID not found] sig 3 C152431A 2005-07-27 Steve Loughran <st...@ap...> sig DE885DD3 2005-11-25 Sander Striker <st...@ap...> +sig E222DE4F 2007-05-02 Mathias Herberts <Mat...@ir...> +sig 911203E4 2007-05-02 [User ID not found] +sig F12F6072 2007-05-05 [User ID not found] +sig 3 990ED4AA 2007-05-02 Knut Anders Hatlen <kah...@ap...> +sig 3 311A3DE5 2007-05-05 Ruediger Pluem <rp...@ap...> +sig 3 88817402 2007-05-06 Thomas Vandahl <th...@va...> +sig 4CEED75F 2007-05-06 Nick Burch <ni...@ga...> +sig 4358C584 2007-05-06 Vincent Hennebert <vhe...@ap...> +sig 0B7E6CFA 2007-05-06 Sami Siren <si...@ap...> +sig 3 01530235 2007-05-02 Luc Maisonobe (SpaceRoots) <lu...@sp...> +sig 40581837 2007-05-08 Nick Kew <ni...@we...> sub 1024g/24774157 2001-05-28 sig 5F6B8B72 2001-05-28 Stefan Bodewig <bo...@ap...> @@ -193,196 +229,252 @@ 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 -uWWXAJ9Adm9Mz4yoxrosHSkp5BWzXBUt4A== -=95C5 +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 +uiwdKSnkFbNcFS3g +=1whY -----END PGP PUBLIC KEY BLOCK----- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2007-05-07 09:32:50
|
Revision: 207 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=207&view=rev Author: bodewig Date: 2007-05-07 02:32:50 -0700 (Mon, 07 May 2007) Log Message: ----------- better use the result you've just obtained Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/Validator.java Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/Validator.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/Validator.java 2007-05-01 11:52:08 UTC (rev 206) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/Validator.java 2007-05-07 09:32:50 UTC (rev 207) @@ -464,7 +464,9 @@ throw new XMLUnitRuntimeException("failed to resolve entity: " + publicId, e); } - if (s == null && systemId != null) { + if (s != null) { + return s; + } else if (systemId != null) { return new InputSource(systemId); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |