You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by ol...@apache.org on 2009/05/14 23:50:43 UTC
svn commit: r774941 - in
/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm:
ScmTckTestCase.java tck/command/checkin/CheckInCommandTckTest.java
Author: olamy
Date: Thu May 14 21:50:43 2009
New Revision: 774941
URL: http://svn.apache.org/viewvc?rev=774941&view=rev
Log:
[SCM-471] some TCK tests check for files in a position dependent way
Submitted by Mark Struberg
Modified:
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java?rev=774941&r1=774940&r2=774941&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTckTestCase.java Thu May 14 21:50:43 2009
@@ -23,11 +23,14 @@
import org.apache.maven.scm.command.checkout.CheckOutScmResult;
import org.apache.maven.scm.provider.ScmProvider;
import org.apache.maven.scm.repository.ScmRepository;
+import org.codehaus.plexus.util.StringUtils;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
/**
* <p/>
@@ -165,4 +168,35 @@
assertEquals( "Expected 1 file in the added files list " + addedFiles, 1, addedFiles.size() );
}
}
+
+ /**
+ * take the files of the given list, add them to a TreeMap and
+ * use the pathName String as key for the Map.
+ * This function is useful for every TCK which has to check for the
+ * existence of more than 1 file of the returned ScmResult, regardless
+ * of their order in the list.
+ * All backslashes in the path will be replaced by forward slashes
+ * for Windows compatibility.
+ *
+ * @param files List with {@code ScmFile}s
+ * @return Map key=pathName, value=ScmFile
+ */
+ protected Map/*<String, ScmFile>*/ mapFilesByPath( List/*<ScmFile>*/ files )
+ {
+ if ( files == null )
+ {
+ return null;
+ }
+
+ Map mappedFiles = new TreeMap();
+ Iterator it = files.iterator();
+ while ( it.hasNext() )
+ {
+ ScmFile scmFile = (ScmFile) it.next();
+ String path = StringUtils.replace( scmFile.getPath(), "\\", "/" );
+ mappedFiles.put( path, scmFile );
+ }
+
+ return mappedFiles;
+ }
}
Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java?rev=774941&r1=774940&r2=774941&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java (original)
+++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java Thu May 14 21:50:43 2009
@@ -32,6 +32,7 @@
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.List;
+import java.util.Map;
/**
* This test tests the check out command.
@@ -82,17 +83,16 @@
assertEquals( 2, files.size() );
- ScmFile file1 = (ScmFile) files.get( 0 );
-
+ Map fileMap = mapFilesByPath( files );
+ ScmFile file1 = (ScmFile) fileMap.get( "src/main/java/Foo.java" );
+ assertNotNull( file1 );
assertEquals( ScmFileStatus.CHECKED_IN, file1.getStatus() );
- assertPath( "/test-repo/check-in/Foo.java", file1.getPath() );
-
- ScmFile file2 = (ScmFile) files.get( 1 );
+ ScmFile file2 = (ScmFile) fileMap.get( "readme.txt" );
+ assertNotNull( file2 );
assertEquals( ScmFileStatus.CHECKED_IN, file2.getStatus() );
- assertPath( "/test-repo/check-in/readme.txt", file2.getPath() );
CheckOutScmResult checkoutResult =
getScmManager().checkOut( getScmRepository(), new ScmFileSet( getAssertionCopy() ) );