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

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

commit c48cc38bfe1260dd35bce4947a7eef01f81d6dde
Author: rfscholte <[email protected]>
AuthorDate: Sun Oct 18 12:46:57 2020 +0200

    Improve tests
---
 .../xml/sax/filter/AbstractEventXMLFilter.java     |   2 +-
 .../maven/xml/sax/filter/AbstractSAXFilter.java    |   4 +-
 .../xml/sax/filter/BuildPomXMLFilterFactory.java   |  12 +-
 .../maven/xml/sax/filter/ConsumerPomXMLFilter.java |   7 +
 .../sax/filter/ConsumerPomXMLFilterFactory.java    |   1 +
 .../apache/maven/xml/sax/ChainedFilterTest.java    | 150 +++++++++++++++++++++
 .../xml/sax/filter/AbstractXMLFilterTests.java     | 115 ++++++++++------
 .../xml/sax/filter/ConsumerPomXMLFilterTest.java   |  10 +-
 .../maven/xml/sax/filter/ModulesXMLFilterTest.java |  10 +-
 .../maven/xml/sax/filter/ParentXMLFilterTest.java  |   7 +-
 .../sax/filter/ReactorDependencyXMLFilterTest.java |   9 +-
 11 files changed, 264 insertions(+), 63 deletions(-)

diff --git 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/AbstractEventXMLFilter.java
 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/AbstractEventXMLFilter.java
index 1b72d11..9ef6917 100644
--- 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/AbstractEventXMLFilter.java
+++ 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/AbstractEventXMLFilter.java
@@ -64,7 +64,7 @@ abstract class AbstractEventXMLFilter extends 
AbstractSAXFilter
 
     AbstractEventXMLFilter( AbstractSAXFilter parent )
     {
-        setParent( parent );
+        super( parent );
     }
 
     private SAXEventFactory getEventFactory()
diff --git 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/AbstractSAXFilter.java
 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/AbstractSAXFilter.java
index 1761936..b930f77 100644
--- 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/AbstractSAXFilter.java
+++ 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/AbstractSAXFilter.java
@@ -35,14 +35,14 @@ public class AbstractSAXFilter extends XMLFilterImpl 
implements LexicalHandler
 {
     private LexicalHandler lexicalHandler;
     
-    AbstractSAXFilter()
+    public AbstractSAXFilter()
     {
         super();
     }
 
     public AbstractSAXFilter( AbstractSAXFilter parent )
     {
-        setParent( parent );
+        super( parent );
         parent.setLexicalHandler( this );
     }
     
diff --git 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/BuildPomXMLFilterFactory.java
 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/BuildPomXMLFilterFactory.java
index 626c7ac..4468da2 100644
--- 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/BuildPomXMLFilterFactory.java
+++ 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/BuildPomXMLFilterFactory.java
@@ -22,6 +22,7 @@ package org.apache.maven.xml.sax.filter;
 import java.nio.file.Path;
 import java.util.Optional;
 import java.util.function.BiFunction;
+import java.util.function.Consumer;
 import java.util.function.Function;
 
 import javax.xml.parsers.ParserConfigurationException;
@@ -40,16 +41,16 @@ import org.xml.sax.ext.LexicalHandler;
  */
 public class BuildPomXMLFilterFactory
 {
-    private final LexicalHandler lexicalHandler;
+    private final Consumer<LexicalHandler> lexicalHandlerConsumer;
     
     public BuildPomXMLFilterFactory()
     {
         this( null ); 
     }
     
-    public BuildPomXMLFilterFactory( LexicalHandler lexicalHandler )
+    public BuildPomXMLFilterFactory( Consumer<LexicalHandler> 
lexicalHandlerConsumer )
     {
-        this.lexicalHandler = lexicalHandler;
+        this.lexicalHandlerConsumer = lexicalHandlerConsumer;
     }
 
     /**
@@ -65,7 +66,10 @@ public class BuildPomXMLFilterFactory
     {
         AbstractSAXFilter parent = new AbstractSAXFilter();
         parent.setParent( getXMLReader() );
-        parent.setLexicalHandler( lexicalHandler );
+        if ( lexicalHandlerConsumer != null )
+        {
+            lexicalHandlerConsumer.accept( parent );
+        }
 
         if ( getDependencyKeyToVersionMapper() != null )
         {
diff --git 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilter.java
 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilter.java
index c02092d..b2a8ec1 100644
--- 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilter.java
+++ 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilter.java
@@ -20,6 +20,7 @@ package org.apache.maven.xml.sax.filter;
  */
 
 import org.xml.sax.XMLReader;
+import org.xml.sax.ext.LexicalHandler;
 
 /**
  * XML Filter to transform pom.xml to consumer pom.
@@ -50,4 +51,10 @@ public class ConsumerPomXMLFilter extends AbstractSAXFilter
             super.setParent( parent );
         }
     }
+    
+    @Override
+    public LexicalHandler getLexicalHandler()
+    {
+        return ( (AbstractSAXFilter) getParent() ).getLexicalHandler();
+    }
 }
diff --git 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterFactory.java
 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterFactory.java
index 5703b89..298a84c 100644
--- 
a/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterFactory.java
+++ 
b/maven-xml/src/main/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterFactory.java
@@ -46,6 +46,7 @@ public class ConsumerPomXMLFilterFactory
     {
         BuildPomXMLFilter parent = buildPomXMLFilterFactory.get( projectPath );
         
+        
         // Ensure that xs:any elements aren't touched by next filters
         AbstractSAXFilter filter = new FastForwardFilter( parent );
         
diff --git 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/ChainedFilterTest.java 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/ChainedFilterTest.java
new file mode 100644
index 0000000..87fb6de
--- /dev/null
+++ b/maven-xml/src/test/java/org/apache/maven/xml/sax/ChainedFilterTest.java
@@ -0,0 +1,150 @@
+package org.apache.maven.xml.sax;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import static org.xmlunit.assertj.XmlAssert.assertThat;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.sax.SAXResult;
+import javax.xml.transform.sax.SAXSource;
+import javax.xml.transform.sax.SAXTransformerFactory;
+import javax.xml.transform.sax.TransformerHandler;
+import javax.xml.transform.stream.StreamResult;
+
+import org.apache.maven.xml.Factories;
+import org.apache.maven.xml.sax.filter.AbstractSAXFilter;
+import org.junit.Test;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+/**
+ * A small example of a pipeline of 2 XML Filters, to understand how to get 
the expected result
+ * 
+ * @author Robert Scholte
+ * @since 3.7.0
+ */
+public class ChainedFilterTest
+{
+
+    @Test
+    public void test()
+        throws Exception
+    {
+        String input = "<project><!-- aBc --><name>dEf</name></project>";
+
+        SAXTransformerFactory transformerFactory = (SAXTransformerFactory) 
Factories.newTransformerFactory();
+        TransformerHandler transformerHandler = 
transformerFactory.newTransformerHandler();
+
+        Writer writer = new StringWriter();
+        StreamResult result = new StreamResult( writer );
+        transformerHandler.setResult( result );
+
+        Transformer transformer = transformerFactory.newTransformer();
+        SAXResult transformResult = new SAXResult( transformerHandler );
+
+        // Watch the order of filters! In reverse order the values would be 
'AweSome'
+        AbstractSAXFilter filter = new Awesome();
+        
+        // AbstractSAXFilter doesn't have a constructor with XMLReader, 
otherwise the LexicalHandler pipeline will be broken
+        filter.setParent( Factories.newXMLReader() );
+        
+        // LexicalHandler of transformerResult must be the first filter
+        transformResult.setLexicalHandler( filter );
+
+        filter = new ChangeCase( filter );
+        // LexicalHandler on last filter must be the transformerHandler
+        filter.setLexicalHandler( transformerHandler );
+
+        SAXSource transformSource = new SAXSource( filter, new InputSource( 
new StringReader( input ) ) );
+
+        transformer.transform( transformSource, transformResult );
+
+        String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+            + "<project><!--AWESOME--><name>awesome</name></project>";
+        assertThat( writer.toString() ).and( expected ).areIdentical();
+    }
+
+    static class ChangeCase
+        extends AbstractSAXFilter
+    {
+
+        public ChangeCase()
+        {
+            super();
+        }
+
+        public ChangeCase( AbstractSAXFilter parent )
+        {
+            super( parent );
+        }
+
+        @Override
+        public void comment( char[] ch, int start, int length )
+            throws SAXException
+        {
+            String s = new String( ch, start, length ).toUpperCase();
+            super.comment( s.toCharArray(), 0, s.length() );
+        }
+
+        @Override
+        public void characters( char[] ch, int start, int length )
+            throws SAXException
+        {
+            String s = new String( ch, start, length ).toLowerCase();
+            super.characters( s.toCharArray(), 0, s.length() );
+        }
+    }
+
+    static class Awesome
+        extends AbstractSAXFilter
+    {
+
+        public Awesome()
+        {
+            super();
+        }
+
+        public Awesome( AbstractSAXFilter parent )
+        {
+            super( parent );
+        }
+
+        @Override
+        public void comment( char[] ch, int start, int length )
+            throws SAXException
+        {
+            String s = "AweSome";
+            super.comment( s.toCharArray(), 0, s.length() );
+        }
+
+        @Override
+        public void characters( char[] ch, int start, int length )
+            throws SAXException
+        {
+            String s = "AweSome";
+            super.characters( s.toCharArray(), 0, s.length() );
+        }
+    }
+
+}
diff --git 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/AbstractXMLFilterTests.java
 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/AbstractXMLFilterTests.java
index 2b2f173..862cb76 100644
--- 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/AbstractXMLFilterTests.java
+++ 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/AbstractXMLFilterTests.java
@@ -24,6 +24,7 @@ import java.io.StringReader;
 import java.io.StringWriter;
 import java.io.Writer;
 import java.net.ContentHandler;
+import java.util.function.Consumer;
 
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.OutputKeys;
@@ -39,28 +40,18 @@ import org.apache.maven.xml.Factories;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 import org.xml.sax.XMLReader;
+import org.xml.sax.ext.LexicalHandler;
 
 public abstract class AbstractXMLFilterTests
 {
-    public AbstractXMLFilterTests()
+    protected AbstractSAXFilter getFilter() throws TransformerException, 
SAXException, ParserConfigurationException
     {
-        super();
+        throw new UnsupportedOperationException( "Override one of the 
getFilter() methods" );
     }
     
-    protected abstract AbstractSAXFilter getFilter() throws 
TransformerException, SAXException, ParserConfigurationException;
-    
-    private void setParent( AbstractSAXFilter filter ) throws SAXException, 
ParserConfigurationException
+    protected AbstractSAXFilter getFilter( Consumer<LexicalHandler> result )  
throws TransformerException, SAXException, ParserConfigurationException
     {
-        if( filter.getParent() == null )
-        {
-            XMLReader r = Factories.newXMLReader();
-            
-            AbstractSAXFilter perChar = new PerCharXMLFilter();
-            perChar.setParent( r );
-            
-            filter.setParent( perChar );
-            filter.setFeature( "http://xml.org/sax/features/namespaces";, true 
);
-        }
+        return getFilter();
     }
     
     protected String omitXmlDeclaration() {
@@ -77,33 +68,54 @@ public abstract class AbstractXMLFilterTests
         return transform( new StringReader( input ) );
     }
 
-    protected String transform( Reader input ) throws TransformerException, 
SAXException, ParserConfigurationException
-    {
-        AbstractSAXFilter filter = getFilter();
-        setParent( filter );
-
-        return transform( input, filter );
-    }
-    
+    /**
+     * Use this method only for testing a single filter.
+     * 
+     * @param input
+     * @param filter
+     * @return
+     * @throws TransformerException
+     * @throws SAXException
+     * @throws ParserConfigurationException
+     */
     protected String transform( String input, AbstractSAXFilter filter ) 
         throws TransformerException, SAXException, ParserConfigurationException
     {
         setParent( filter );
+        
+        SAXTransformerFactory transformerFactory = (SAXTransformerFactory) 
Factories.newTransformerFactory();
+        TransformerHandler transformerHandler = 
transformerFactory.newTransformerHandler();
+        
+        transformerHandler.getTransformer().setOutputProperty( 
OutputKeys.OMIT_XML_DECLARATION, omitXmlDeclaration() );
+        if ( indentAmount() != null )
+        {
+            transformerHandler.getTransformer().setOutputProperty( 
OutputKeys.INDENT, "yes" );
+            transformerHandler.getTransformer().setOutputProperty( 
"{http://xml.apache.org/xslt}indent-amount";,
+                                                                   
indentAmount() );
+        }
+        
+        Transformer transformer = transformerFactory.newTransformer();
+        
+        Writer writer = new StringWriter();
+        StreamResult result = new StreamResult( writer );
+        transformerHandler.setResult( result );
 
-        filter = new PerCharXMLFilter( filter );
+        SAXResult transformResult = new SAXResult( transformerHandler );
+        SAXSource transformSource = new SAXSource( filter, new InputSource( 
new StringReader( input ) ) );
+        
+        transformResult.setLexicalHandler( filter );
+        transformer.transform( transformSource, transformResult );
+
+        return writer.toString();
 
-        return transform( new StringReader( input ), filter );
     }
 
-    protected String transform( Reader input, AbstractSAXFilter filter )
+    protected String transform( Reader input )
         throws TransformerException, SAXException, ParserConfigurationException
     {
-        Writer writer = new StringWriter();
-        StreamResult result = new StreamResult( writer );
-
         SAXTransformerFactory transformerFactory = (SAXTransformerFactory) 
Factories.newTransformerFactory();
         TransformerHandler transformerHandler = 
transformerFactory.newTransformerHandler();
-        filter.setLexicalHandler( transformerHandler );
+        
         transformerHandler.getTransformer().setOutputProperty( 
OutputKeys.OMIT_XML_DECLARATION, omitXmlDeclaration() );
         if ( indentAmount() != null )
         {
@@ -111,18 +123,43 @@ public abstract class AbstractXMLFilterTests
             transformerHandler.getTransformer().setOutputProperty( 
"{http://xml.apache.org/xslt}indent-amount";,
                                                                    
indentAmount() );
         }
-        transformerHandler.setResult( result );
-        Transformer transformer = transformerFactory.newTransformer();
         
-        SAXSource transformSource = new SAXSource( filter, new InputSource( 
input ) );
+        Transformer transformer = transformerFactory.newTransformer();
+
+        Writer writer = new StringWriter();
+        StreamResult result = new StreamResult( writer );
+        transformerHandler.setResult( result );
 
         SAXResult transformResult = new SAXResult( transformerHandler );
-        transformResult.setLexicalHandler( filter );
+        
+        AbstractSAXFilter filter = getFilter( l -> 
transformResult.setLexicalHandler( l ) );
+        setParent( filter );
+        
+        filter = new PerCharXMLFilter( filter );
+
+        filter.setLexicalHandler( transformerHandler );
+        
+        SAXSource transformSource = new SAXSource( filter, new InputSource( 
input ) );
+        
         transformer.transform( transformSource, transformResult );
 
         return writer.toString();
     }
     
+    private void setParent( AbstractSAXFilter filter ) throws SAXException, 
ParserConfigurationException
+    {
+        if( filter.getParent() == null )
+        {
+            XMLReader r = Factories.newXMLReader();
+            
+            AbstractSAXFilter perChar = new PerCharXMLFilter();
+            perChar.setParent( r );
+            
+            filter.setParent( perChar );
+            filter.setFeature( "http://xml.org/sax/features/namespaces";, true 
);
+        }
+    }
+
     /**
      * From {@link ContentHandler}
      * <q>Your code should not assume that algorithms using char-at-a-time 
idioms will be working in characterunits; 
@@ -156,16 +193,6 @@ public abstract class AbstractXMLFilterTests
         }
         
         @Override
-        public void comment( char[] ch, int start, int length )
-            throws SAXException
-        {
-            for ( int i = 0; i < length; i++ )
-            {
-                super.comment( ch, start + i, 1 );
-            }
-        }
-        
-        @Override
         public void ignorableWhitespace( char[] ch, int start, int length )
             throws SAXException
         {
diff --git 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterTest.java
 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterTest.java
index 161519a..29c47d4 100644
--- 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterTest.java
+++ 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ConsumerPomXMLFilterTest.java
@@ -25,14 +25,15 @@ import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Optional;
 import java.util.function.BiFunction;
+import java.util.function.Consumer;
 import java.util.function.Function;
 
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerConfigurationException;
 
-import org.junit.Ignore;
 import org.junit.Test;
 import org.xml.sax.SAXException;
+import org.xml.sax.ext.LexicalHandler;
 
 public class ConsumerPomXMLFilterTest extends AbstractXMLFilterTests
 {
@@ -43,9 +44,10 @@ public class ConsumerPomXMLFilterTest extends 
AbstractXMLFilterTests
     }
     
     @Override
-    protected AbstractSAXFilter getFilter() throws SAXException, 
ParserConfigurationException, TransformerConfigurationException
+    protected AbstractSAXFilter getFilter( Consumer<LexicalHandler> 
lexicalHandlerConsumer )
+        throws SAXException, ParserConfigurationException, 
TransformerConfigurationException
     {
-        final BuildPomXMLFilterFactory buildPomXMLFilterFactory = new 
BuildPomXMLFilterFactory()
+        final BuildPomXMLFilterFactory buildPomXMLFilterFactory = new 
BuildPomXMLFilterFactory( lexicalHandlerConsumer )
         {
             @Override
             protected Function<Path, Optional<RelativeProject>> 
getRelativePathMapper()
@@ -234,7 +236,7 @@ public class ConsumerPomXMLFilterTest extends 
AbstractXMLFilterTests
     }
     
     @Test
-    @Ignore
+//    @Ignore
     public void lexicalHandler() throws Exception
     {
         String input = "<project><!--before--><modules>"
diff --git 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ModulesXMLFilterTest.java
 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ModulesXMLFilterTest.java
index 552b721..103794c 100644
--- 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ModulesXMLFilterTest.java
+++ 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ModulesXMLFilterTest.java
@@ -21,15 +21,19 @@ package org.apache.maven.xml.sax.filter;
 
 import static org.xmlunit.assertj.XmlAssert.assertThat;
 
-import org.apache.maven.xml.sax.filter.ModulesXMLFilter;
+import java.util.function.Consumer;
+
 import org.junit.Test;
+import org.xml.sax.ext.LexicalHandler;
 
 public class ModulesXMLFilterTest extends AbstractXMLFilterTests {
 
        @Override
-       protected ModulesXMLFilter getFilter()
+       protected ModulesXMLFilter getFilter( Consumer<LexicalHandler> 
lexicalHandlerConsumer )
        {
-           return new ModulesXMLFilter();
+           ModulesXMLFilter filter = new ModulesXMLFilter();
+           lexicalHandlerConsumer.accept( filter );
+           return filter;
        }
        
        @Test
diff --git 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ParentXMLFilterTest.java
 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ParentXMLFilterTest.java
index bb00222..eee0359 100644
--- 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ParentXMLFilterTest.java
+++ 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ParentXMLFilterTest.java
@@ -23,25 +23,26 @@ import static org.junit.Assert.assertEquals;
 
 import java.nio.file.Paths;
 import java.util.Optional;
+import java.util.function.Consumer;
 
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerException;
 
-import org.apache.maven.xml.sax.filter.ParentXMLFilter;
-import org.apache.maven.xml.sax.filter.RelativeProject;
 import org.junit.Test;
 import org.xml.sax.SAXException;
+import org.xml.sax.ext.LexicalHandler;
 
 public class ParentXMLFilterTest extends AbstractXMLFilterTests
 {
     @Override
-    protected ParentXMLFilter getFilter()
+    protected ParentXMLFilter getFilter( Consumer<LexicalHandler> 
lexicalHandlerConsumer )
         throws TransformerException, SAXException, ParserConfigurationException
     {
         ParentXMLFilter filter = new ParentXMLFilter( x -> Optional.of( new 
RelativeProject( "GROUPID", 
                                                                                
            "ARTIFACTID",
                                                                                
            "1.0.0" ) ) );
         filter.setProjectPath( Paths.get( "pom.xml").toAbsolutePath() );
+        lexicalHandlerConsumer.accept( filter );
         
         return filter;
     }
diff --git 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilterTest.java
 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilterTest.java
index db6606c..49f7354 100644
--- 
a/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilterTest.java
+++ 
b/maven-xml/src/test/java/org/apache/maven/xml/sax/filter/ReactorDependencyXMLFilterTest.java
@@ -20,19 +20,24 @@ package org.apache.maven.xml.sax.filter;
  */
 import static org.xmlunit.assertj.XmlAssert.assertThat;
 
+import java.util.function.Consumer;
+
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.TransformerException;
 
 import org.junit.Test;
 import org.xml.sax.SAXException;
+import org.xml.sax.ext.LexicalHandler;
 
 public class ReactorDependencyXMLFilterTest extends AbstractXMLFilterTests
 {
     @Override
-    protected ReactorDependencyXMLFilter getFilter()
+    protected ReactorDependencyXMLFilter getFilter( Consumer<LexicalHandler> 
lexicalHandlerConsumer )
         throws TransformerException, SAXException, ParserConfigurationException
     {
-        return new ReactorDependencyXMLFilter( (g, a) -> "1.0.0" );
+        ReactorDependencyXMLFilter filter = new ReactorDependencyXMLFilter( 
(g, a) -> "1.0.0" );
+        lexicalHandlerConsumer.accept( filter );
+        return filter;
     }
 
     @Test

Reply via email to