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
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <bo...@us...> - 2009-04-23 11:37:06
|
Revision: 299 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=299&view=rev Author: bodewig Date: 2009-04-23 11:37:03 +0000 (Thu, 23 Apr 2009) Log Message: ----------- one more bad path Modified Paths: -------------- trunk/xmlunit/src/tests/resources/invalidBook.xml Modified: trunk/xmlunit/src/tests/resources/invalidBook.xml =================================================================== --- trunk/xmlunit/src/tests/resources/invalidBook.xml 2009-04-23 04:06:57 UTC (rev 298) +++ trunk/xmlunit/src/tests/resources/invalidBook.xml 2009-04-23 11:37:03 UTC (rev 299) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Book xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" - xmlns="http://www.publishing.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.publishing.org tests/etc/Book.xsd"> + xmlns="http://www.publishing.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.publishing.org src/tests/resources/Book.xsd"> <Title>Chicken Soup for the Soul</Title> <Author>Jack Canfield</Author> <Author>Mark Victor Hansen</Author> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-04-23 04:07:07
|
Revision: 298 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=298&view=rev Author: bodewig Date: 2009-04-23 04:06:57 +0000 (Thu, 23 Apr 2009) Log Message: ----------- remove now-redundant tests directory Removed Paths: ------------- trunk/xmlunit/tests/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-04-23 04:05:50
|
Revision: 297 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=297&view=rev Author: bodewig Date: 2009-04-23 04:05:44 +0000 (Thu, 23 Apr 2009) Log Message: ----------- move test resources Modified Paths: -------------- trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/jaxp13/test_Validator.java trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_DetailedDiff.java trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Diff.java trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_JAXP_1_2_Schema_Validation.java trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Transform.java trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Validator.java trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_XMLTestCase.java trunk/xmlunit/src/tests/legacy-net/ValidatorTests.cs trunk/xmlunit/src/tests/legacy-net/XmlAssertionTests.cs trunk/xmlunit/src/tests/resources/BookXsdGenerated.xml Added Paths: ----------- trunk/xmlunit/src/tests/resources/ Removed Paths: ------------- trunk/xmlunit/tests/etc/ Modified: trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/jaxp13/test_Validator.java =================================================================== --- trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/jaxp13/test_Validator.java 2009-04-23 03:50:57 UTC (rev 296) +++ trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/jaxp13/test_Validator.java 2009-04-23 04:05:44 UTC (rev 297) @@ -54,28 +54,28 @@ public void testGoodSchemaIsValid() throws Exception { Validator v = new Validator(); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.xsd"))); + + "/src/tests/resources/Book.xsd"))); assertTrue(v.isSchemaValid()); } public void testGoodSchemaHasNoErrors() throws Exception { Validator v = new Validator(); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.xsd"))); + + "/src/tests/resources/Book.xsd"))); assertEquals(0, v.getSchemaErrors().size()); } public void testBrokenSchemaIsInvalid() throws Exception { Validator v = new Validator(); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/broken.xsd"))); + + "/src/tests/resources/broken.xsd"))); assertFalse(v.isSchemaValid()); } public void testBrokenSchemaHasErrors() throws Exception { Validator v = new Validator(); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/broken.xsd"))); + + "/src/tests/resources/broken.xsd"))); List l = v.getSchemaErrors(); for (Iterator i = l.iterator(); i.hasNext(); ) { Object ex = i.next(); @@ -90,30 +90,30 @@ public void testGoodInstanceIsValid() throws Exception { Validator v = new Validator(); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.xsd"))); + + "/src/tests/resources/Book.xsd"))); StreamSource s = new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGenerated.xml")); + + "/src/tests/resources/BookXsdGenerated.xml")); assertTrue(v.isInstanceValid(s)); } public void testBadInstanceIsInvalid() throws Exception { Validator v = new Validator(); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.xsd"))); + + "/src/tests/resources/Book.xsd"))); StreamSource s = new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/invalidBook.xml")); + + "/src/tests/resources/invalidBook.xml")); assertFalse(v.isInstanceValid(s)); } public void testBadInstanceHasErrors() throws Exception { Validator v = new Validator(); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.xsd"))); + + "/src/tests/resources/Book.xsd"))); StreamSource s = new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/invalidBook.xml")); + + "/src/tests/resources/invalidBook.xml")); List l = v.getInstanceErrors(s); for (Iterator i = l.iterator(); i.hasNext(); ) { Object ex = i.next(); @@ -128,10 +128,10 @@ public void testInstanceValidationOfBrokenSchema() { Validator v = new Validator(); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/broken.xsd"))); + + "/src/tests/resources/broken.xsd"))); StreamSource s = new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGenerated.xml")); + + "/src/tests/resources/BookXsdGenerated.xml")); try { v.isInstanceValid(s); fail("expected exception because schema is invalid"); @@ -143,10 +143,10 @@ public void testInstanceValidationOfMissingFile() { Validator v = new Validator(); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.xsd"))); + + "/src/tests/resources/Book.xsd"))); StreamSource s = new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/not there.xml")); + + "/src/tests/resources/not there.xml")); try { v.isInstanceValid(s); fail("expected exception because instance doesn't exist"); @@ -169,7 +169,7 @@ public void XtestGoodRelaxNGSchemaIsValid() throws Exception { Validator v = new Validator(javax.xml.XMLConstants.RELAXNG_NS_URI); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.rng"))); + + "/src/tests/resources/Book.rng"))); assertTrue(v.isSchemaValid()); } @@ -180,10 +180,10 @@ public void XtestGoodInstanceIsValidRNG() throws Exception { Validator v = new Validator(javax.xml.XMLConstants.RELAXNG_NS_URI); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.rng"))); + + "/src/tests/resources/Book.rng"))); StreamSource s = new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGeneratedNoSchema.xml")); + + "/src/tests/resources/BookXsdGeneratedNoSchema.xml")); assertTrue(v.isInstanceValid(s)); } @@ -194,10 +194,10 @@ public void XtestBadInstanceIsInvalidRNG() throws Exception { Validator v = new Validator(javax.xml.XMLConstants.RELAXNG_NS_URI); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.rng"))); + + "/src/tests/resources/Book.rng"))); StreamSource s = new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/invalidBook.xml")); + + "/src/tests/resources/invalidBook.xml")); List l = v.getInstanceErrors(s); for (Iterator i = l.iterator(); i.hasNext(); ) { Object ex = i.next(); @@ -218,11 +218,11 @@ public void XtestGoodRelaxNGCompactSyntaxIsValid() throws Exception { Validator v = new Validator(javax.xml.XMLConstants.RELAXNG_NS_URI); v.addSchemaSource(new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/Book.rngc"))); + + "/src/tests/resources/Book.rngc"))); assertTrue(v.isSchemaValid()); StreamSource s = new StreamSource(new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGeneratedNoSchema.xml")); + + "/src/tests/resources/BookXsdGeneratedNoSchema.xml")); assertTrue(v.isInstanceValid(s)); } Modified: trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_DetailedDiff.java =================================================================== --- trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_DetailedDiff.java 2009-04-23 03:50:57 UTC (rev 296) +++ trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_DetailedDiff.java 2009-04-23 04:05:44 UTC (rev 297) @@ -109,8 +109,8 @@ int i = 0; String expr = null; File test, control; - control = new File(test_Constants.BASEDIR + "/tests/etc/controlDetail.xml"); - test = new File(test_Constants.BASEDIR + "/tests/etc/testDetail.xml"); + control = new File(test_Constants.BASEDIR + "/src/tests/resources/controlDetail.xml"); + test = new File(test_Constants.BASEDIR + "/src/tests/resources/testDetail.xml"); DetailedDiff differencesWithWhitespace = new DetailedDiff( new Diff(new InputSource(new FileReader(control)), new InputSource(new FileReader(test))) ); Modified: trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Diff.java =================================================================== --- trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Diff.java 2009-04-23 03:50:57 UTC (rev 296) +++ trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Diff.java 2009-04-23 04:05:44 UTC (rev 297) @@ -145,9 +145,9 @@ public void testFiles() throws Exception { FileReader control = new FileReader(test_Constants.BASEDIR - + "/tests/etc/test.blame.html"); + + "/src/tests/resources/test.blame.html"); FileReader test = new FileReader(test_Constants.BASEDIR - + "/tests/etc/test.blame.html"); + + "/src/tests/resources/test.blame.html"); Diff diff = buildDiff(control, test); assertEquals(diff.toString(), true, diff.identical()); } @@ -389,9 +389,9 @@ public void testNamespacedAttributes() throws Exception { FileReader control = new FileReader(test_Constants.BASEDIR - + "/tests/etc/controlNamespaces.xml"); + + "/src/tests/resources/controlNamespaces.xml"); FileReader test = new FileReader(test_Constants.BASEDIR - + "/tests/etc/testNamespaces.xml"); + + "/src/tests/resources/testNamespaces.xml"); Diff diff = buildDiff(control, test); diff.overrideDifferenceListener( new ExpectedDifferenceListener(DifferenceConstants.NAMESPACE_PREFIX_ID)); Modified: trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_JAXP_1_2_Schema_Validation.java =================================================================== --- trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_JAXP_1_2_Schema_Validation.java 2009-04-23 03:50:57 UTC (rev 296) +++ trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_JAXP_1_2_Schema_Validation.java 2009-04-23 04:05:44 UTC (rev 297) @@ -49,12 +49,12 @@ private Validator validator; public void testUsingStringURI() throws Exception { - File xsdFile = new File(test_Constants.BASEDIR + "/tests/etc/Book.xsd"); + File xsdFile = new File(test_Constants.BASEDIR + "/src/tests/resources/Book.xsd"); assertTrue("xsdFile " + xsdFile.getAbsolutePath() + " exists", xsdFile.exists()); File xmlFile = new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGeneratedNoSchema.xml"); + + "/src/tests/resources/BookXsdGeneratedNoSchema.xml"); assertTrue("xmlFile " + xmlFile.getAbsolutePath() + " exists", xmlFile.exists()); @@ -67,12 +67,12 @@ } public void testUsingInputStream() throws Exception { - File xsdFile = new File(test_Constants.BASEDIR + "/tests/etc/Book.xsd"); + File xsdFile = new File(test_Constants.BASEDIR + "/src/tests/resources/Book.xsd"); assertTrue("xsdFile " + xsdFile.getAbsolutePath() + " exists", xsdFile.exists()); File xmlFile = new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGeneratedNoSchema.xml"); + + "/src/tests/resources/BookXsdGeneratedNoSchema.xml"); assertTrue("xmlFile " + xmlFile.getAbsolutePath() + " exists", xmlFile.exists()); @@ -85,12 +85,12 @@ } public void testUsingInputSource() throws Exception { - File xsdFile = new File(test_Constants.BASEDIR + "/tests/etc/Book.xsd"); + File xsdFile = new File(test_Constants.BASEDIR + "/src/tests/resources/Book.xsd"); assertTrue("xsdFile " + xsdFile.getAbsolutePath() + " exists", xsdFile.exists()); File xmlFile = new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGeneratedNoSchema.xml"); + + "/src/tests/resources/BookXsdGeneratedNoSchema.xml"); assertTrue("xmlFile " + xmlFile.getAbsolutePath() + " exists", xmlFile.exists()); @@ -104,12 +104,12 @@ } public void testUsingAFile() throws Exception { - File xsdFile = new File(test_Constants.BASEDIR + "/tests/etc/Book.xsd"); + File xsdFile = new File(test_Constants.BASEDIR + "/src/tests/resources/Book.xsd"); assertTrue("xsdFile " + xsdFile.getAbsolutePath() + " exists", xsdFile.exists()); File xmlFile = new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGeneratedNoSchema.xml"); + + "/src/tests/resources/BookXsdGeneratedNoSchema.xml"); assertTrue("xmlFile " + xmlFile.getAbsolutePath() + " exists", xmlFile.exists()); @@ -122,12 +122,12 @@ } public void testUsingObjectArrayContainingStringURI() throws Exception { - File xsdFile = new File(test_Constants.BASEDIR + "/tests/etc/Book.xsd"); + File xsdFile = new File(test_Constants.BASEDIR + "/src/tests/resources/Book.xsd"); assertTrue("xsdFile " + xsdFile.getAbsolutePath() + " exists", xsdFile.exists()); File xmlFile = new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGeneratedNoSchema.xml"); + + "/src/tests/resources/BookXsdGeneratedNoSchema.xml"); assertTrue("xmlFile " + xmlFile.getAbsolutePath() + " exists", xmlFile.exists()); @@ -142,12 +142,12 @@ } public void testUsingNonExistentFile() throws Exception { - File xsdFile = new File(test_Constants.BASEDIR + "/tests/etc/BookDoesNotExist.xsd"); + File xsdFile = new File(test_Constants.BASEDIR + "/src/tests/resources/BookDoesNotExist.xsd"); assertFalse("xsdFile " + xsdFile.getAbsolutePath() + " exists", xsdFile.exists()); File xmlFile = new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGeneratedNoSchema.xml"); + + "/src/tests/resources/BookXsdGeneratedNoSchema.xml"); assertTrue("xmlFile " + xmlFile.getAbsolutePath() + " exists", xmlFile.exists()); @@ -160,12 +160,12 @@ } public void testUsingInvalidXML() throws Exception { - File xsdFile = new File(test_Constants.BASEDIR + "/tests/etc/Book.xsd"); + File xsdFile = new File(test_Constants.BASEDIR + "/src/tests/resources/Book.xsd"); assertTrue("xsdFile " + xsdFile.getAbsolutePath() + " exists", xsdFile.exists()); File xmlFile = new File(test_Constants.BASEDIR - + "/tests/etc/InvalidBookXsdGeneratedNoSchema.xml"); + + "/src/tests/resources/InvalidBookXsdGeneratedNoSchema.xml"); assertTrue("xmlFile " + xmlFile.getAbsolutePath() + " exists", xmlFile.exists()); Modified: trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Transform.java =================================================================== --- trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Transform.java 2009-04-23 03:50:57 UTC (rev 296) +++ trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Transform.java 2009-04-23 04:05:44 UTC (rev 297) @@ -113,7 +113,7 @@ + test_Constants.XSLT_START + test_Constants.XSLT_XML_OUTPUT_NOINDENT + "<xsl:template match=\"bug\"><xsl:apply-templates select=\"animal\"/></xsl:template>" - + "<xsl:include href=\"" + test_Constants.BASEDIR + "/tests/etc/animal.xsl\"/>" + + "<xsl:include href=\"" + test_Constants.BASEDIR + "/src/tests/resources/animal.xsl\"/>" + test_Constants.XSLT_END; Transform transform = new Transform(input, xslWithInclude); transform.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); @@ -155,7 +155,7 @@ } public void setUp() throws Exception { - animal = new File(test_Constants.BASEDIR + "/tests/etc/animal.xsl"); + animal = new File(test_Constants.BASEDIR + "/src/tests/resources/animal.xsl"); } private static String stripLineFeeds(String s) { Modified: trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Validator.java =================================================================== --- trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Validator.java 2009-04-23 03:50:57 UTC (rev 296) +++ trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_Validator.java 2009-04-23 04:05:44 UTC (rev 297) @@ -58,12 +58,12 @@ private File tempDTDFile; public void testXSchema() throws Exception{ - File xsdFile = new File(test_Constants.BASEDIR + "/tests/etc/Book.xsd"); + File xsdFile = new File(test_Constants.BASEDIR + "/src/tests/resources/Book.xsd"); assertTrue("xsdFile " + xsdFile.getAbsolutePath() + " exists", xsdFile.exists()); File xmlFile = new File(test_Constants.BASEDIR - + "/tests/etc/BookXsdGenerated.xml"); + + "/src/tests/resources/BookXsdGenerated.xml"); assertTrue("xmlFile " + xmlFile.getAbsolutePath() + " exists", xmlFile.exists()); validator = Modified: trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_XMLTestCase.java =================================================================== --- trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_XMLTestCase.java 2009-04-23 03:50:57 UTC (rev 296) +++ trunk/xmlunit/src/tests/legacy-java/org/custommonkey/xmlunit/test_XMLTestCase.java 2009-04-23 04:05:44 UTC (rev 297) @@ -102,23 +102,23 @@ */ public void testXMLEqualsFiles() throws Exception { assertXMLEqual(new FileReader( - test_Constants.BASEDIR + "/tests/etc/test1.xml"), + test_Constants.BASEDIR + "/src/tests/resources/test1.xml"), new FileReader( - test_Constants.BASEDIR + "/tests/etc/test1.xml")); + test_Constants.BASEDIR + "/src/tests/resources/test1.xml")); assertXMLNotEqual(new FileReader( - test_Constants.BASEDIR + "/tests/etc/test1.xml"), + test_Constants.BASEDIR + "/src/tests/resources/test1.xml"), new FileReader( - test_Constants.BASEDIR + "/tests/etc/test2.xml")); + test_Constants.BASEDIR + "/src/tests/resources/test2.xml")); // Bug 956372 assertXMLEqual("equal message", new FileReader( - test_Constants.BASEDIR + "/tests/etc/test1.xml"), + test_Constants.BASEDIR + "/src/tests/resources/test1.xml"), new FileReader( - test_Constants.BASEDIR + "/tests/etc/test1.xml")); + test_Constants.BASEDIR + "/src/tests/resources/test1.xml")); assertXMLNotEqual("notEqual message", new FileReader( - test_Constants.BASEDIR + "/tests/etc/test1.xml"), + test_Constants.BASEDIR + "/src/tests/resources/test1.xml"), new FileReader( - test_Constants.BASEDIR + "/tests/etc/test2.xml")); + test_Constants.BASEDIR + "/src/tests/resources/test2.xml")); try{ assertXMLNotEqual(new FileReader("nosuchfile.xml"), Modified: trunk/xmlunit/src/tests/legacy-net/ValidatorTests.cs =================================================================== --- trunk/xmlunit/src/tests/legacy-net/ValidatorTests.cs 2009-04-23 03:50:57 UTC (rev 296) +++ trunk/xmlunit/src/tests/legacy-net/ValidatorTests.cs 2009-04-23 04:05:44 UTC (rev 297) @@ -8,8 +8,8 @@ [TestFixture] public class ValidatorTests { - public static readonly string VALID_FILE = ".\\..\\tests\\etc\\BookXsdGenerated.xml"; - public static readonly string INVALID_FILE = ".\\..\\tests\\etc\\invalidBook.xml"; + public static readonly string VALID_FILE = ".\\..\\src\\tests\\resources\\BookXsdGenerated.xml"; + public static readonly string INVALID_FILE = ".\\..\\src\\tests\\resources\\invalidBook.xml"; [Test] public void XsdValidFileIsValid() { PerformAssertion(VALID_FILE, true); Modified: trunk/xmlunit/src/tests/legacy-net/XmlAssertionTests.cs =================================================================== --- trunk/xmlunit/src/tests/legacy-net/XmlAssertionTests.cs 2009-04-23 03:50:57 UTC (rev 296) +++ trunk/xmlunit/src/tests/legacy-net/XmlAssertionTests.cs 2009-04-23 04:05:44 UTC (rev 297) @@ -123,18 +123,18 @@ } [Test] public void AssertXslTransformResultsWorksWithXmlInput() { - StreamReader xsl = GetStreamReader(".\\..\\tests\\etc\\animal.xsl"); + StreamReader xsl = GetStreamReader(".\\..\\src\\tests\\resources\\animal.xsl"); XmlInput xslt = new XmlInput(xsl); - StreamReader xml = GetStreamReader(".\\..\\tests\\etc\\testAnimal.xml"); + StreamReader xml = GetStreamReader(".\\..\\src\\tests\\resources\\testAnimal.xml"); XmlInput xmlToTransform = new XmlInput(xml); XmlInput expectedXml = new XmlInput("<dog/>"); XmlAssertion.AssertXslTransformResults(xslt, xmlToTransform, expectedXml); } [Test] public void AssertXslTransformResultsCatchesFalsePositive() { - StreamReader xsl = GetStreamReader(".\\..\\tests\\etc\\animal.xsl"); + StreamReader xsl = GetStreamReader(".\\..\\src\\tests\\resources\\animal.xsl"); XmlInput xslt = new XmlInput(xsl); - StreamReader xml = GetStreamReader(".\\..\\tests\\etc\\testAnimal.xml"); + StreamReader xml = GetStreamReader(".\\..\\src\\tests\\resources\\testAnimal.xml"); XmlInput xmlToTransform = new XmlInput(xml); XmlInput expectedXml = new XmlInput("<cat/>"); bool caughtException = true; Property changes on: trunk/xmlunit/src/tests/resources ___________________________________________________________________ Added: svn:mergeinfo + Modified: trunk/xmlunit/src/tests/resources/BookXsdGenerated.xml =================================================================== --- trunk/xmlunit/tests/etc/BookXsdGenerated.xml 2009-04-22 05:29:46 UTC (rev 294) +++ trunk/xmlunit/src/tests/resources/BookXsdGenerated.xml 2009-04-23 04:05:44 UTC (rev 297) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<Book xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns="http://www.publishing.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.publishing.org tests/etc/Book.xsd"> +<Book xmlns:xsd="http://www.w3.org/2000/10/XMLSchema" xmlns="http://www.publishing.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.publishing.org src/tests/resources/Book.xsd"> <Title>Chicken Soup for the Soul</Title> <Author>Jack Canfield</Author> <Author>Mark Victor Hansen</Author> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-04-23 03:51:08
|
Revision: 296 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=296&view=rev Author: bodewig Date: 2009-04-23 03:50:57 +0000 (Thu, 23 Apr 2009) Log Message: ----------- move Maven/Ivy files Added Paths: ----------- trunk/xmlunit/src/main/etc/ Removed Paths: ------------- trunk/xmlunit/src/etc/ Property changes on: trunk/xmlunit/src/main/etc ___________________________________________________________________ Added: svn:mergeinfo + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-04-23 03:49:11
|
Revision: 295 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=295&view=rev Author: bodewig Date: 2009-04-23 03:48:58 +0000 (Thu, 23 Apr 2009) Log Message: ----------- add junit Modified Paths: -------------- trunk/xmlunit/build.xml Added Paths: ----------- trunk/xmlunit/lib/ trunk/xmlunit/lib/junit-3.8.2.jar Modified: trunk/xmlunit/build.xml =================================================================== --- trunk/xmlunit/build.xml 2009-04-22 05:29:46 UTC (rev 294) +++ trunk/xmlunit/build.xml 2009-04-23 03:48:58 UTC (rev 295) @@ -62,7 +62,6 @@ <!-- some library paths --> <!-- where is JAXP? property name="${xmlxsl.lib}" location="."/ --> - <!-- where is JUnit? property name="${junit.lib}" location="."/ --> <!-- Docbook related properties, macros and targets --> <import file="docbook.xml"/> @@ -108,8 +107,8 @@ debug="${javac.debug}" target="${javac.target}" source="${javac.source}"> <classpath> <pathelement location="${xmlxsl.lib}"/> - <pathelement location="${junit.lib}"/> <pathelement path="${java.class.path}"/> + <fileset dir="lib" includes="*.jar"/> </classpath> <exclude name="**/jaxp13/**" unless="jaxp13+"/> <exclude name="**/*XPathRegexAssert.java" unless="regexp.present"/> @@ -119,8 +118,8 @@ <classpath> <pathelement location="${out.dir}"/> <pathelement location="${xmlxsl.lib}"/> - <pathelement location="${junit.lib}"/> <pathelement path="${java.class.path}"/> + <fileset dir="lib" includes="*.jar"/> </classpath> <exclude name="**/jaxp13/**" unless="jaxp13+"/> <exclude name="**/*XPathRegexAssert.java" unless="regexp.present"/> @@ -145,8 +144,8 @@ <pathelement location="${out.dir}"/> <pathelement location="${test.out.dir}"/> <pathelement location="${xmlxsl.lib}"/> - <pathelement location="${junit.lib}"/> <pathelement path="${java.class.path}"/> + <fileset dir="lib" includes="*.jar"/> </classpath> <formatter type="xml"/> <batchtest todir="${test.report.dir}"> @@ -283,7 +282,6 @@ <javac srcdir="src/user-guide" includes="org/" destdir="${userguide.out.dir}" source="1.3" target="1.2"> <classpath> - <pathelement location="${junit.lib}"/> <pathelement location="${out.dir}"/> </classpath> </javac> Added: trunk/xmlunit/lib/junit-3.8.2.jar =================================================================== (Binary files differ) Property changes on: trunk/xmlunit/lib/junit-3.8.2.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Stefan B. <bo...@ap...> - 2009-04-23 00:15:20
|
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at ge...@gu.... Project xmlunit has an issue affecting its community integration. This issue affects 21 projects. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - commons-jelly-tags-jaxme : Commons Jelly - commons-jelly-tags-jmx : Commons Jelly - commons-jelly-tags-ojb : Commons Jelly - commons-jelly-tags-xmlunit : Commons Jelly - db-ojb-from-packages-1-0-release : ObjectRelationalBridge - db-torque-runtime : Persistence Layer - jakarta-turbine-jcs : Cache - jgroups : A Reliable Multicast Communication Toolkit for Java - mx4j : OpenSource implementation of a JMX agent - mx4j-remote : OpenSource implementation of a JMX agent - mx4j-tools : OpenSource implementation of a JMX agent - mx4j-tools-from-packaged-jetty : OpenSource implementation of a JMX agent - naming-management : Apache Directory Naming Component - test-ojb-from-packages-1-0-release : ObjectRelationalBridge - ws-axis-test : Apache eXtensible Interaction System - ws-axis2 : Apache Axis2 SOAP Stack - ws-commons-xmlschema : Common stuff for the WS projects. - ws-juddi : ws-juddi -- UDDI Toolkit/Repository - ws-juddi-test : ws-juddi -- UDDI Toolkit/Repository - xml-xindice : native XML database - xmlunit : JUnit extension for XML unit tests. Full details are available at: http://vmgump.apache.org/gump/public/xmlunit/xmlunit/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Sole output [xmlunit-22042009.jar] identifier set to project name -INFO- Failed with reason build failed -DEBUG- Extracted fallback artifacts from Gump Repository The following work was performed: http://vmgump.apache.org/gump/public/xmlunit/xmlunit/gump_work/build_xmlunit_xmlunit.html Work Name: build_xmlunit_xmlunit (Type: Build) Work ended in a state of : Failed Elapsed: 28 secs Command Line: /usr/lib/jvm/java-6-sun/bin/java -Djava.awt.headless=true -Xbootclasspath/p:/srv/gump/public/workspace/xml-commons/java/external/build/xml-apis.jar:/srv/gump/public/workspace/xml-xerces2/build/xercesImpl.jar:/srv/gump/public/workspace/xml-xalan/build/serializer.jar:/srv/gump/public/workspace/xml-xalan/build/xalan-unbundled.jar org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Dbuild.sysclasspath=only -Dxmlunit.version=22042009 Gump [Working Directory: /srv/gump/public/workspace/xmlunit] CLASSPATH: /usr/lib/jvm/java-6-sun/lib/tools.jar:/srv/gump/public/workspace/xmlunit/build/classes:/srv/gump/public/workspace/xmlunit/build/test-classes:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/ant/dist/lib/ant-trax.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/packages/junit3.8.1/junit.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/junit/dist/junit-22042009.jar:/srv/gump/public/workspace/xml-commons/java/external/build/xml-apis-ext.jar --------------------------------------------- [junit] Running org.custommonkey.xmlunit.test_ElementNameQualifier [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.012 sec [junit] Running org.custommonkey.xmlunit.test_ForumMessage4406472 [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.031 sec [junit] Running org.custommonkey.xmlunit.test_HTMLDocumentBuilder [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.373 sec [junit] Running org.custommonkey.xmlunit.test_IgnoreTextAndAttributeValuesDifferenceListener [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.05 sec [junit] Running org.custommonkey.xmlunit.test_JAXP_1_2_Schema_Validation [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 0.057 sec [junit] Running org.custommonkey.xmlunit.test_NodeDescriptor [junit] Tests run: 8, Failures: 0, Errors: 0, Time elapsed: 0.019 sec [junit] Running org.custommonkey.xmlunit.test_NodeInputStream [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.013 sec [junit] Running org.custommonkey.xmlunit.test_NodeTest [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.008 sec [junit] Running org.custommonkey.xmlunit.test_Replacement [junit] Tests run: 6, Failures: 0, Errors: 0, Time elapsed: 0.007 sec [junit] Running org.custommonkey.xmlunit.test_SimpleNamespaceContext [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.006 sec [junit] Running org.custommonkey.xmlunit.test_SimpleSerializer [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.008 sec [junit] Running org.custommonkey.xmlunit.test_SimpleXpathEngine [junit] Tests run: 10, Failures: 0, Errors: 0, Time elapsed: 0.295 sec [junit] Running org.custommonkey.xmlunit.test_TolerantSaxDocumentBuilder [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 0.072 sec [junit] Running org.custommonkey.xmlunit.test_Transform [junit] Tests run: 8, Failures: 0, Errors: 0, Time elapsed: 0.251 sec [junit] Running org.custommonkey.xmlunit.test_Validator [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.379 sec [junit] Running org.custommonkey.xmlunit.test_XMLTestCase [junit] Tests run: 22, Failures: 0, Errors: 0, Time elapsed: 1.014 sec [junit] Running org.custommonkey.xmlunit.test_XMLUnit [junit] Tests run: 6, Failures: 0, Errors: 0, Time elapsed: 0.058 sec [junit] Running org.custommonkey.xmlunit.test_XpathNodeTracker [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 0.038 sec [junit] Running org.custommonkey.xmlunit.util.test_IntegerBuffer [junit] Tests run: 13, Failures: 0, Errors: 0, Time elapsed: 0.049 sec [junitreport] Processing /srv/gump/public/workspace/xmlunit/build/test-report/TESTS-TestSuites.xml to /tmp/null1657136553 [junitreport] Loading stylesheet jar:file:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl [junitreport] Transform time: 11663ms [junitreport] Deleting: /tmp/null1657136553 jar: [jar] Building jar: /srv/gump/public/workspace/xmlunit/build/lib/xmlunit-22042009.jar BUILD FAILED /srv/gump/public/workspace/xmlunit/build.xml:214: /srv/gump/public/workspace/xmlunit/src/main/etc does not exist. Total time: 27 seconds --------------------------------------------- To subscribe to this information via syndicated feeds: - RSS: http://vmgump.apache.org/gump/public/xmlunit/xmlunit/rss.xml - Atom: http://vmgump.apache.org/gump/public/xmlunit/xmlunit/atom.xml ============================== Gump Tracking Only === Produced by Gump version 2.3. Gump Run 24001622042009, vmgump:vmgump-public:24001622042009 Gump E-mail Identifier (unique within run) #1. -- Apache Gump http://gump.apache.org/ [Instance: vmgump] |
From: Stefan B. <bo...@ap...> - 2009-04-22 08:40:57
|
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at ge...@gu.... Project xmlunit has an issue affecting its community integration. This issue affects 21 projects, and has been outstanding for 119 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - commons-jelly-tags-jaxme : Commons Jelly - commons-jelly-tags-jmx : Commons Jelly - commons-jelly-tags-ojb : Commons Jelly - commons-jelly-tags-xmlunit : Commons Jelly - db-ojb-from-packages-1-0-release : ObjectRelationalBridge - db-torque-runtime : Persistence Layer - jakarta-turbine-jcs : Cache - jgroups : A Reliable Multicast Communication Toolkit for Java - mx4j : OpenSource implementation of a JMX agent - mx4j-remote : OpenSource implementation of a JMX agent - mx4j-tools : OpenSource implementation of a JMX agent - mx4j-tools-from-packaged-jetty : OpenSource implementation of a JMX agent - naming-management : Apache Directory Naming Component - test-ojb-from-packages-1-0-release : ObjectRelationalBridge - ws-axis-test : Apache eXtensible Interaction System - ws-axis2 : Apache Axis2 SOAP Stack - ws-commons-xmlschema : Common stuff for the WS projects. - ws-juddi : ws-juddi -- UDDI Toolkit/Repository - ws-juddi-test : ws-juddi -- UDDI Toolkit/Repository - xml-xindice : native XML database - xmlunit : JUnit extension for XML unit tests. Full details are available at: http://vmgump.apache.org/gump/public/xmlunit/xmlunit/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Sole output [xmlunit-22042009.jar] identifier set to project name -INFO- Failed with reason build failed -DEBUG- Extracted fallback artifacts from Gump Repository The following work was performed: http://vmgump.apache.org/gump/public/xmlunit/xmlunit/gump_work/build_xmlunit_xmlunit.html Work Name: build_xmlunit_xmlunit (Type: Build) Work ended in a state of : Failed Elapsed: 26 secs Command Line: /usr/lib/jvm/java-6-sun/bin/java -Djava.awt.headless=true -Xbootclasspath/p:/srv/gump/public/workspace/xml-commons/java/external/build/xml-apis.jar:/srv/gump/public/workspace/xml-xerces2/build/xercesImpl.jar:/srv/gump/public/workspace/xml-xalan/build/serializer.jar:/srv/gump/public/workspace/xml-xalan/build/xalan-unbundled.jar org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Dbuild.sysclasspath=only -Dxmlunit.version=22042009 Gump [Working Directory: /srv/gump/public/workspace/xmlunit] CLASSPATH: /usr/lib/jvm/java-6-sun/lib/tools.jar:/srv/gump/public/workspace/xmlunit/build/classes:/srv/gump/public/workspace/xmlunit/build/test-classes:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/ant/dist/lib/ant-trax.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/packages/junit3.8.1/junit.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/junit/dist/junit-22042009.jar:/srv/gump/public/workspace/xml-commons/java/external/build/xml-apis-ext.jar --------------------------------------------- [junit] Running org.custommonkey.xmlunit.test_ElementNameQualifier [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.014 sec [junit] Running org.custommonkey.xmlunit.test_ForumMessage4406472 [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.029 sec [junit] Running org.custommonkey.xmlunit.test_HTMLDocumentBuilder [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.092 sec [junit] Running org.custommonkey.xmlunit.test_IgnoreTextAndAttributeValuesDifferenceListener [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.016 sec [junit] Running org.custommonkey.xmlunit.test_JAXP_1_2_Schema_Validation [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 0.046 sec [junit] Running org.custommonkey.xmlunit.test_NodeDescriptor [junit] Tests run: 8, Failures: 0, Errors: 0, Time elapsed: 0.017 sec [junit] Running org.custommonkey.xmlunit.test_NodeInputStream [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.014 sec [junit] Running org.custommonkey.xmlunit.test_NodeTest [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.008 sec [junit] Running org.custommonkey.xmlunit.test_Replacement [junit] Tests run: 6, Failures: 0, Errors: 0, Time elapsed: 0.006 sec [junit] Running org.custommonkey.xmlunit.test_SimpleNamespaceContext [junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.006 sec [junit] Running org.custommonkey.xmlunit.test_SimpleSerializer [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.008 sec [junit] Running org.custommonkey.xmlunit.test_SimpleXpathEngine [junit] Tests run: 10, Failures: 0, Errors: 0, Time elapsed: 0.217 sec [junit] Running org.custommonkey.xmlunit.test_TolerantSaxDocumentBuilder [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 0.023 sec [junit] Running org.custommonkey.xmlunit.test_Transform [junit] Tests run: 8, Failures: 0, Errors: 0, Time elapsed: 0.128 sec [junit] Running org.custommonkey.xmlunit.test_Validator [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.148 sec [junit] Running org.custommonkey.xmlunit.test_XMLTestCase [junit] Tests run: 22, Failures: 0, Errors: 0, Time elapsed: 0.846 sec [junit] Running org.custommonkey.xmlunit.test_XMLUnit [junit] Tests run: 6, Failures: 0, Errors: 0, Time elapsed: 0.022 sec [junit] Running org.custommonkey.xmlunit.test_XpathNodeTracker [junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 0.011 sec [junit] Running org.custommonkey.xmlunit.util.test_IntegerBuffer [junit] Tests run: 13, Failures: 0, Errors: 0, Time elapsed: 0.031 sec [junitreport] Processing /srv/gump/public/workspace/xmlunit/build/test-report/TESTS-TestSuites.xml to /tmp/null491647995 [junitreport] Loading stylesheet jar:file:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl [junitreport] Transform time: 6449ms [junitreport] Deleting: /tmp/null491647995 jar: [jar] Building jar: /srv/gump/public/workspace/xmlunit/build/lib/xmlunit-22042009.jar BUILD FAILED /srv/gump/public/workspace/xmlunit/build.xml:214: /srv/gump/public/workspace/xmlunit/src/main/etc does not exist. Total time: 25 seconds --------------------------------------------- To subscribe to this information via syndicated feeds: - RSS: http://vmgump.apache.org/gump/public/xmlunit/xmlunit/rss.xml - Atom: http://vmgump.apache.org/gump/public/xmlunit/xmlunit/atom.xml ============================== Gump Tracking Only === Produced by Gump version 2.3. Gump Run 18000022042009, vmgump:vmgump-public:18000022042009 Gump E-mail Identifier (unique within run) #5. -- Apache Gump http://gump.apache.org/ [Instance: vmgump] |
From: <bo...@us...> - 2009-04-22 05:29:49
|
Revision: 294 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=294&view=rev Author: bodewig Date: 2009-04-22 05:29:46 +0000 (Wed, 22 Apr 2009) Log Message: ----------- move sources into a new directory structure, preparing for XMLUnit 2.x development Modified Paths: -------------- trunk/xmlunit/build.xml trunk/xmlunit/xmlunit.nant.build Added Paths: ----------- trunk/xmlunit/src/main/legacy-java/ trunk/xmlunit/src/main/legacy-net/ trunk/xmlunit/src/tests/legacy-java/ trunk/xmlunit/src/tests/legacy-net/ Removed Paths: ------------- trunk/xmlunit/src/csharp/ trunk/xmlunit/src/java/ trunk/xmlunit/tests/csharp/ trunk/xmlunit/tests/java/ Modified: trunk/xmlunit/build.xml =================================================================== --- trunk/xmlunit/build.xml 2009-04-22 05:21:57 UTC (rev 293) +++ trunk/xmlunit/build.xml 2009-04-22 05:29:46 UTC (rev 294) @@ -40,8 +40,8 @@ <property name="xmlunit.version" value="1.3alpha"/> <!-- some locations --> - <property name="src.dir" value="src"/> - <property name="test.dir" value="tests"/> + <property name="src.dir" value="src/main"/> + <property name="test.dir" value="src/tests"/> <property name="build.dir" location="build"/> <property name="lib.dir" value="${build.dir}/lib"/> <property name="out.dir" value="${build.dir}/classes"/> @@ -104,7 +104,7 @@ <target name="compile" depends="-init" description="compiles sources and tests"> - <javac srcdir="${src.dir}/java" destdir="${out.dir}" + <javac srcdir="${src.dir}/legacy-java" destdir="${out.dir}" debug="${javac.debug}" target="${javac.target}" source="${javac.source}"> <classpath> <pathelement location="${xmlxsl.lib}"/> @@ -114,7 +114,7 @@ <exclude name="**/jaxp13/**" unless="jaxp13+"/> <exclude name="**/*XPathRegexAssert.java" unless="regexp.present"/> </javac> - <javac srcdir="${test.dir}/java" destdir="${test.out.dir}" + <javac srcdir="${test.dir}/legacy-java" destdir="${test.out.dir}" debug="${javac.debug}" target="${javac.target}" source="${javac.source}"> <classpath> <pathelement location="${out.dir}"/> @@ -150,7 +150,7 @@ </classpath> <formatter type="xml"/> <batchtest todir="${test.report.dir}"> - <fileset dir="${test.dir}/java"> + <fileset dir="${test.dir}/legacy-java"> <include name="**/test_*.java"/> <exclude name="**/jaxp13/**" unless="jaxp13+.impl"/> </fileset> @@ -175,12 +175,12 @@ description="creates the API documentation"> <delete includeEmptyDirs="true" dir="${docs.dir}/api"/> <javadoc destdir="${docs.dir}/api" - overview="${src.dir}/java/overview.html" + overview="${src.dir}/legacy-java/overview.html" windowtitle="XMLUnit Documentation" footer="<p><a href="http://xmlunit.sourceforge.net/">XMLUnit</a> is hosted by sourceforge.net</p>"> <group title="XMLUnit v${xmlunit.version}" packages="org.custommonkey.xmlunit*"/> - <fileset dir="${src.dir}/java"> + <fileset dir="${src.dir}/legacy-java"> <include name="org/custommonkey/**/*.java"/> </fileset> <classpath> Property changes on: trunk/xmlunit/src/main/legacy-java ___________________________________________________________________ Added: svn:mergeinfo + Property changes on: trunk/xmlunit/src/main/legacy-net ___________________________________________________________________ Added: svn:mergeinfo + Property changes on: trunk/xmlunit/src/tests/legacy-java ___________________________________________________________________ Added: svn:mergeinfo + Property changes on: trunk/xmlunit/src/tests/legacy-net ___________________________________________________________________ Added: svn:mergeinfo + Modified: trunk/xmlunit/xmlunit.nant.build =================================================================== --- trunk/xmlunit/xmlunit.nant.build 2009-04-22 05:21:57 UTC (rev 293) +++ trunk/xmlunit/xmlunit.nant.build 2009-04-22 05:29:46 UTC (rev 294) @@ -2,8 +2,8 @@ <property name="project.version" value="0.4" overwrite="false"/> <property name="base.dir" value="${project::get-base-directory()}" overwrite="false"/> - <property name="src.dir" value="${base.dir}/src/csharp" overwrite="false"/> - <property name="tests.src.dir" value="${base.dir}/tests/csharp" + <property name="src.dir" value="${base.dir}/src/main/legacy-net" overwrite="false"/> + <property name="tests.src.dir" value="${base.dir}/src/tests/legacy-net" overwrite="false"/> <property name="bin.dir" value="${base.dir}/bin" overwrite="false"/> <property name="csc.verbose" value="false" overwrite="false"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-04-22 05:22:03
|
Revision: 293 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=293&view=rev Author: bodewig Date: 2009-04-22 05:21:57 +0000 (Wed, 22 Apr 2009) Log Message: ----------- start of new directory structure Added Paths: ----------- trunk/xmlunit/src/main/ trunk/xmlunit/src/tests/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-04-22 05:19:56
|
Revision: 292 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=292&view=rev Author: bodewig Date: 2009-04-22 05:19:48 +0000 (Wed, 22 Apr 2009) Log Message: ----------- create a branch for XMLUnit 1.x Added Paths: ----------- branches/xmlunit-1.x/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2009-04-17 09:13:06
|
Bugs item #2770386, was opened at 2009-04-17 11:13 Message generated for change (Tracker Item Submitted) made by urskr You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2770386&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: Java 1.2 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Urs Reupke (urskr) Assigned to: Nobody/Anonymous (nobody) Summary: Respect comments in prelude when checking for identity Initial Comment: Trying to verify that a document is identical after being run through an XSL-sheet, I get a green test despite my removing the leading comment prior to the transformation. This is a problem, because I want to write a java wrapper for my xsl sheet that removes comments in front of the root and adds them afterwards without modifying. I'd appreciate if you could look into this. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2770386&group_id=23187 |
From: SourceForge.net <no...@so...> - 2009-04-14 04:55:33
|
Bugs item #2758280, was opened at 2009-04-13 08:55 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2758280&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: Virat Gohil (viratgohil) Assigned to: Nobody/Anonymous (nobody) Summary: Elements being compared even if they do not qualify. Initial Comment: Control XML <a>1</a> <b>1</b> <c>1</c> <d>1</d> <e>1</e> The test XML looks like this: <a>1</a> <b>1</b> <z>1</z> <c>1</c> <d>1</d> <e>1</e> I figured out that the DifferenceEngine.compareNodeList() does the following: 1. It compiles a list of objects that are comparable (qualifies for comparison). 2. Once this operation is complete, there will be 3 lists available: a. List of comparable objects b. list of objects present in control node but absent in test node. c. list of objects present in test node but absent in control node. 3. Compares the comparable objects. 4. compares the objects in list b against list c (above), even though they do not qualify for comparison. I think point 4 is a defect. I downloaded the source code and modified the following: Original: DifferenceEngine.java:435 if (nextTest == null && !unmatchedTestNodes.isEmpty()) { nextTest = (Node) unmatchedTestNodes.get(0); testIndex = new Integer(testChildren.indexOf(nextTest)); unmatchedTestNodes.remove(0); } Modify: if (nextTest == null && !unmatchedTestNodes.isEmpty()) { nextTest = (Node) unmatchedTestNodes.get(0); if(elementQualifier.qualifyForComparison((Element)nextControl, (Element)nextTest)) { testIndex = new Integer(testChildren.indexOf(nextTest)); unmatchedTestNodes.remove(0); } else nextTest=null; } ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2009-04-14 04:55 Message: A small change in the example XML that I submitted above: Control XML: <a>1</a> <b>1</b> <c>1</c> <d>1</d> <e>1</e> Test XML: <a>1</a> <b>1</b> <d>1</d> <e>1</e> <z>1</z> Here both the XML have same number of elements, but Test xml is missing element "c" and has an extra element "z", this will make the Difference Engine compare element "c" against element "z". Thanks, Virat ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2758280&group_id=23187 |
From: SourceForge.net <no...@so...> - 2009-04-13 08:55:18
|
Bugs item #2758280, was opened at 2009-04-13 14:25 Message generated for change (Tracker Item Submitted) made by viratgohil You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2758280&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: Virat Gohil (viratgohil) Assigned to: Nobody/Anonymous (nobody) Summary: Elements being compared even if they do not qualify. Initial Comment: Control XML <a>1</a> <b>1</b> <c>1</c> <d>1</d> <e>1</e> The test XML looks like this: <a>1</a> <b>1</b> <z>1</z> <c>1</c> <d>1</d> <e>1</e> I figured out that the DifferenceEngine.compareNodeList() does the following: 1. It compiles a list of objects that are comparable (qualifies for comparison). 2. Once this operation is complete, there will be 3 lists available: a. List of comparable objects b. list of objects present in control node but absent in test node. c. list of objects present in test node but absent in control node. 3. Compares the comparable objects. 4. compares the objects in list b against list c (above), even though they do not qualify for comparison. I think point 4 is a defect. I downloaded the source code and modified the following: Original: DifferenceEngine.java:435 if (nextTest == null && !unmatchedTestNodes.isEmpty()) { nextTest = (Node) unmatchedTestNodes.get(0); testIndex = new Integer(testChildren.indexOf(nextTest)); unmatchedTestNodes.remove(0); } Modify: if (nextTest == null && !unmatchedTestNodes.isEmpty()) { nextTest = (Node) unmatchedTestNodes.get(0); if(elementQualifier.qualifyForComparison((Element)nextControl, (Element)nextTest)) { testIndex = new Integer(testChildren.indexOf(nextTest)); unmatchedTestNodes.remove(0); } else nextTest=null; } ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2758280&group_id=23187 |
From: <bo...@us...> - 2009-04-07 15:03:01
|
Revision: 291 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=291&view=rev Author: bodewig Date: 2009-04-07 15:02:49 +0000 (Tue, 07 Apr 2009) Log Message: ----------- new signatures after ApacheCon Modified Paths: -------------- trunk/xmlunit/KEYS Modified: trunk/xmlunit/KEYS =================================================================== --- trunk/xmlunit/KEYS 2009-03-13 04:16:06 UTC (rev 290) +++ trunk/xmlunit/KEYS 2009-04-07 15:02:49 UTC (rev 291) @@ -8,14 +8,13 @@ (gpg --list-sigs <your name> && gpg --armor --export <your name>) >> this file. - pub 1024D/5F6B8B72 2001-05-28 uid Stefan Bodewig <bo...@ap...> sig 3 5F6B8B72 2001-05-28 Stefan Bodewig <bo...@ap...> sig 51898504 2002-01-11 Conor MacNeill <co...@co...> sig 3 F88341D9 2003-03-17 Lars Eilebrecht <la...@ei...> sig 3 2261D073 2003-03-17 Astrid Kessler (Kess) <ke...@ke...> -sig 21D0A71B 2003-03-17 Dirk-Willem van Gulik (http://www.anywi.com/ - Senior partner) <di...@an...> +sig 21D0A71B 2003-03-17 Dirk-Willem van Gulik (Chief Internet Architect, role) <dir...@bb...> sig 75A67692 2003-03-18 Erik Abele <er...@co...> sig B3B2A12C 2003-05-20 ct magazine CERTIFICATE <pg...@ct...> sig 3 8103A37E 2003-04-04 Andre Malo <nd...@ap...> @@ -27,33 +26,33 @@ 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...> +sig 3 EC140B81 2005-07-20 Dirk-Willem van Gulik (Chief Internet Architect, role) <dir...@bb...> sig 3 EE65E321 2005-07-20 Martin Kraemer <ma...@ap...> -sig 3 A99F75DD 2005-07-21 Rodent of Unusual Size <co...@ph...> +sig 3 A99F75DD 2005-07-21 Rodent of Unusual Size <Ke...@Co...> sig 3 3642CB4B 2005-07-20 Martin Kraemer <ma...@ap...> -sig 3 302DA568 2005-07-21 Rodent of Unusual Size (DSA) <co...@Ap...> -sig 3 2C312D2F 2005-07-21 Rodent of Unusual Size <co...@ph...> +sig 3 302DA568 2005-07-21 Rodent of Unusual Size (DSA) <Ke...@Co...> +sig 3 2C312D2F 2005-07-21 Rodent of Unusual Size (DSS) <Ke...@Co...> sig 3 CC78C893 2005-07-22 Rich Bowen <rb...@rc...> sig 3 E2D774DF 2005-07-22 Sylvain Wallez <sy...@ap...> sig 3 E04F9A89 2005-07-22 Roy T. Fielding <fie...@gb...> sig 3 015AFC8A 2005-07-22 Bertrand Delacretaz <bde...@ap...> sig 3 87315C31 2005-07-23 Rapha\xEBl Luta <rap...@ap...> sig 3 E41EDC7E 2005-07-24 Carsten Ziegeler <czi...@ap...> -sig 3 F39B3750 2005-07-24 Colm MacCarthaigh <co...@st...> -sig 1CD4861F 2005-07-25 Eran Chinthaka <chi...@ap...> +sig 3 F39B3750 2005-07-24 Colm MacCarthaigh <co...@al...> +sig 1CD4861F 2005-07-25 Eran Chinthaka (IU Email) <ech...@in...> sig EA1BA38D 2005-07-25 Ajith Harshana Ranabahu (Made at Apachecon 2005) <aj...@ap...> sig 333E4E84 2005-07-26 Chathura Kamalanath Herath (Apachecon Europe 2005) <cha...@ap...> sig 152924AF 2005-07-29 Sander Temme <sa...@te...> sig 3 9C85222B 2005-07-24 Henning Schmiedehausen <hp...@in...> -sig 3 9978AF86 2005-07-25 [User ID not found] -sig 3 2A623F72 2005-07-25 [User ID not found] -sig 3 F8EA2967 2005-07-26 [User ID not found] +sig 3 9978AF86 2005-07-25 Christoph Probst <ch...@ne...> +sig 3 2A623F72 2005-07-25 Christoph Probst <ch...@ne...> +sig 3 F8EA2967 2005-07-26 Brian McCallister <br...@ap...> 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 911203E4 2007-05-02 Mathias Herberts <Mat...@gi...> +sig F12F6072 2007-05-05 Fred Vos <fre...@gm...> 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...> @@ -61,20 +60,24 @@ 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...> +sig 3 01530235 2007-05-02 Luc Maisonobe (general purpose) <Luc...@fr...> +sig 40581837 2007-05-08 Nick Kew <nic...@su...> sig 6BD872A0 2007-05-17 Michael Busch (Lucene Committer) <bu...@ap...> sig 6210BFC0 2007-05-17 Jean-Frederic Clere <jf...@ap...> sig 0F143BC1 2007-05-22 Matt Hogstrom <ma...@ho...> sig A46C4CA1 2007-05-22 Matt Hogstrom <hog...@ap...> -sig D1AAEA60 2007-05-31 [User ID not found] +sig D1AAEA60 2007-05-31 Reinhard Poetz <rei...@gm...> sig 084C9113 2007-07-24 Brett Porter <br...@ap...> sig AF5EC452 2007-07-30 Dennis Lundberg (CODE SIGNING KEY) <de...@ap...> +sig C3110611 2008-02-23 Petar Tahchiev <par...@gm...> +sig 51047D66 2009-03-25 Tony Stevenson <pc...@ap...> +sig 6A017B17 2009-03-29 H.-Dirk Schmitt <di...@co...> +sig 3B7C75B1 2009-03-31 Gilles Scokart (at apache) <gsc...@ap...> 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...> sig 3 2261D073 2003-03-17 Astrid Kessler (Kess) <ke...@ke...> -sig 21D0A71B 2003-03-17 Dirk-Willem van Gulik (http://www.anywi.com/ - Senior partner) <di...@an...> +sig 21D0A71B 2003-03-17 Dirk-Willem van Gulik (Chief Internet Architect, role) <dir...@bb...> sig 75A67692 2003-03-18 Erik Abele <er...@co...> sig B3B2A12C 2003-05-20 ct magazine CERTIFICATE <pg...@ct...> sig 3 8103A37E 2003-04-04 Andre Malo <nd...@ap...> @@ -83,31 +86,31 @@ sig 2FE28BCF 2005-07-01 Harald Wilhelm (HAWI) <Har...@ha...> sig 5793498F 2005-07-21 Tim Ellison <ti...@el...> sig 8408F755 2005-07-21 Christian Geisert <ch...@ap...> -sig 3 EC140B81 2005-07-20 Dirk-Willem van Gulik (http://www.anywi.com/ - Senior partner) <di...@an...> +sig 3 EC140B81 2005-07-20 Dirk-Willem van Gulik (Chief Internet Architect, role) <dir...@bb...> sig 3 EE65E321 2005-07-20 Martin Kraemer <ma...@ap...> -sig 3 A99F75DD 2005-07-21 Rodent of Unusual Size <co...@ph...> +sig 3 A99F75DD 2005-07-21 Rodent of Unusual Size <Ke...@Co...> sig 3 3642CB4B 2005-07-20 Martin Kraemer <ma...@ap...> -sig 3 302DA568 2005-07-21 Rodent of Unusual Size (DSA) <co...@Ap...> -sig 3 2C312D2F 2005-07-21 Rodent of Unusual Size <co...@ph...> +sig 3 302DA568 2005-07-21 Rodent of Unusual Size (DSA) <Ke...@Co...> +sig 3 2C312D2F 2005-07-21 Rodent of Unusual Size (DSS) <Ke...@Co...> sig 3 CC78C893 2005-07-22 Rich Bowen <rb...@rc...> sig 3 E2D774DF 2005-07-22 Sylvain Wallez <sy...@ap...> sig 3 E04F9A89 2005-07-22 Roy T. Fielding <fie...@gb...> sig 3 87315C31 2005-07-23 Rapha\xEBl Luta <rap...@ap...> sig 3 E41EDC7E 2005-07-24 Carsten Ziegeler <czi...@ap...> -sig 3 F39B3750 2005-07-24 Colm MacCarthaigh <co...@st...> -sig 1CD4861F 2005-07-25 Eran Chinthaka <chi...@ap...> +sig 3 F39B3750 2005-07-24 Colm MacCarthaigh <co...@al...> +sig 1CD4861F 2005-07-25 Eran Chinthaka (IU Email) <ech...@in...> sig EA1BA38D 2005-07-25 Ajith Harshana Ranabahu (Made at Apachecon 2005) <aj...@ap...> sig 333E4E84 2005-07-26 Chathura Kamalanath Herath (Apachecon Europe 2005) <cha...@ap...> sig 152924AF 2005-07-29 Sander Temme <sa...@te...> sig 3 9C85222B 2005-07-24 Henning Schmiedehausen <hp...@in...> -sig 3 9978AF86 2005-07-25 [User ID not found] -sig 3 2A623F72 2005-07-25 [User ID not found] -sig 3 F8EA2967 2005-07-26 [User ID not found] +sig 3 9978AF86 2005-07-25 Christoph Probst <ch...@ne...> +sig 3 2A623F72 2005-07-25 Christoph Probst <ch...@ne...> +sig 3 F8EA2967 2005-07-26 Brian McCallister <br...@ap...> 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 911203E4 2007-05-02 Mathias Herberts <Mat...@gi...> +sig F12F6072 2007-05-05 Fred Vos <fre...@gm...> 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...> @@ -115,61 +118,65 @@ 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...> +sig 3 01530235 2007-05-02 Luc Maisonobe (general purpose) <Luc...@fr...> +sig 40581837 2007-05-08 Nick Kew <nic...@su...> sig 6BD872A0 2007-05-17 Michael Busch (Lucene Committer) <bu...@ap...> sig 6210BFC0 2007-05-17 Jean-Frederic Clere <jf...@ap...> sig 0F143BC1 2007-05-22 Matt Hogstrom <ma...@ho...> sig A46C4CA1 2007-05-22 Matt Hogstrom <hog...@ap...> -sig D1AAEA60 2007-05-31 [User ID not found] +sig D1AAEA60 2007-05-31 Reinhard Poetz <rei...@gm...> sig 084C9113 2007-07-24 Brett Porter <br...@ap...> sig AF5EC452 2007-07-30 Dennis Lundberg (CODE SIGNING KEY) <de...@ap...> +sig C3110611 2008-02-23 Petar Tahchiev <par...@gm...> +sig 51047D66 2009-03-25 Tony Stevenson <pc...@ap...> uid Stefan Bodewig <st...@sa...> sig 3 5F6B8B72 2005-05-31 Stefan Bodewig <bo...@ap...> sig 51898504 2005-06-21 Conor MacNeill <co...@co...> sig 2FE28BCF 2005-07-01 Harald Wilhelm (HAWI) <Har...@ha...> sig 5793498F 2005-07-21 Tim Ellison <ti...@el...> -sig 3 EC140B81 2005-07-20 Dirk-Willem van Gulik (http://www.anywi.com/ - Senior partner) <di...@an...> +sig 3 EC140B81 2005-07-20 Dirk-Willem van Gulik (Chief Internet Architect, role) <dir...@bb...> sig 3 EE65E321 2005-07-20 Martin Kraemer <ma...@ap...> -sig 3 A99F75DD 2005-07-21 Rodent of Unusual Size <co...@ph...> -sig 3 21D0A71B 2005-07-20 Dirk-Willem van Gulik (http://www.anywi.com/ - Senior partner) <di...@an...> +sig 3 A99F75DD 2005-07-21 Rodent of Unusual Size <Ke...@Co...> +sig 3 21D0A71B 2005-07-20 Dirk-Willem van Gulik (Chief Internet Architect, role) <dir...@bb...> sig 3 3642CB4B 2005-07-20 Martin Kraemer <ma...@ap...> -sig 3 302DA568 2005-07-21 Rodent of Unusual Size (DSA) <co...@Ap...> -sig 3 2C312D2F 2005-07-21 Rodent of Unusual Size <co...@ph...> +sig 3 302DA568 2005-07-21 Rodent of Unusual Size (DSA) <Ke...@Co...> +sig 3 2C312D2F 2005-07-21 Rodent of Unusual Size (DSS) <Ke...@Co...> sig 3 CC78C893 2005-07-22 Rich Bowen <rb...@rc...> sig 3 E2D774DF 2005-07-22 Sylvain Wallez <sy...@ap...> sig 3 E04F9A89 2005-07-22 Roy T. Fielding <fie...@gb...> sig 3 87315C31 2005-07-23 Rapha\xEBl Luta <rap...@ap...> sig 3 E41EDC7E 2005-07-24 Carsten Ziegeler <czi...@ap...> -sig 3 F39B3750 2005-07-24 Colm MacCarthaigh <co...@st...> -sig 1CD4861F 2005-07-25 Eran Chinthaka <chi...@ap...> +sig 3 F39B3750 2005-07-24 Colm MacCarthaigh <co...@al...> +sig 1CD4861F 2005-07-25 Eran Chinthaka (IU Email) <ech...@in...> sig EA1BA38D 2005-07-25 Ajith Harshana Ranabahu (Made at Apachecon 2005) <aj...@ap...> sig 333E4E84 2005-07-26 Chathura Kamalanath Herath (Apachecon Europe 2005) <cha...@ap...> sig 152924AF 2005-07-29 Sander Temme <sa...@te...> sig 3 9C85222B 2005-07-24 Henning Schmiedehausen <hp...@in...> -sig 3 9978AF86 2005-07-25 [User ID not found] -sig 3 2A623F72 2005-07-25 [User ID not found] -sig 3 F8EA2967 2005-07-26 [User ID not found] +sig 3 9978AF86 2005-07-25 Christoph Probst <ch...@ne...> +sig 3 2A623F72 2005-07-25 Christoph Probst <ch...@ne...> +sig 3 F8EA2967 2005-07-26 Brian McCallister <br...@ap...> 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 911203E4 2007-05-02 Mathias Herberts <Mat...@gi...> +sig F12F6072 2007-05-05 Fred Vos <fre...@gm...> 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...> +sig 3 01530235 2007-05-02 Luc Maisonobe (general purpose) <Luc...@fr...> +sig 40581837 2007-05-08 Nick Kew <nic...@su...> sig 6BD872A0 2007-05-17 Michael Busch (Lucene Committer) <bu...@ap...> sig 6210BFC0 2007-05-17 Jean-Frederic Clere <jf...@ap...> sig 0F143BC1 2007-05-22 Matt Hogstrom <ma...@ho...> sig A46C4CA1 2007-05-22 Matt Hogstrom <hog...@ap...> -sig D1AAEA60 2007-05-31 [User ID not found] +sig D1AAEA60 2007-05-31 Reinhard Poetz <rei...@gm...> sig 084C9113 2007-07-24 Brett Porter <br...@ap...> sig AF5EC452 2007-07-30 Dennis Lundberg (CODE SIGNING KEY) <de...@ap...> +sig C3110611 2008-02-23 Petar Tahchiev <par...@gm...> +sig 51047D66 2009-03-25 Tony Stevenson <pc...@ap...> sub 1024g/24774157 2001-05-28 sig 5F6B8B72 2001-05-28 Stefan Bodewig <bo...@ap...> @@ -282,252 +289,296 @@ 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 -=EdkF +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 +FbNcFS3g +=LIse -----END PGP PUBLIC KEY BLOCK----- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2009-03-18 18:53:26
|
Bugs item #2386807, was opened at 2008-12-04 05:30 Message generated for change (Comment added) made by sf-robot You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2386807&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: Java 1.2 >Status: Closed Resolution: Fixed Priority: 5 Private: No Submitted By: Matthew Watson (mattw) Assigned to: Stefan Bodewig (bodewig) Summary: 1.2 bug comparing missing attributes Initial Comment: There is a bug when comparing 2 xml fragments where one has a missing attribute, the error is reported correctly, but the xpath for the attribute being compared is incorrect. The test below produces: Expected number of element attributes '2' but was '1' - comparing <bar...> at /foo[1]/bar[1] to <bar...> at /foo[1]/bar[1] Expected attribute name 'y' but was 'null' - comparing <bar...> at /foo[1]/bar[1]/@a to <bar...> at /foo[1]/bar[1]/@a The second diff says it is comparing attribute "y", but the xpath indicates attribute "a". Either the attribute in the xpath should be "y", or the xpath should only indicate /foo[1]/bar[1] Matt import java.util.List; import org.custommonkey.xmlunit.DetailedDiff; import org.custommonkey.xmlunit.Diff; import org.custommonkey.xmlunit.XMLTestCase; public class XmlUnitBug extends XMLTestCase { public void testBug() throws Exception { Diff myDiff = new Diff("<foo><bar a=\"x\" y=\"z\"/></foo>", "<foo><bar a=\"x\"/></foo>"); DetailedDiff myDDiff = new DetailedDiff(myDiff); List allDifferences = myDDiff.getAllDifferences(); for (Object diff : allDifferences) { System.err.println(diff); } assertTrue(myDDiff.similar()); } } ---------------------------------------------------------------------- >Comment By: SourceForge Robot (sf-robot) Date: 2009-03-18 18:53 Message: This Tracker item was closed automatically by the system. It was previously set to a Pending status, and the original submitter did not respond within 14 days (the time period specified by the administrator of this Tracker). ---------------------------------------------------------------------- Comment By: Stefan Bodewig (bodewig) Date: 2009-01-30 16:28 Message: fixed with svn revision 289 - http://xmlunit.svn.sourceforge.net/viewvc/xmlunit?view=rev&revision=289 ---------------------------------------------------------------------- Comment By: Stefan Bodewig (bodewig) Date: 2009-01-30 16:18 Message: confirmed, I have a failing unit test in my working copy now, and it would be in svn if sourceforge's svn let me. Hope to have a fix soon. ---------------------------------------------------------------------- Comment By: Matthew Watson (mattw) Date: 2008-12-04 05:32 Message: I am using V1.2 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2386807&group_id=23187 |
From: <bo...@us...> - 2009-03-13 04:16:13
|
Revision: 290 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=290&view=rev Author: bodewig Date: 2009-03-13 04:16:06 +0000 (Fri, 13 Mar 2009) Log Message: ----------- new SourceForge logo Modified Paths: -------------- trunk/xmlunit/src/site/index.html Modified: trunk/xmlunit/src/site/index.html =================================================================== --- trunk/xmlunit/src/site/index.html 2009-01-30 16:27:56 UTC (rev 289) +++ trunk/xmlunit/src/site/index.html 2009-03-13 04:16:06 UTC (rev 290) @@ -16,10 +16,7 @@ <tbody> <tr> <td colspan="2"><img align="left" src="xmlunit.png" - alt="<xml-unit/>" width="331" height="100"> <a - href="http://sourceforge.net"><img align="right" - src="http://sourceforge.net/sflogo.php?group_id=23187" width="88" - height="31" border="0" alt="SourceForge.Net"></a><br> + alt="<xml-unit/>" width="331" height="100"> <a href="http://sourceforge.net/projects/xmlunit"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=23187&type=13" width="120" height="30" border="0" alt="Get XML Unit at SourceForge.net. Fast, secure and Free Open Source software downloads" /></a><br> <h1>XMLUnit - JUnit and NUnit testing for XML</h1> </td> </tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2009-01-30 16:28:35
|
Bugs item #2386807, was opened at 2008-12-04 06:30 Message generated for change (Comment added) made by bodewig You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2386807&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: Java 1.2 >Status: Pending >Resolution: Fixed Priority: 5 Private: No Submitted By: Matthew Watson (mattw) Assigned to: Stefan Bodewig (bodewig) Summary: 1.2 bug comparing missing attributes Initial Comment: There is a bug when comparing 2 xml fragments where one has a missing attribute, the error is reported correctly, but the xpath for the attribute being compared is incorrect. The test below produces: Expected number of element attributes '2' but was '1' - comparing <bar...> at /foo[1]/bar[1] to <bar...> at /foo[1]/bar[1] Expected attribute name 'y' but was 'null' - comparing <bar...> at /foo[1]/bar[1]/@a to <bar...> at /foo[1]/bar[1]/@a The second diff says it is comparing attribute "y", but the xpath indicates attribute "a". Either the attribute in the xpath should be "y", or the xpath should only indicate /foo[1]/bar[1] Matt import java.util.List; import org.custommonkey.xmlunit.DetailedDiff; import org.custommonkey.xmlunit.Diff; import org.custommonkey.xmlunit.XMLTestCase; public class XmlUnitBug extends XMLTestCase { public void testBug() throws Exception { Diff myDiff = new Diff("<foo><bar a=\"x\" y=\"z\"/></foo>", "<foo><bar a=\"x\"/></foo>"); DetailedDiff myDDiff = new DetailedDiff(myDiff); List allDifferences = myDDiff.getAllDifferences(); for (Object diff : allDifferences) { System.err.println(diff); } assertTrue(myDDiff.similar()); } } ---------------------------------------------------------------------- >Comment By: Stefan Bodewig (bodewig) Date: 2009-01-30 17:28 Message: fixed with svn revision 289 - http://xmlunit.svn.sourceforge.net/viewvc/xmlunit?view=rev&revision=289 ---------------------------------------------------------------------- Comment By: Stefan Bodewig (bodewig) Date: 2009-01-30 17:18 Message: confirmed, I have a failing unit test in my working copy now, and it would be in svn if sourceforge's svn let me. Hope to have a fix soon. ---------------------------------------------------------------------- Comment By: Matthew Watson (mattw) Date: 2008-12-04 06:32 Message: I am using V1.2 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2386807&group_id=23187 |
From: <bo...@us...> - 2009-01-30 16:28:01
|
Revision: 289 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=289&view=rev Author: bodewig Date: 2009-01-30 16:27:56 +0000 (Fri, 30 Jan 2009) Log Message: ----------- reset tracked attribute if the attribute cannot be found, issue 2386807 Modified Paths: -------------- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java trunk/xmlunit/src/user-guide/XMLUnit-Java.xml Modified: trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java =================================================================== --- trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2009-01-30 16:20:20 UTC (rev 288) +++ trunk/xmlunit/src/java/org/custommonkey/xmlunit/DifferenceEngine.java 2009-01-30 16:27:56 UTC (rev 289) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2001-2008, Jeff Martin, Tim Bacon +Copyright (c) 2001-2009, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -568,6 +568,8 @@ nextAttr, compareTo, listener, ATTR_SEQUENCE); } } else { + controlTracker.clearTrackedAttribute(); + testTracker.clearTrackedAttribute(); compare(attrName, null, control, test, listener, ATTR_NAME_NOT_FOUND); } @@ -580,6 +582,8 @@ compareRecognizedXMLSchemaInstanceAttribute(null, nextAttr, listener); } else { + controlTracker.clearTrackedAttribute(); + testTracker.clearTrackedAttribute(); compare(null, getUnNamespacedNodeName(nextAttr, isNamespaced(nextAttr)), Modified: trunk/xmlunit/src/user-guide/XMLUnit-Java.xml =================================================================== --- trunk/xmlunit/src/user-guide/XMLUnit-Java.xml 2009-01-30 16:20:20 UTC (rev 288) +++ trunk/xmlunit/src/user-guide/XMLUnit-Java.xml 2009-01-30 16:27:56 UTC (rev 289) @@ -3516,6 +3516,38 @@ </section> </section> + <section id="Changes 1.3"> + <title>Changes from XMLUnit 1.2 to 1.3</title> + + <section id="Breaking Changes 1.2"> + <title>Breaking Changes</title> + + <itemizedlist> + </itemizedlist> + </section> + + <section id="New Features 1.2"> + <title>New Features</title> + + <itemizedlist> + </itemizedlist> + </section> + + <section id="Bugfixes 1.2"> + <title>Important Bug Fixes</title> + + <itemizedlist> + <listitem> + If XMLUnit couldn't match attributes (i.e. it encountered + a <literal>ATTR_NAME_NOT_FOUND_ID</literal> kind of + difference), the XPath expressions of the node details + have been random. <ulink + url="https://sourceforge.net/tracker/index.php?func=detail&aid=2386807&group_id=23187&atid=377768">Issue 2386807</ulink>. + </listitem> + </itemizedlist> + </section> + </section> + </appendix> </article> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2009-01-30 16:20:25
|
Revision: 288 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=288&view=rev Author: bodewig Date: 2009-01-30 16:20:20 +0000 (Fri, 30 Jan 2009) Log Message: ----------- failing test for bug 2386807 Modified Paths: -------------- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Difference.java Modified: trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Difference.java =================================================================== --- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Difference.java 2009-01-30 16:02:07 UTC (rev 287) +++ trunk/xmlunit/tests/java/org/custommonkey/xmlunit/test_Difference.java 2009-01-30 16:20:20 UTC (rev 288) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 200, Jeff Martin, Tim Bacon +Copyright (c) 2001-2009, 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.List; import junit.framework.TestCase; import org.w3c.dom.Document; @@ -97,6 +98,29 @@ assertEquals("detail", buf.toString(), difference.toString()); } + // bug 2386807 + public void testXpathOfMissingAttribute() throws Exception { + Diff d = new Diff("<foo><bar a=\"x\" y=\"z\"/></foo>", + "<foo><bar a=\"x\"/></foo>"); + DetailedDiff dd = new DetailedDiff(d); + List diffs = dd.getAllDifferences(); + assertEquals(2, diffs.size()); + Difference d1 = (Difference) diffs.get(0); + assertEquals(DifferenceConstants.ELEMENT_NUM_ATTRIBUTES_ID, + d1.getId()); + assertEquals("/foo[1]/bar[1]", + d1.getControlNodeDetail().getXpathLocation()); + assertEquals("/foo[1]/bar[1]", + d1.getTestNodeDetail().getXpathLocation()); + Difference d2 = (Difference) diffs.get(1); + assertEquals(DifferenceConstants.ATTR_NAME_NOT_FOUND_ID, + d2.getId()); + assertEquals("/foo[1]/bar[1]", + d2.getControlNodeDetail().getXpathLocation()); + assertEquals("/foo[1]/bar[1]", + d2.getTestNodeDetail().getXpathLocation()); + } + /** * Constructor for test_Difference. * @param name This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: SourceForge.net <no...@so...> - 2009-01-30 16:18:35
|
Bugs item #2386807, was opened at 2008-12-04 06:30 Message generated for change (Comment added) made by bodewig You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2386807&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: Java 1.2 Status: Open Resolution: None Priority: 5 Private: No Submitted By: Matthew Watson (mattw) >Assigned to: Stefan Bodewig (bodewig) Summary: 1.2 bug comparing missing attributes Initial Comment: There is a bug when comparing 2 xml fragments where one has a missing attribute, the error is reported correctly, but the xpath for the attribute being compared is incorrect. The test below produces: Expected number of element attributes '2' but was '1' - comparing <bar...> at /foo[1]/bar[1] to <bar...> at /foo[1]/bar[1] Expected attribute name 'y' but was 'null' - comparing <bar...> at /foo[1]/bar[1]/@a to <bar...> at /foo[1]/bar[1]/@a The second diff says it is comparing attribute "y", but the xpath indicates attribute "a". Either the attribute in the xpath should be "y", or the xpath should only indicate /foo[1]/bar[1] Matt import java.util.List; import org.custommonkey.xmlunit.DetailedDiff; import org.custommonkey.xmlunit.Diff; import org.custommonkey.xmlunit.XMLTestCase; public class XmlUnitBug extends XMLTestCase { public void testBug() throws Exception { Diff myDiff = new Diff("<foo><bar a=\"x\" y=\"z\"/></foo>", "<foo><bar a=\"x\"/></foo>"); DetailedDiff myDDiff = new DetailedDiff(myDiff); List allDifferences = myDDiff.getAllDifferences(); for (Object diff : allDifferences) { System.err.println(diff); } assertTrue(myDDiff.similar()); } } ---------------------------------------------------------------------- >Comment By: Stefan Bodewig (bodewig) Date: 2009-01-30 17:18 Message: confirmed, I have a failing unit test in my working copy now, and it would be in svn if sourceforge's svn let me. Hope to have a fix soon. ---------------------------------------------------------------------- Comment By: Matthew Watson (mattw) Date: 2008-12-04 06:32 Message: I am using V1.2 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=377768&aid=2386807&group_id=23187 |
From: <bo...@us...> - 2009-01-30 16:02:14
|
Revision: 287 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=287&view=rev Author: bodewig Date: 2009-01-30 16:02:07 +0000 (Fri, 30 Jan 2009) Log Message: ----------- turn open discussion thread 2948005 into testcases Modified Paths: -------------- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/examples/test_RecursiveElementNameAndTextQualifier.java Modified: trunk/xmlunit/tests/java/org/custommonkey/xmlunit/examples/test_RecursiveElementNameAndTextQualifier.java =================================================================== --- trunk/xmlunit/tests/java/org/custommonkey/xmlunit/examples/test_RecursiveElementNameAndTextQualifier.java 2008-12-15 14:12:57 UTC (rev 286) +++ trunk/xmlunit/tests/java/org/custommonkey/xmlunit/examples/test_RecursiveElementNameAndTextQualifier.java 2009-01-30 16:02:07 UTC (rev 287) @@ -1,6 +1,6 @@ /* ****************************************************************** -Copyright (c) 2008, Jeff Martin, Tim Bacon +Copyright (c) 2008-2009, Jeff Martin, Tim Bacon All rights reserved. Redistribution and use in source and binary forms, with or without @@ -43,6 +43,7 @@ import junit.framework.TestSuite; import org.custommonkey.xmlunit.Diff; +import org.custommonkey.xmlunit.XMLAssert; import org.custommonkey.xmlunit.ElementNameAndTextQualifier; import org.custommonkey.xmlunit.ElementQualifier; import org.custommonkey.xmlunit.XMLUnit; @@ -170,4 +171,91 @@ document = XMLUnit.newControlParser().newDocument(); } + /** + * @see https://sourceforge.net/forum/forum.php?thread_id=2948005&forum_id=73273 + */ + public void testOpenDiscussionThread2948995_1() throws Exception { + Diff myDiff = new Diff("<root>" + + " <ent>" + + " <value>" + + " <int>1</int>" + + " </value>" + + " <value>" + + " <int>2</int>" + + " </value>" + + " </ent>" + + " <ent>" + + " <value>" + + " <int>3</int>" + + " </value>" + + " <value>" + + " <int>4</int>" + + " </value>" + + " </ent>" + + "</root>", + "<root>" + + " <ent>" + + " <value>" + + " <int>2</int>" + + " </value>" + + " <value>" + + " <int>1</int>" + + " </value>" + + " </ent>" + + " <ent>" + + " <value>" + + " <int>3</int>" + + " </value>" + + " <value>" + + " <int>4</int>" + + " </value>" + + " </ent>" + + "</root>"); + myDiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier()); + XMLAssert.assertXMLEqual("Not similar", myDiff, true); + } + + /** + * @see https://sourceforge.net/forum/forum.php?thread_id=2948005&forum_id=73273 + */ + public void testOpenDiscussionThread2948995_2() throws Exception { + Diff myDiff = new Diff("<root>" + + " <ent>" + + " <value>" + + " <int>1</int>" + + " </value>" + + " <value>" + + " <int>2</int>" + + " </value>" + + " </ent>" + + " <ent>" + + " <value>" + + " <int>3</int>" + + " </value>" + + " <value>" + + " <int>4</int>" + + " </value>" + + " </ent>" + + "</root>", + "<root>" + + " <ent>" + + " <value>" + + " <int>1</int>" + + " </value>" + + " <value>" + + " <int>2</int>" + + " </value>" + + " </ent>" + + " <ent>" + + " <value>" + + " <int>4</int>" + + " </value>" + + " <value>" + + " <int>3</int>" + + " </value>" + + " </ent>" + + "</root>"); + myDiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier()); + XMLAssert.assertXMLEqual("Not similar", myDiff, true); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2008-12-15 14:13:03
|
Revision: 286 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=286&view=rev Author: bodewig Date: 2008-12-15 14:12:57 +0000 (Mon, 15 Dec 2008) Log Message: ----------- make empty element comparisons work for elements with attributes Modified Paths: -------------- trunk/xmlunit/NUnit.ReadMe trunk/xmlunit/src/csharp/XmlDiff.cs trunk/xmlunit/tests/csharp/XmlDiffTests.cs Modified: trunk/xmlunit/NUnit.ReadMe =================================================================== --- trunk/xmlunit/NUnit.ReadMe 2008-12-15 13:51:51 UTC (rev 285) +++ trunk/xmlunit/NUnit.ReadMe 2008-12-15 14:12:57 UTC (rev 286) @@ -24,6 +24,10 @@ - xmlns attributes are now no longer treated as normal attributes and the namespace of attributes is now sigificant +- comparisions of empty elements with attributes failed. + I.e. <foo><bar x="1"/></foo> was considered different from + <foo><bar x="1"></bar></foo> + Changes in version 0.3.1: - made it compile and all tests pass on .NET 1.1 as well as 2.0 and NUnit 2.4 Modified: trunk/xmlunit/src/csharp/XmlDiff.cs =================================================================== --- trunk/xmlunit/src/csharp/XmlDiff.cs 2008-12-15 13:51:51 UTC (rev 285) +++ trunk/xmlunit/src/csharp/XmlDiff.cs 2008-12-15 14:12:57 UTC (rev 286) @@ -171,9 +171,6 @@ } if (controlAttributes[i].Value != testAttr.Value) { - Console.Error.WriteLine("control: {0}, expected {1}, was {2}", - controlAttrName, - controlAttributes[i].Value, testAttr.Value); DifferenceFound(DifferenceType.ATTR_VALUE_ID, result); } @@ -222,12 +219,12 @@ private void CheckEmptyOrAtEndElement(DiffResult result, ReaderWithState control, ReaderWithState test) { - if (control.Reader.IsEmptyElement) { - if (!test.Reader.IsEmptyElement) { + if (control.LastElementWasEmpty) { + if (!test.LastElementWasEmpty) { CheckEndElement(test, result); } } else { - if (test.Reader.IsEmptyElement) { + if (test.LastElementWasEmpty) { CheckEndElement(control, result); } } @@ -319,12 +316,41 @@ internal ReaderWithState(XmlReader reader) { Reader = reader; HasRead = false; + LastElementWasEmpty = false; } + internal readonly XmlReader Reader; internal bool HasRead; + internal bool LastElementWasEmpty; + internal bool Read() { - return HasRead = Reader.Read(); + HasRead = Reader.Read(); + if (HasRead) { + switch (Reader.NodeType) { + case XmlNodeType.Element: + LastElementWasEmpty = Reader.IsEmptyElement; + break; + case XmlNodeType.EndElement: + LastElementWasEmpty = false; + break; + default: + // don't care + break; + } + } + return HasRead; } + + internal string State { + get { + return string.Format("Name {0}, NodeType {1}, IsEmpty {2}," + + " HasRead {3}, LastWasEmpty {4}", + Reader.Name, + Reader.NodeType, + Reader.IsEmptyElement, + HasRead, LastElementWasEmpty); + } + } } } } Modified: trunk/xmlunit/tests/csharp/XmlDiffTests.cs =================================================================== --- trunk/xmlunit/tests/csharp/XmlDiffTests.cs 2008-12-15 13:51:51 UTC (rev 285) +++ trunk/xmlunit/tests/csharp/XmlDiffTests.cs 2008-12-15 14:12:57 UTC (rev 286) @@ -24,8 +24,6 @@ private void AssertExpectedResult(string input1, string input2, bool expected) { TextReader reader1 = new StringReader(input1); TextReader reader2 = new StringReader(input2); - System.Console.Error.WriteLine("comparing {0} to {1}", input1, - input2); DiffResult result = PerformDiff(reader1, reader2); string msg = string.Format("comparing {0} to {1}: {2}", input1, input2, result.Difference); @@ -51,23 +49,13 @@ [Test] public void EqualResultForSameEmptyElements() { string[] input1 = {"<empty/>", "<elem><empty/></elem>"}; string[] input2 = {"<empty></empty>", "<elem><empty></empty></elem>"}; - System.Console.Error.WriteLine("ooooooooooooooooooooooooooooooooooooooooo"); - try { AssertExpectedResult(input1, input2, true); - } finally { - System.Console.Error.WriteLine("ooooooooooooooooooooooooooooooooooooooooo"); - } } [Test] public void EqualResultForEmptyElementsWithAttributes() { string[] input1 = {"<empty x='1'/>", "<elem><empty x='1'/></elem>"}; string[] input2 = {"<empty x='1'></empty>", "<elem><empty x='1'></empty></elem>"}; - System.Console.Error.WriteLine("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); - try { AssertExpectedResult(input1, input2, true); - } finally { - System.Console.Error.WriteLine("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); - } } [Test] public void NotEqualResultForEmptyVsNotEmptyElements() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2008-12-15 13:52:02
|
Revision: 285 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=285&view=rev Author: bodewig Date: 2008-12-15 13:51:51 +0000 (Mon, 15 Dec 2008) Log Message: ----------- encapsulate reader state a bit Modified Paths: -------------- trunk/xmlunit/src/csharp/XmlDiff.cs trunk/xmlunit/tests/csharp/XmlDiffTests.cs Modified: trunk/xmlunit/src/csharp/XmlDiff.cs =================================================================== --- trunk/xmlunit/src/csharp/XmlDiff.cs 2008-12-15 12:29:52 UTC (rev 284) +++ trunk/xmlunit/src/csharp/XmlDiff.cs 2008-12-15 13:51:51 UTC (rev 285) @@ -35,13 +35,13 @@ private XmlReader CreateXmlReader(XmlInput forInput) { XmlReader xmlReader = forInput.CreateXmlReader(); - if (xmlReader is XmlTextReader) { - ((XmlTextReader) xmlReader ).WhitespaceHandling = _diffConfiguration.WhitespaceHandling; - } + if (xmlReader is XmlTextReader) { + ((XmlTextReader) xmlReader ).WhitespaceHandling = _diffConfiguration.WhitespaceHandling; + } if (_diffConfiguration.UseValidatingParser) { - XmlValidatingReader validatingReader = new XmlValidatingReader(xmlReader); - return validatingReader; + XmlValidatingReader validatingReader = new XmlValidatingReader(xmlReader); + return validatingReader; } return xmlReader; @@ -62,82 +62,78 @@ private void Compare(DiffResult result, XmlReader controlReader, XmlReader testReader) { - bool controlRead, testRead; try { + ReaderWithState control = new ReaderWithState(controlReader); + ReaderWithState test = new ReaderWithState(testReader); do { - controlRead = controlReader.Read(); - testRead = testReader.Read(); - Compare(result, controlReader, ref controlRead, - testReader, ref testRead); - } while (controlRead && testRead) ; + control.Read(); + test.Read(); + Compare(result, control, test); + } while (control.HasRead && test.HasRead) ; } catch (FlowControlException e) { Console.Out.WriteLine(e.Message); } } - private void Compare(DiffResult result, - XmlReader controlReader, ref bool controlRead, - XmlReader testReader, ref bool testRead) { - if (controlRead) { - if (testRead) { - CompareNodes(result, controlReader, testReader); - CheckEmptyOrAtEndElement(result, - controlReader, ref controlRead, - testReader, ref testRead); + private void Compare(DiffResult result, ReaderWithState control, + ReaderWithState test) { + if (control.HasRead) { + if (test.HasRead) { + CompareNodes(result, control, test); + CheckEmptyOrAtEndElement(result, control, test); } else { DifferenceFound(DifferenceType.CHILD_NODELIST_LENGTH_ID, result); } } } - private void CompareNodes(DiffResult result, XmlReader controlReader, - XmlReader testReader) { - XmlNodeType controlNodeType = controlReader.NodeType; - XmlNodeType testNodeType = testReader.NodeType; + private void CompareNodes(DiffResult result, ReaderWithState control, + ReaderWithState test) { + XmlNodeType controlNodeType = control.Reader.NodeType; + XmlNodeType testNodeType = test.Reader.NodeType; if (!controlNodeType.Equals(testNodeType)) { CheckNodeTypes(controlNodeType, testNodeType, result, - controlReader, testReader); + control, test); } else if (controlNodeType == XmlNodeType.Element) { - CompareElements(result, controlReader, testReader); + CompareElements(result, control, test); } else if (controlNodeType == XmlNodeType.Text) { - CompareText(result, controlReader, testReader); + CompareText(result, control, test); } } private void CheckNodeTypes(XmlNodeType controlNodeType, XmlNodeType testNodeType, DiffResult result, - XmlReader controlReader, - XmlReader testReader) { - XmlReader readerToAdvance = null; + ReaderWithState control, + ReaderWithState test) { + ReaderWithState readerToAdvance = null; if (controlNodeType.Equals(XmlNodeType.XmlDeclaration)) { - readerToAdvance = controlReader; + readerToAdvance = control; } else if (testNodeType.Equals(XmlNodeType.XmlDeclaration)) { - readerToAdvance = testReader; + readerToAdvance = test; } if (readerToAdvance != null) { DifferenceFound(DifferenceType.HAS_XML_DECLARATION_PREFIX_ID, controlNodeType, testNodeType, result); readerToAdvance.Read(); - CompareNodes(result, controlReader, testReader); + CompareNodes(result, control, test); } else { DifferenceFound(DifferenceType.NODE_TYPE_ID, controlNodeType, testNodeType, result); } } - private void CompareElements(DiffResult result, XmlReader controlReader, - XmlReader testReader) { - string controlTagName = controlReader.Name; - string testTagName = testReader.Name; + private void CompareElements(DiffResult result, ReaderWithState control, + ReaderWithState test) { + string controlTagName = control.Reader.Name; + string testTagName = test.Reader.Name; if (!String.Equals(controlTagName, testTagName)) { DifferenceFound(DifferenceType.ELEMENT_TAG_NAME_ID, result); } else { XmlAttribute[] controlAttributes = - GetNonSpecialAttributes(controlReader); - XmlAttribute[] testAttributes = - GetNonSpecialAttributes(testReader); + GetNonSpecialAttributes(control); + XmlAttribute[] testAttributes = GetNonSpecialAttributes(test); if (controlAttributes.Length != testAttributes.Length) { DifferenceFound(DifferenceType.ELEMENT_NUM_ATTRIBUTES_ID, result); } @@ -191,10 +187,10 @@ } } - private void CompareText(DiffResult result, XmlReader controlReader, - XmlReader testReader) { - string controlText = controlReader.Value; - string testText = testReader.Value; + private void CompareText(DiffResult result, ReaderWithState control, + ReaderWithState test) { + string controlText = control.Reader.Value; + string testText = test.Reader.Value; if (!String.Equals(controlText, testText)) { DifferenceFound(DifferenceType.TEXT_VALUE_ID, result); } @@ -224,34 +220,33 @@ } private void CheckEmptyOrAtEndElement(DiffResult result, - XmlReader controlReader, - ref bool controlRead, - XmlReader testReader, - ref bool testRead) { - if (controlReader.IsEmptyElement) { - if (!testReader.IsEmptyElement) { - CheckEndElement(testReader, ref testRead, result); + ReaderWithState control, + ReaderWithState test) { + if (control.Reader.IsEmptyElement) { + if (!test.Reader.IsEmptyElement) { + CheckEndElement(test, result); } } else { - if (testReader.IsEmptyElement) { - CheckEndElement(controlReader, ref controlRead, result); + if (test.Reader.IsEmptyElement) { + CheckEndElement(control, result); } } } - private XmlAttribute[] GetNonSpecialAttributes(XmlReader r) { + private XmlAttribute[] GetNonSpecialAttributes(ReaderWithState r) { ArrayList l = new ArrayList(); - int length = r.AttributeCount; + int length = r.Reader.AttributeCount; if (length > 0) { XmlDocument doc = new XmlDocument(); - r.MoveToFirstAttribute(); + r.Reader.MoveToFirstAttribute(); for (int i = 0; i < length; i++) { - XmlAttribute a = doc.CreateAttribute(r.Name, r.NamespaceURI); + XmlAttribute a = doc.CreateAttribute(r.Reader.Name, + r.Reader.NamespaceURI); if (!IsXMLNSAttribute(a)) { + a.Value = r.Reader.Value; l.Add(a); } - a.Value = r.Value; - r.MoveToNextAttribute(); + r.Reader.MoveToNextAttribute(); } } return (XmlAttribute[]) l.ToArray(typeof(XmlAttribute)); @@ -301,22 +296,35 @@ return ns != null && ns.Length > 0; } - private void CheckEndElement(XmlReader reader, ref bool readResult, DiffResult result) { - readResult = reader.Read(); - if (!readResult || reader.NodeType != XmlNodeType.EndElement) { + private void CheckEndElement(ReaderWithState reader, DiffResult result) { + bool readResult = reader.Read(); + if (!readResult + || reader.Reader.NodeType != XmlNodeType.EndElement) { DifferenceFound(DifferenceType.CHILD_NODELIST_LENGTH_ID, result); - } + } } + public string OptionalDescription { + get { + return _diffConfiguration.Description; + } + } + private class FlowControlException : ApplicationException { public FlowControlException(Difference cause) : base(cause.ToString()) { } } - public string OptionalDescription { - get { - return _diffConfiguration.Description; + private class ReaderWithState { + internal ReaderWithState(XmlReader reader) { + Reader = reader; + HasRead = false; } + internal readonly XmlReader Reader; + internal bool HasRead; + internal bool Read() { + return HasRead = Reader.Read(); + } } } } Modified: trunk/xmlunit/tests/csharp/XmlDiffTests.cs =================================================================== --- trunk/xmlunit/tests/csharp/XmlDiffTests.cs 2008-12-15 12:29:52 UTC (rev 284) +++ trunk/xmlunit/tests/csharp/XmlDiffTests.cs 2008-12-15 13:51:51 UTC (rev 285) @@ -24,9 +24,12 @@ private void AssertExpectedResult(string input1, string input2, bool expected) { TextReader reader1 = new StringReader(input1); TextReader reader2 = new StringReader(input2); + System.Console.Error.WriteLine("comparing {0} to {1}", input1, + input2); DiffResult result = PerformDiff(reader1, reader2); - string msg = "comparing " + input1 + " to " + input2 + ": " + result.Difference; - Assert.AreEqual(expected, result.Equal); + string msg = string.Format("comparing {0} to {1}: {2}", input1, + input2, result.Difference); + Assert.AreEqual(expected, result.Equal, msg); } private void AssertExpectedResult(string[] inputs1, string[] inputs2, bool expected) { @@ -46,11 +49,27 @@ } [Test] public void EqualResultForSameEmptyElements() { - string[] input1 = {"<empty/>" , "<empty></empty>", "<elem><empty/></elem>", "<empty/>" }; - string[] input2 = {"<empty/>" , "<empty></empty>", "<elem><empty></empty></elem>", "<empty></empty>"}; + string[] input1 = {"<empty/>", "<elem><empty/></elem>"}; + string[] input2 = {"<empty></empty>", "<elem><empty></empty></elem>"}; + System.Console.Error.WriteLine("ooooooooooooooooooooooooooooooooooooooooo"); + try { AssertExpectedResult(input1, input2, true); + } finally { + System.Console.Error.WriteLine("ooooooooooooooooooooooooooooooooooooooooo"); + } } + [Test] public void EqualResultForEmptyElementsWithAttributes() { + string[] input1 = {"<empty x='1'/>", "<elem><empty x='1'/></elem>"}; + string[] input2 = {"<empty x='1'></empty>", "<elem><empty x='1'></empty></elem>"}; + System.Console.Error.WriteLine("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); + try { + AssertExpectedResult(input1, input2, true); + } finally { + System.Console.Error.WriteLine("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); + } + } + [Test] public void NotEqualResultForEmptyVsNotEmptyElements() { string[] input1 = {"<empty/>" , "<empty></empty>", "<empty><empty/></empty>"}; string[] input2 = {"<empty>text</empty>", "<empty>text</empty>", "<empty>text</empty>"}; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2008-12-15 12:29:57
|
Revision: 284 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=284&view=rev Author: bodewig Date: 2008-12-15 12:29:52 +0000 (Mon, 15 Dec 2008) Log Message: ----------- make attribzte coparisions more useful Modified Paths: -------------- trunk/xmlunit/src/csharp/XmlDiff.cs Modified: trunk/xmlunit/src/csharp/XmlDiff.cs =================================================================== --- trunk/xmlunit/src/csharp/XmlDiff.cs 2008-12-15 11:29:51 UTC (rev 283) +++ trunk/xmlunit/src/csharp/XmlDiff.cs 2008-12-15 12:29:52 UTC (rev 284) @@ -140,9 +140,8 @@ GetNonSpecialAttributes(testReader); if (controlAttributes.Length != testAttributes.Length) { DifferenceFound(DifferenceType.ELEMENT_NUM_ATTRIBUTES_ID, result); - } else { - CompareAttributes(result, controlAttributes, testAttributes); } + CompareAttributes(result, controlAttributes, testAttributes); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bo...@us...> - 2008-12-15 11:30:02
|
Revision: 283 http://xmlunit.svn.sourceforge.net/xmlunit/?rev=283&view=rev Author: bodewig Date: 2008-12-15 11:29:51 +0000 (Mon, 15 Dec 2008) Log Message: ----------- localize open/close of XmlReader Modified Paths: -------------- trunk/xmlunit/src/csharp/XmlDiff.cs Modified: trunk/xmlunit/src/csharp/XmlDiff.cs =================================================================== --- trunk/xmlunit/src/csharp/XmlDiff.cs 2008-12-15 08:46:06 UTC (rev 282) +++ trunk/xmlunit/src/csharp/XmlDiff.cs 2008-12-15 11:29:51 UTC (rev 283) @@ -8,20 +8,16 @@ public class XmlDiff { private const string XMLNS_PREFIX = "xmlns"; - private readonly XmlReader _controlReader; - private readonly XmlReader _testReader; + private readonly XmlInput controlInput; + private readonly XmlInput testInput; private readonly DiffConfiguration _diffConfiguration; private DiffResult _diffResult; public XmlDiff(XmlInput control, XmlInput test, DiffConfiguration diffConfiguration) { _diffConfiguration = diffConfiguration; - _controlReader = CreateXmlReader(control); - if (control.Equals(test)) { - _testReader = _controlReader; - } else { - _testReader = CreateXmlReader(test); - } + controlInput = control; + testInput = test; } public XmlDiff(XmlInput control, XmlInput test) @@ -54,78 +50,94 @@ public DiffResult Compare() { if (_diffResult == null) { _diffResult = new DiffResult(); - if (!_controlReader.Equals(_testReader)) { - Compare(_diffResult); + using (XmlReader controlReader = CreateXmlReader(controlInput)) + using (XmlReader testReader = CreateXmlReader(testInput)) { + if (!controlInput.Equals(testInput)) { + Compare(_diffResult, controlReader, testReader); + } } } return _diffResult; } - private void Compare(DiffResult result) { + private void Compare(DiffResult result, XmlReader controlReader, + XmlReader testReader) { bool controlRead, testRead; try { do { - controlRead = _controlReader.Read(); - testRead = _testReader.Read(); - Compare(result, ref controlRead, ref testRead); + controlRead = controlReader.Read(); + testRead = testReader.Read(); + Compare(result, controlReader, ref controlRead, + testReader, ref testRead); } while (controlRead && testRead) ; } catch (FlowControlException e) { Console.Out.WriteLine(e.Message); } } - private void Compare(DiffResult result, ref bool controlRead, ref bool testRead) { + private void Compare(DiffResult result, + XmlReader controlReader, ref bool controlRead, + XmlReader testReader, ref bool testRead) { if (controlRead) { - if(testRead) { - CompareNodes(result); - CheckEmptyOrAtEndElement(result, ref controlRead, ref testRead); + if (testRead) { + CompareNodes(result, controlReader, testReader); + CheckEmptyOrAtEndElement(result, + controlReader, ref controlRead, + testReader, ref testRead); } else { DifferenceFound(DifferenceType.CHILD_NODELIST_LENGTH_ID, result); } } } - private void CompareNodes(DiffResult result) { - XmlNodeType controlNodeType = _controlReader.NodeType; - XmlNodeType testNodeType = _testReader.NodeType; + private void CompareNodes(DiffResult result, XmlReader controlReader, + XmlReader testReader) { + XmlNodeType controlNodeType = controlReader.NodeType; + XmlNodeType testNodeType = testReader.NodeType; if (!controlNodeType.Equals(testNodeType)) { - CheckNodeTypes(controlNodeType, testNodeType, result); + CheckNodeTypes(controlNodeType, testNodeType, result, + controlReader, testReader); } else if (controlNodeType == XmlNodeType.Element) { - CompareElements(result); + CompareElements(result, controlReader, testReader); } else if (controlNodeType == XmlNodeType.Text) { - CompareText(result); + CompareText(result, controlReader, testReader); } } - private void CheckNodeTypes(XmlNodeType controlNodeType, XmlNodeType testNodeType, DiffResult result) { - XmlReader readerToAdvance = null; - if (controlNodeType.Equals(XmlNodeType.XmlDeclaration)) { - readerToAdvance = _controlReader; - } else if (testNodeType.Equals(XmlNodeType.XmlDeclaration)) { - readerToAdvance = _testReader; - } + private void CheckNodeTypes(XmlNodeType controlNodeType, + XmlNodeType testNodeType, + DiffResult result, + XmlReader controlReader, + XmlReader testReader) { + XmlReader readerToAdvance = null; + if (controlNodeType.Equals(XmlNodeType.XmlDeclaration)) { + readerToAdvance = controlReader; + } else if (testNodeType.Equals(XmlNodeType.XmlDeclaration)) { + readerToAdvance = testReader; + } - if (readerToAdvance != null) { + if (readerToAdvance != null) { DifferenceFound(DifferenceType.HAS_XML_DECLARATION_PREFIX_ID, controlNodeType, testNodeType, result); - readerToAdvance.Read(); - CompareNodes(result); - } else { + readerToAdvance.Read(); + CompareNodes(result, controlReader, testReader); + } else { DifferenceFound(DifferenceType.NODE_TYPE_ID, controlNodeType, testNodeType, result); - } + } } - private void CompareElements(DiffResult result) { - string controlTagName = _controlReader.Name; - string testTagName = _testReader.Name; + private void CompareElements(DiffResult result, XmlReader controlReader, + XmlReader testReader) { + string controlTagName = controlReader.Name; + string testTagName = testReader.Name; if (!String.Equals(controlTagName, testTagName)) { DifferenceFound(DifferenceType.ELEMENT_TAG_NAME_ID, result); } else { XmlAttribute[] controlAttributes = - GetNonSpecialAttributes(_controlReader); + GetNonSpecialAttributes(controlReader); XmlAttribute[] testAttributes = - GetNonSpecialAttributes(_testReader); + GetNonSpecialAttributes(testReader); if (controlAttributes.Length != testAttributes.Length) { DifferenceFound(DifferenceType.ELEMENT_NUM_ATTRIBUTES_ID, result); } else { @@ -180,9 +192,10 @@ } } - private void CompareText(DiffResult result) { - string controlText = _controlReader.Value; - string testText = _testReader.Value; + private void CompareText(DiffResult result, XmlReader controlReader, + XmlReader testReader) { + string controlText = controlReader.Value; + string testText = testReader.Value; if (!String.Equals(controlText, testText)) { DifferenceFound(DifferenceType.TEXT_VALUE_ID, result); } @@ -212,14 +225,17 @@ } private void CheckEmptyOrAtEndElement(DiffResult result, - ref bool controlRead, ref bool testRead) { - if (_controlReader.IsEmptyElement) { - if (!_testReader.IsEmptyElement) { - CheckEndElement(_testReader, ref testRead, result); + XmlReader controlReader, + ref bool controlRead, + XmlReader testReader, + ref bool testRead) { + if (controlReader.IsEmptyElement) { + if (!testReader.IsEmptyElement) { + CheckEndElement(testReader, ref testRead, result); } } else { - if (_testReader.IsEmptyElement) { - CheckEndElement(_controlReader, ref controlRead, result); + if (testReader.IsEmptyElement) { + CheckEndElement(controlReader, ref controlRead, result); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |