Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/ResolutionNodeUtils.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/ResolutionNodeUtils.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/ResolutionNodeUtils.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/ResolutionNodeUtils.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,137 @@ +package org.apache.maven.shared.dependency.tree; + +/* + * 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 java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.resolver.ArtifactResolutionResult; +import org.apache.maven.artifact.resolver.ResolutionNode; +import org.apache.maven.project.MavenProject; + +/** + * Utilities for working with resolution nodes. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + * @see ResolutionNode + */ +public final class ResolutionNodeUtils +{ + // constructors ----------------------------------------------------------- + + private ResolutionNodeUtils() + { + // private constructor for utility class + } + + // public methods --------------------------------------------------------- + + public static List getRootChildrenResolutionNodes( MavenProject project, ArtifactResolutionResult resolutionResult ) + { + Set resolutionNodes = resolutionResult.getArtifactResolutionNodes(); + + // obtain root children nodes + + Map rootChildrenResolutionNodesByArtifact = new HashMap(); + + for ( Iterator iterator = resolutionNodes.iterator(); iterator.hasNext(); ) + { + ResolutionNode resolutionNode = (ResolutionNode) iterator.next(); + + if ( resolutionNode.isChildOfRootNode() ) + { + rootChildrenResolutionNodesByArtifact.put( resolutionNode.getArtifact(), resolutionNode ); + } + } + + // order root children by project dependencies + + List rootChildrenResolutionNodes = new ArrayList(); + + for ( Iterator iterator = project.getDependencyArtifacts().iterator(); iterator.hasNext(); ) + { + Artifact artifact = (Artifact) iterator.next(); + ResolutionNode resolutionNode = (ResolutionNode) rootChildrenResolutionNodesByArtifact.get( artifact ); + + rootChildrenResolutionNodes.add( resolutionNode ); + } + + return rootChildrenResolutionNodes; + } + + public static String toString( MavenProject project, ArtifactResolutionResult result ) + { + StringBuffer buffer = new StringBuffer(); + + append( buffer, project, result ); + + return buffer.toString(); + } + + public static StringBuffer append( StringBuffer buffer, MavenProject project, ArtifactResolutionResult result ) + { + ResolutionNode rootNode = new ResolutionNode( project.getArtifact(), Collections.EMPTY_LIST ); + append( buffer, rootNode, 0 ); + + List rootChildrenNodes = getRootChildrenResolutionNodes( project, result ); + append( buffer, rootChildrenNodes.iterator(), 1 ); + + return buffer; + } + + // private methods -------------------------------------------------------- + + private static StringBuffer append( StringBuffer buffer, Iterator nodesIterator, int depth ) + { + while ( nodesIterator.hasNext() ) + { + ResolutionNode node = (ResolutionNode) nodesIterator.next(); + + append( buffer, node, depth ); + } + + return buffer; + } + + private static StringBuffer append( StringBuffer buffer, ResolutionNode node, int depth ) + { + for ( int i = 0; i < depth; i++ ) + { + buffer.append( " " ); + } + + buffer.append( node ); + buffer.append( System.getProperty( "line.separator" ) ); + + if ( node.isResolved() ) + { + append( buffer, node.getChildrenIterator(), depth + 1 ); + } + + return buffer; + } +}
Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/ResolutionNodeUtils.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/ResolutionNodeUtils.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AbstractDependencyNodeFilterTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AbstractDependencyNodeFilterTest.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AbstractDependencyNodeFilterTest.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AbstractDependencyNodeFilterTest.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,44 @@ +package org.apache.maven.shared.dependency.tree.filter; + +/* + * 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 org.apache.maven.shared.dependency.tree.DependencyNode; +import org.jmock.Mock; +import org.jmock.MockObjectTestCase; + +/** + * Provides utility methods for testing dependency node filters. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + */ +public abstract class AbstractDependencyNodeFilterTest extends MockObjectTestCase +{ + // protected methods --------------------------------------------------------- + + protected DependencyNodeFilter createDependencyNodeFilter( DependencyNode node, boolean accept ) + { + Mock mock = mock( DependencyNodeFilter.class ); + + mock.stubs().method( "accept" ).with( same( node ) ).will( returnValue( accept ) ); + + return (DependencyNodeFilter) mock.proxy(); + } +} Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AbstractDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AbstractDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AncestorOrSelfDependencyNodeFilterTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AncestorOrSelfDependencyNodeFilterTest.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AncestorOrSelfDependencyNodeFilterTest.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AncestorOrSelfDependencyNodeFilterTest.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,113 @@ +package org.apache.maven.shared.dependency.tree.filter; + +/* + * 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 org.apache.maven.shared.dependency.tree.AbstractDependencyNodeTest; +import org.apache.maven.shared.dependency.tree.DependencyNode; + +/** + * Tests <code>AncestorOrSelfDependencyNodeFilter</code>. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + * @see AncestorOrSelfDependencyNodeFilter + */ +public class AncestorOrSelfDependencyNodeFilterTest extends AbstractDependencyNodeTest +{ + // constants -------------------------------------------------------------- + + private DependencyNode rootNode; + + private DependencyNode childNode1; + + private DependencyNode childNode2; + + private DependencyNode grandChildNode; + + private AncestorOrSelfDependencyNodeFilter filter; + + // TestCase methods ------------------------------------------------------- + + /* + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception + { + /* + * p -> a -> c + * -> b + */ + + rootNode = createNode( "g:p:t:1" ); + + childNode1 = createNode( "g:a:t:1" ); + rootNode.addChild( childNode1 ); + + childNode2 = createNode( "g:b:t:1" ); + rootNode.addChild( childNode2 ); + + grandChildNode = createNode( "g:c:t:1" ); + childNode1.addChild( grandChildNode ); + } + + // tests ------------------------------------------------------------------ + + public void testSelf() + { + filter = new AncestorOrSelfDependencyNodeFilter( rootNode ); + + assertTrue( filter.accept( rootNode ) ); + } + + public void testParent() + { + filter = new AncestorOrSelfDependencyNodeFilter( childNode1 ); + + assertTrue( filter.accept( rootNode ) ); + } + + public void testGrandParent() + { + filter = new AncestorOrSelfDependencyNodeFilter( grandChildNode ); + + assertTrue( filter.accept( rootNode ) ); + } + + public void testCousin() + { + filter = new AncestorOrSelfDependencyNodeFilter( childNode2 ); + + assertFalse( filter.accept( childNode1 ) ); + } + + public void testChild() + { + filter = new AncestorOrSelfDependencyNodeFilter( rootNode ); + + assertFalse( filter.accept( childNode1 ) ); + } + + public void testGrandChild() + { + filter = new AncestorOrSelfDependencyNodeFilter( rootNode ); + + assertFalse( filter.accept( grandChildNode ) ); + } +} Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AncestorOrSelfDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AncestorOrSelfDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AndDependencyNodeFilterTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AndDependencyNodeFilterTest.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AndDependencyNodeFilterTest.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AndDependencyNodeFilterTest.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,90 @@ +package org.apache.maven.shared.dependency.tree.filter; + +/* + * 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 org.apache.maven.artifact.Artifact; +import org.apache.maven.plugin.testing.stubs.ArtifactStub; +import org.apache.maven.shared.dependency.tree.DependencyNode; + +/** + * Tests <code>AndDependencyNodeFilter</code>. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + * @see AndDependencyNodeFilter + */ +public class AndDependencyNodeFilterTest extends AbstractDependencyNodeFilterTest +{ + // fields ----------------------------------------------------------------- + + private Artifact artifact; + + private DependencyNode node; + + private DependencyNodeFilter includeFilter; + + private DependencyNodeFilter excludeFilter; + + private AndDependencyNodeFilter filter; + + // TestCase methods ------------------------------------------------------- + + /* + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception + { + artifact = new ArtifactStub(); + node = new DependencyNode( artifact ); + + includeFilter = createDependencyNodeFilter( node, true ); + excludeFilter = createDependencyNodeFilter( node, false ); + } + + // tests ------------------------------------------------------------------ + + public void testIncludeInclude() + { + filter = new AndDependencyNodeFilter( includeFilter, includeFilter ); + + assertTrue( filter.accept( node ) ); + } + + public void testIncludeExclude() + { + filter = new AndDependencyNodeFilter( includeFilter, excludeFilter ); + + assertFalse( filter.accept( node ) ); + } + + public void testExcludeInclude() + { + filter = new AndDependencyNodeFilter( excludeFilter, includeFilter ); + + assertFalse( filter.accept( node ) ); + } + + public void testExcludeExclude() + { + filter = new AndDependencyNodeFilter( excludeFilter, excludeFilter ); + + assertFalse( filter.accept( node ) ); + } +} Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AndDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/AndDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/ArtifactDependencyNodeFilterTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/ArtifactDependencyNodeFilterTest.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/ArtifactDependencyNodeFilterTest.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/ArtifactDependencyNodeFilterTest.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,87 @@ +package org.apache.maven.shared.dependency.tree.filter; + +/* + * 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 org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.resolver.filter.ArtifactFilter; +import org.apache.maven.plugin.testing.stubs.ArtifactStub; +import org.apache.maven.shared.dependency.tree.DependencyNode; +import org.jmock.Mock; +import org.jmock.MockObjectTestCase; + +/** + * Tests <code>ArtifactDependencyNodeFilter</code>. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + * @see ArtifactDependencyNodeFilter + */ +public class ArtifactDependencyNodeFilterTest extends MockObjectTestCase +{ + // fields ----------------------------------------------------------------- + + private Artifact artifact; + + private DependencyNode node; + + private ArtifactDependencyNodeFilter nodeFilter; + + private ArtifactFilter artifactFilter; + + // TestCase methods ------------------------------------------------------- + + /* + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception + { + artifact = new ArtifactStub(); + node = new DependencyNode( artifact ); + } + + // tests ------------------------------------------------------------------ + + public void testArtifactFilterInclude() + { + artifactFilter = createArtifactFilter( artifact, true ); + nodeFilter = new ArtifactDependencyNodeFilter( artifactFilter ); + + assertTrue( nodeFilter.accept( node ) ); + } + + public void testArtifactFilterExclude() + { + artifactFilter = createArtifactFilter( artifact, false ); + nodeFilter = new ArtifactDependencyNodeFilter( artifactFilter ); + + assertFalse( nodeFilter.accept( node ) ); + } + + // private methods -------------------------------------------------------- + + private ArtifactFilter createArtifactFilter( Artifact artifact, boolean include ) + { + Mock mock = mock( ArtifactFilter.class ); + + mock.stubs().method( "include" ).with( same( artifact ) ).will( returnValue( include ) ); + + return (ArtifactFilter) mock.proxy(); + } +} Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/ArtifactDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/ArtifactDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/StateDependencyNodeFilterTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/StateDependencyNodeFilterTest.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/StateDependencyNodeFilterTest.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/StateDependencyNodeFilterTest.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,106 @@ +package org.apache.maven.shared.dependency.tree.filter; + +/* + * 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 junit.framework.TestCase; + +import org.apache.maven.artifact.Artifact; +import org.apache.maven.plugin.testing.stubs.ArtifactStub; +import org.apache.maven.shared.dependency.tree.DependencyNode; + +/** + * Tests <code>StateDependencyNodeFilter</code>. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + * @see StateDependencyNodeFilter + */ +public class StateDependencyNodeFilterTest extends TestCase +{ + // fields ----------------------------------------------------------------- + + private StateDependencyNodeFilter filter; + + private DependencyNode includedNode; + + private DependencyNode omittedForDuplicateNode; + + private DependencyNode omittedForConflictNode; + + private DependencyNode omittedForCycleNode; + + // TestCase methods ------------------------------------------------------- + + /* + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception + { + Artifact artifact = new ArtifactStub(); + Artifact relatedArtifact = new ArtifactStub(); + + includedNode = new DependencyNode( artifact, DependencyNode.INCLUDED ); + omittedForDuplicateNode = new DependencyNode( artifact, DependencyNode.OMITTED_FOR_DUPLICATE, relatedArtifact ); + omittedForConflictNode = new DependencyNode( artifact, DependencyNode.OMITTED_FOR_CONFLICT, relatedArtifact ); + omittedForCycleNode = new DependencyNode( artifact, DependencyNode.OMITTED_FOR_CYCLE ); + } + + // tests ------------------------------------------------------------------ + + public void testIncluded() + { + filter = new StateDependencyNodeFilter( DependencyNode.INCLUDED ); + + assertTrue( filter.accept( includedNode ) ); + assertFalse( filter.accept( omittedForDuplicateNode ) ); + assertFalse( filter.accept( omittedForConflictNode ) ); + assertFalse( filter.accept( omittedForCycleNode ) ); + } + + public void testOmittedForDuplicate() + { + filter = new StateDependencyNodeFilter( DependencyNode.OMITTED_FOR_DUPLICATE ); + + assertFalse( filter.accept( includedNode ) ); + assertTrue( filter.accept( omittedForDuplicateNode ) ); + assertFalse( filter.accept( omittedForConflictNode ) ); + assertFalse( filter.accept( omittedForCycleNode ) ); + } + + public void testOmittedForConflict() + { + filter = new StateDependencyNodeFilter( DependencyNode.OMITTED_FOR_CONFLICT ); + + assertFalse( filter.accept( includedNode ) ); + assertFalse( filter.accept( omittedForDuplicateNode ) ); + assertTrue( filter.accept( omittedForConflictNode ) ); + assertFalse( filter.accept( omittedForCycleNode ) ); + } + + public void testOmittedForCycle() + { + filter = new StateDependencyNodeFilter( DependencyNode.OMITTED_FOR_CYCLE ); + + assertFalse( filter.accept( includedNode ) ); + assertFalse( filter.accept( omittedForDuplicateNode ) ); + assertFalse( filter.accept( omittedForConflictNode ) ); + assertTrue( filter.accept( omittedForCycleNode ) ); + } +} Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/StateDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/filter/StateDependencyNodeFilterTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/BuildingDependencyNodeVisitorTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/BuildingDependencyNodeVisitorTest.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/BuildingDependencyNodeVisitorTest.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/BuildingDependencyNodeVisitorTest.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,112 @@ +package org.apache.maven.shared.dependency.tree.traversal; + +/* + * 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 org.apache.maven.shared.dependency.tree.AbstractDependencyNodeTest; +import org.apache.maven.shared.dependency.tree.DependencyNode; +import org.jmock.Mock; + +/** + * Tests <code>BuildingDependencyNodeVisitor</code>. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + * @see BuildingDependencyNodeVisitor + */ +public class BuildingDependencyNodeVisitorTest extends AbstractDependencyNodeTest +{ + // fields ----------------------------------------------------------------- + + private BuildingDependencyNodeVisitor visitor; + + // tests ------------------------------------------------------------------ + + public void testVisitNode() + { + DependencyNode sourceNode = createNode( "g:a:t:1" ); + + visitor = new BuildingDependencyNodeVisitor(); + visitor.visit( sourceNode ); + visitor.endVisit( sourceNode ); + + DependencyNode resultNode = visitor.getDependencyTree(); + assertNotSame( sourceNode, resultNode ); + assertEquals( sourceNode, resultNode ); + } + + public void testVisitNodeWithChild() + { + DependencyNode sourceNode = createNode( "g:a:t:1" ); + DependencyNode sourceChildNode = createNode( "g:b:t:1" ); + sourceNode.addChild( sourceChildNode ); + + visitor = new BuildingDependencyNodeVisitor(); + visitor.visit( sourceNode ); + visitor.visit( sourceChildNode ); + visitor.endVisit( sourceChildNode ); + visitor.endVisit( sourceNode ); + + DependencyNode resultNode = visitor.getDependencyTree(); + assertNotSame( sourceNode, resultNode ); + assertEquals( sourceNode, resultNode ); + } + + public void testVisitNodeWithVisitor() + { + DependencyNode sourceNode = createNode( "g:a:t:1" ); + + Mock nextVisitorMock = mock( DependencyNodeVisitor.class ); + nextVisitorMock.expects( once() ).method( "visit" ).with( eq( sourceNode ) ).will( returnValue( true ) ).id( "1" ); + nextVisitorMock.expects( once() ).method( "endVisit" ).with( eq( sourceNode ) ).after( "1" ).will( returnValue( true ) ); + DependencyNodeVisitor nextVisitor = (DependencyNodeVisitor) nextVisitorMock.proxy(); + + visitor = new BuildingDependencyNodeVisitor( nextVisitor ); + visitor.visit( sourceNode ); + visitor.endVisit( sourceNode ); + + DependencyNode resultNode = visitor.getDependencyTree(); + assertNotSame( sourceNode, resultNode ); + assertEquals( sourceNode, resultNode ); + } + + public void testVisitNodeWithChildAndVisitor() + { + DependencyNode sourceNode = createNode( "g:a:t:1" ); + DependencyNode sourceChildNode = createNode( "g:b:t:1" ); + sourceNode.addChild( sourceChildNode ); + + Mock nextVisitorMock = mock( DependencyNodeVisitor.class ); + nextVisitorMock.expects( once() ).method( "visit" ).with( eq( sourceNode ) ).will( returnValue( true ) ).id( "1" ); + nextVisitorMock.expects( once() ).method( "visit" ).with( eq( sourceChildNode ) ).after( "1" ).will( returnValue( true ) ).id( "2" ); + nextVisitorMock.expects( once() ).method( "endVisit" ).with( eq( sourceChildNode ) ).after( "2" ).will( returnValue( true ) ).id( "3" ); + nextVisitorMock.expects( once() ).method( "endVisit" ).with( eq( sourceNode ) ).after( "3" ).will( returnValue( true ) ); + DependencyNodeVisitor nextVisitor = (DependencyNodeVisitor) nextVisitorMock.proxy(); + + visitor = new BuildingDependencyNodeVisitor( nextVisitor ); + visitor.visit( sourceNode ); + visitor.visit( sourceChildNode ); + visitor.endVisit( sourceChildNode ); + visitor.endVisit( sourceNode ); + + DependencyNode resultNode = visitor.getDependencyTree(); + assertNotSame( sourceNode, resultNode ); + assertEquals( sourceNode, resultNode ); + } +} Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/BuildingDependencyNodeVisitorTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/BuildingDependencyNodeVisitorTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/CollectingDependencyNodeVisitorTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/CollectingDependencyNodeVisitorTest.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/CollectingDependencyNodeVisitorTest.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/CollectingDependencyNodeVisitorTest.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,102 @@ +package org.apache.maven.shared.dependency.tree.traversal; + +/* + * 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 java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.apache.maven.shared.dependency.tree.AbstractDependencyNodeTest; +import org.apache.maven.shared.dependency.tree.DependencyNode; + +/** + * Tests <code>CollectingDependencyNodeVisitor</code>. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + * @see CollectingDependencyNodeVisitor + */ +public class CollectingDependencyNodeVisitorTest extends AbstractDependencyNodeTest +{ + // fields ----------------------------------------------------------------- + + private CollectingDependencyNodeVisitor visitor; + + private DependencyNode node1; + + private DependencyNode node2; + + private DependencyNode node3; + + // TestCase methods ------------------------------------------------------- + + /* + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception + { + visitor = new CollectingDependencyNodeVisitor(); + node1 = createNode( "g:a:t:1" ); + node2 = createNode( "g:b:t:1" ); + node3 = createNode( "g:c:t:1" ); + } + + // tests ------------------------------------------------------------------ + + public void testVisitSingleNode() + { + assertEmptyNodes(); + assertTrue( visitor.visit( node1 ) ); + assertNodes( node1 ); + } + + public void testVisitMultipleNodes() + { + assertEmptyNodes(); + assertTrue( visitor.visit( node1 ) ); + assertTrue( visitor.visit( node2 ) ); + assertTrue( visitor.visit( node3 ) ); + assertNodes( Arrays.asList( new Object[] { node1, node2, node3 } ) ); + } + + public void testEndVisit() + { + assertEmptyNodes(); + assertTrue( visitor.endVisit( node1 ) ); + assertEmptyNodes(); + } + + // private methods -------------------------------------------------------- + + private void assertEmptyNodes() + { + assertNodes( Collections.EMPTY_LIST ); + } + + private void assertNodes( DependencyNode node ) + { + assertNodes( Collections.singletonList( node ) ); + } + + private void assertNodes( List expectedNodes ) + { + assertEquals( "Collected nodes", expectedNodes, visitor.getNodes() ); + } +} Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/CollectingDependencyNodeVisitorTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/CollectingDependencyNodeVisitorTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/FilteringDependencyNodeVisitorTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/FilteringDependencyNodeVisitorTest.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/FilteringDependencyNodeVisitorTest.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/FilteringDependencyNodeVisitorTest.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,117 @@ +package org.apache.maven.shared.dependency.tree.traversal; + +/* + * 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 org.apache.maven.plugin.testing.stubs.ArtifactStub; +import org.apache.maven.shared.dependency.tree.DependencyNode; +import org.apache.maven.shared.dependency.tree.filter.AbstractDependencyNodeFilterTest; +import org.apache.maven.shared.dependency.tree.filter.DependencyNodeFilter; +import org.jmock.Mock; + +/** + * Tests <code>FilteringDependencyNodeVisitor</code>. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + * @see FilteringDependencyNodeVisitor + */ +public class FilteringDependencyNodeVisitorTest extends AbstractDependencyNodeFilterTest +{ + // fields ----------------------------------------------------------------- + + private FilteringDependencyNodeVisitor visitor; + + private DependencyNode node; + + private DependencyNodeFilter acceptingFilter; + + private DependencyNodeFilter rejectingFilter; + + // TestCase methods ------------------------------------------------------- + + /* + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception + { + node = new DependencyNode( new ArtifactStub() ); + + acceptingFilter = createDependencyNodeFilter( node, true ); + rejectingFilter = createDependencyNodeFilter( node, false ); + } + + // tests ------------------------------------------------------------------ + + public void testVisitAcceptTrue() + { + Mock filteredVisitorMock = mock( DependencyNodeVisitor.class ); + filteredVisitorMock.expects( once() ).method( "visit" ).with( eq( node ) ).will( returnValue( true ) ); + DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) filteredVisitorMock.proxy(); + + visitor = new FilteringDependencyNodeVisitor( filteredVisitor, acceptingFilter ); + assertTrue( visitor.visit( node ) ); + } + + public void testVisitAcceptFalse() + { + Mock filteredVisitorMock = mock( DependencyNodeVisitor.class ); + filteredVisitorMock.expects( once() ).method( "visit" ).with( eq( node ) ).will( returnValue( false ) ); + DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) filteredVisitorMock.proxy(); + + visitor = new FilteringDependencyNodeVisitor( filteredVisitor, acceptingFilter ); + assertFalse( visitor.visit( node ) ); + } + + public void testVisitReject() + { + DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) mock( DependencyNodeVisitor.class ).proxy(); + + visitor = new FilteringDependencyNodeVisitor( filteredVisitor, rejectingFilter ); + assertTrue( visitor.visit( node ) ); + } + + public void testEndVisitAcceptTrue() + { + Mock filteredVisitorMock = mock( DependencyNodeVisitor.class ); + filteredVisitorMock.expects( once() ).method( "endVisit" ).with( eq( node ) ).will( returnValue( true ) ); + DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) filteredVisitorMock.proxy(); + + visitor = new FilteringDependencyNodeVisitor( filteredVisitor, acceptingFilter ); + assertTrue( visitor.endVisit( node ) ); + } + + public void testEndVisitAcceptFalse() + { + Mock filteredVisitorMock = mock( DependencyNodeVisitor.class ); + filteredVisitorMock.expects( once() ).method( "endVisit" ).with( eq( node ) ).will( returnValue( false ) ); + DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) filteredVisitorMock.proxy(); + + visitor = new FilteringDependencyNodeVisitor( filteredVisitor, acceptingFilter ); + assertFalse( visitor.endVisit( node ) ); + } + + public void testEndVisitReject() + { + DependencyNodeVisitor filteredVisitor = (DependencyNodeVisitor) mock( DependencyNodeVisitor.class ).proxy(); + + visitor = new FilteringDependencyNodeVisitor( filteredVisitor, rejectingFilter ); + assertTrue( visitor.endVisit( node ) ); + } +} Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/FilteringDependencyNodeVisitorTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/FilteringDependencyNodeVisitorTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/SerializingDependencyNodeVisitorTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/SerializingDependencyNodeVisitorTest.java?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/SerializingDependencyNodeVisitorTest.java (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/SerializingDependencyNodeVisitorTest.java Thu Jun 21 08:53:42 2007 @@ -0,0 +1,134 @@ +package org.apache.maven.shared.dependency.tree.traversal; + +/* + * 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 java.io.StringWriter; + +import org.apache.maven.shared.dependency.tree.AbstractDependencyNodeTest; +import org.apache.maven.shared.dependency.tree.DependencyNode; + +/** + * Tests <code>SerializingDependencyNodeVisitor</code>. + * + * @author <a href="mailto:[EMAIL PROTECTED]">Mark Hobson</a> + * @version $Id$ + * @see SerializingDependencyNodeVisitor + */ +public class SerializingDependencyNodeVisitorTest extends AbstractDependencyNodeTest +{ + // constants -------------------------------------------------------------- + + private static final String NEWLINE = System.getProperty( "line.separator" ); + + // fields ----------------------------------------------------------------- + + private StringWriter writer; + + private SerializingDependencyNodeVisitor serializer; + + // TestCase methods ------------------------------------------------------- + + /* + * @see junit.framework.TestCase#setUp() + */ + protected void setUp() throws Exception + { + writer = new StringWriter(); + + serializer = new SerializingDependencyNodeVisitor( writer, SerializingDependencyNodeVisitor.STANDARD_TOKENS ); + } + + // tests ------------------------------------------------------------------ + + public void testSingleNode() + { + DependencyNode rootNode = createNode( "g:p:t:1" ); + + assertTree( "g:p:t:1" + NEWLINE, rootNode ); + } + + public void testNodeWithChild() + { + DependencyNode rootNode = createNode( "g:p:t:1" ); + rootNode.addChild( createNode( "g:a:t:1" ) ); + + assertTree( + "g:p:t:1" + NEWLINE + + "\\- g:a:t:1" + NEWLINE, + rootNode ); + } + + public void testNodeWithMultipleChildren() + { + DependencyNode rootNode = createNode( "g:p:t:1" ); + rootNode.addChild( createNode( "g:a:t:1" ) ); + rootNode.addChild( createNode( "g:b:t:1" ) ); + rootNode.addChild( createNode( "g:c:t:1" ) ); + + assertTree( + "g:p:t:1" + NEWLINE + + "+- g:a:t:1" + NEWLINE + + "+- g:b:t:1" + NEWLINE + + "\\- g:c:t:1" + NEWLINE, + rootNode ); + } + + public void testNodeWithGrandchild() + { + DependencyNode rootNode = createNode( "g:p:t:1" ); + DependencyNode childNode = createNode( "g:a:t:1" ); + rootNode.addChild( childNode ); + childNode.addChild( createNode( "g:b:t:1" ) ); + + assertTree( + "g:p:t:1" + NEWLINE + + "\\- g:a:t:1" + NEWLINE + + " \\- g:b:t:1" + NEWLINE, + rootNode ); + } + + public void testNodeWithMultipleGrandchildren() + { + DependencyNode rootNode = createNode( "g:p:t:1" ); + DependencyNode child1Node = createNode( "g:a:t:1" ); + rootNode.addChild( child1Node ); + child1Node.addChild( createNode( "g:b:t:1" ) ); + DependencyNode child2Node = createNode( "g:c:t:1" ); + rootNode.addChild( child2Node ); + child2Node.addChild( createNode( "g:d:t:1" ) ); + + assertTree( + "g:p:t:1" + NEWLINE + + "+- g:a:t:1" + NEWLINE + + "| \\- g:b:t:1" + NEWLINE + + "\\- g:c:t:1" + NEWLINE + + " \\- g:d:t:1" + NEWLINE, + rootNode ); + } + + // private methods -------------------------------------------------------- + + private void assertTree( String expectedTree, DependencyNode actualNode ) + { + actualNode.accept( serializer ); + + assertEquals( expectedTree, writer.toString() ); + } +} Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/SerializingDependencyNodeVisitorTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/java/org/apache/maven/shared/dependency/tree/traversal/SerializingDependencyNodeVisitorTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision" Added: maven/shared/trunk/maven-dependency-tree/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-dependency-tree/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml?view=auto&rev=549521 ============================================================================== --- maven/shared/trunk/maven-dependency-tree/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml (added) +++ maven/shared/trunk/maven-dependency-tree/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml Thu Jun 21 08:53:42 2007 @@ -0,0 +1,36 @@ +<!-- + ~ 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. + --> + +<component-set> + <components> + <component> + <role>org.apache.maven.artifact.factory.ArtifactFactory</role> + <implementation>org.apache.maven.artifact.factory.DefaultArtifactFactory</implementation> + <requirements> + <requirement> + <role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role> + </requirement> + </requirements> + </component> + <component> + <role>org.apache.maven.artifact.resolver.ArtifactCollector</role> + <implementation>org.apache.maven.artifact.resolver.DefaultArtifactCollector</implementation> + </component> + </components> +</component-set> Propchange: maven/shared/trunk/maven-dependency-tree/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/shared/trunk/maven-dependency-tree/src/test/resources/org/apache/maven/shared/dependency/tree/DependencyTreeBuilderTest.xml ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision"