This is an automated email from the ASF dual-hosted git repository.

khmarbaise pushed a commit to branch MNG-6492
in repository https://gitbox.apache.org/repos/asf/maven.git

commit a1f2d57bfd0da283f155d77b207a74cd1f23cc77
Author: Sylwester Lachiewicz <slachiew...@gmail.com>
AuthorDate: Sun Sep 16 23:33:54 2018 +0200

    [MNG-6479] Upgrade XMLUnit to 2.2.1 (#183)
---
 maven-model-builder/pom.xml                        | 10 +++-
 .../DefaultInheritanceAssemblerTest.java           | 66 +++++++++-------------
 .../inheritance/plugin-configuration-expected.xml  |  2 +-
 pom.xml                                            | 13 +++++
 4 files changed, 48 insertions(+), 43 deletions(-)

diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml
index d447d6c..a087c36 100644
--- a/maven-model-builder/pom.xml
+++ b/maven-model-builder/pom.xml
@@ -71,9 +71,13 @@ under the License.
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>xmlunit</groupId>
-      <artifactId>xmlunit</artifactId>
-      <version>1.6</version>
+      <groupId>org.xmlunit</groupId>
+      <artifactId>xmlunit-core</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.xmlunit</groupId>
+      <artifactId>xmlunit-matchers</artifactId>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git 
a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
 
b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
index 68dd71e..cabe1a5 100644
--- 
a/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
+++ 
b/maven-model-builder/src/test/java/org/apache/maven/model/inheritance/DefaultInheritanceAssemblerTest.java
@@ -21,21 +21,16 @@ package org.apache.maven.model.inheritance;
 
 import org.apache.maven.model.Model;
 import org.apache.maven.model.building.SimpleProblemCollector;
-import org.apache.maven.model.io.ModelParseException;
 import org.apache.maven.model.io.ModelReader;
 import org.apache.maven.model.io.ModelWriter;
 import org.codehaus.plexus.PlexusTestCase;
-import org.custommonkey.xmlunit.XMLAssert;
-import org.custommonkey.xmlunit.XMLUnit;
 
-import junit.framework.AssertionFailedError;
+import org.xmlunit.matchers.CompareMatcher;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.nio.charset.StandardCharsets;
+
+import static org.junit.Assert.assertThat;
 
 /**
  * @author Hervé Boutemy
@@ -66,7 +61,7 @@ public class DefaultInheritanceAssemblerTest
     }
 
     private Model getModel( String name )
-        throws ModelParseException, IOException
+        throws IOException
     {
         return reader.read( getPom( name ), null );
     }
@@ -80,7 +75,7 @@ public class DefaultInheritanceAssemblerTest
     /**
      * Check most classical urls inheritance: directory structure where parent 
POM in parent directory
      * and child directory == artifactId
-     * @throws Exception
+     * @throws IOException Model read problem
      */
     public void testUrls()
         throws Exception
@@ -90,10 +85,10 @@ public class DefaultInheritanceAssemblerTest
 
     /**
      * Flat directory structure: parent &amp; child POMs in sibling 
directories, child directory == artifactId.
-     * @throws Exception
+     * @throws IOException Model read problem
      */
     public void testFlatUrls()
-        throws Exception
+        throws IOException
     {
         testInheritance( "flat-urls" );
     }
@@ -112,10 +107,10 @@ public class DefaultInheritanceAssemblerTest
      * Tricky case: flat directory structure, but child directory != 
artifactId.
      * Model interpolation does not give same result when calculated from 
build or from repo...
      * This is why MNG-5000 fix in code is marked as bad practice (uses file 
names)
-     * @throws Exception
+     * @throws IOException Model read problem
      */
     public void testFlatTrickyUrls()
-        throws Exception
+        throws IOException
     {
         // parent references child with artifactId (which is not directory 
name)
         // then relative path calculation will fail during build from disk but 
success when calculated from repo
@@ -125,46 +120,49 @@ public class DefaultInheritanceAssemblerTest
             testInheritance( "tricky-flat-artifactId-urls", false );
             //fail( "should have failed since module reference == artifactId 
!= directory name" );
         }
-        catch ( AssertionFailedError afe )
+        catch ( AssertionError afe )
         {
             // expected failure: wrong relative path calculation
             assertTrue( afe.getMessage(),
-                        afe.getMessage().contains( 
"http://www.apache.org/path/to/parent/child-artifact-id/"; ) );
+                        afe.getMessage().contains(
+                                "Expected text value 
'http://www.apache.org/path/to/parent/child-artifact-id/' but was " +
+                                        
"'http://www.apache.org/path/to/parent/../child-artifact-id/'" ) );
         }
         // but ok from repo: local disk is ignored
         testInheritance( "tricky-flat-artifactId-urls", true );
 
         // parent references child with directory name (which is not artifact 
id)
-        // then relative path calculation will success during build from disk 
but failwhen calculated from repo
+        // then relative path calculation will success during build from disk 
but fail when calculated from repo
         testInheritance( "tricky-flat-directory-urls", false );
         try
         {
             testInheritance( "tricky-flat-directory-urls", true );
             fail( "should have failed since module reference == directory name 
!= artifactId" );
         }
-        catch ( AssertionFailedError afe )
+        catch ( AssertionError afe )
         {
             // expected failure
-            assertTrue( afe.getMessage(),
-                        afe.getMessage().contains( 
"http://www.apache.org/path/to/parent/child-artifact-id/"; ) );
+            assertTrue( afe.getMessage(), afe.getMessage().contains(
+                    "Expected text value 
'http://www.apache.org/path/to/parent/../child-artifact-id/' but was " +
+                            
"'http://www.apache.org/path/to/parent/child-artifact-id/'" ) );
         }
     }
 
     public void testWithEmptyUrl() 
-        throws Exception
+        throws IOException
     {
                testInheritance( "empty-urls", false );
     }
     
     public void testInheritance( String baseName )
-        throws Exception
+        throws IOException
     {
         testInheritance( baseName, false );
         testInheritance( baseName, true );
     }
 
     public void testInheritance( String baseName, boolean fromRepo )
-        throws Exception
+        throws IOException
     {
         Model parent = getModel( baseName + "-parent" );
 
@@ -189,17 +187,12 @@ public class DefaultInheritanceAssemblerTest
 
         // check with getPom( baseName + "-expected" )
         File expected = getPom( baseName + "-expected" );
-        try ( Reader control = new InputStreamReader( new FileInputStream( 
expected ), StandardCharsets.UTF_8 );
-              Reader test = new InputStreamReader( new FileInputStream( actual 
), StandardCharsets.UTF_8 ) )
-        {
-            XMLUnit.setIgnoreComments( true );
-            XMLUnit.setIgnoreWhitespace( true );
-            XMLAssert.assertXMLEqual( control, test );
-        }
-    }    
+
+        assertThat( actual, CompareMatcher.isIdenticalTo( expected 
).ignoreComments().ignoreWhitespace() );
+    }
 
     public void testModulePathNotArtifactId()
-        throws Exception
+        throws IOException
     {
         Model parent = getModel( "module-path-not-artifactId-parent" );
 
@@ -215,12 +208,7 @@ public class DefaultInheritanceAssemblerTest
 
         // check with getPom( "module-path-not-artifactId-effective" )
         File expected = getPom( "module-path-not-artifactId-expected" );
-        try ( Reader control = new InputStreamReader( new FileInputStream( 
expected ), StandardCharsets.UTF_8 );
-                        Reader test = new InputStreamReader( new 
FileInputStream( actual ), StandardCharsets.UTF_8 ) )
-        {
-            XMLUnit.setIgnoreComments( true );
-            XMLUnit.setIgnoreWhitespace( true );
-            XMLAssert.assertXMLEqual( control, test );
-        }
+
+        assertThat( actual, 
CompareMatcher.isIdenticalTo(expected).ignoreComments().ignoreWhitespace() );
     }
 }
diff --git 
a/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml
 
b/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml
index 00a21f3..318ee44 100644
--- 
a/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml
+++ 
b/maven-model-builder/src/test/resources/poms/inheritance/plugin-configuration-expected.xml
@@ -34,9 +34,9 @@ under the License.
   <mailingLists>
     <mailingList>
       <name>parent</name>
-      <post>p...@mailing.list.com</post>
       <subscribe>subscr...@mailing.list.com</subscribe>
       <unsubscribe>unsubscr...@mailing.list.com</unsubscribe>
+      <post>p...@mailing.list.com</post>
     </mailingList>
   </mailingLists>
 
diff --git a/pom.xml b/pom.xml
index 4e370c0..be6cd4a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,6 +66,7 @@ under the License.
     <jxpathVersion>1.3</jxpathVersion>
     <resolverVersion>1.1.1</resolverVersion>
     <slf4jVersion>1.7.25</slf4jVersion>
+    <xmlunitVersion>2.2.1</xmlunitVersion>
     
<maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile>
     <!-- Control the name of the distribution and information output by mvn -->
     <distributionId>apache-maven</distributionId>
@@ -401,6 +402,18 @@ under the License.
         <version>${mockitoVersion}</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>org.xmlunit</groupId>
+        <artifactId>xmlunit-core</artifactId>
+        <version>${xmlunitVersion}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.xmlunit</groupId>
+        <artifactId>xmlunit-matchers</artifactId>
+        <version>${xmlunitVersion}</version>
+        <scope>test</scope>
+      </dependency>
     </dependencies>
     <!--bootstrap-start-comment-->
   </dependencyManagement>

Reply via email to