Skip to content

Commit e304a11

Browse files
kwinmichael-o
authored andcommitted
Improve test for ScmManager.add(...)
* Check returned file paths * Fix Subversion returning path with leading spaces This closes #158
1 parent e77e001 commit e304a11

File tree

2 files changed

+16
-13
lines changed
  • maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add
  • maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin

2 files changed

+16
-13
lines changed

maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/add/SvnAddConsumer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public void consumeLine( String line )
5555

5656
String statusString = line.substring( 0, 1 );
5757

58-
String file = line.substring( 3 );
58+
String file = line.substring( 3 ).trim();
5959

6060
ScmFileStatus status;
6161

maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.apache.maven.scm.command.checkin.CheckInScmResult;
2828
import org.apache.maven.scm.command.checkout.CheckOutScmResult;
2929
import org.apache.maven.scm.provider.ScmProvider;
30+
import org.apache.maven.scm.util.FilenameUtils;
3031
import org.codehaus.plexus.util.FileUtils;
3132
import org.codehaus.plexus.util.IOUtil;
3233
import org.junit.Assume;
@@ -81,15 +82,19 @@ public void testCheckInCommandTest()
8182

8283
assertResultIsSuccess( addResult );
8384

85+
List<ScmFile> files = addResult.getAddedFiles();
86+
assertNotNull( files );
87+
assertEquals( 1, files.size() );
88+
// SCM-998: filename separators not yet harmonized
89+
assertEquals( "src/main/java/Foo.java", FilenameUtils.normalizeFilename( files.get( 0 ).getPath() ) );
90+
8491
CheckInScmResult result =
8592
getScmManager().checkIn( getScmRepository(), new ScmFileSet( getWorkingCopy() ), "Commit message" );
8693

8794
assertResultIsSuccess( result );
8895

89-
List<ScmFile> files = result.getCheckedInFiles();
90-
96+
files = result.getCheckedInFiles();
9197
assertNotNull( files );
92-
9398
assertEquals( 2, files.size() );
9499

95100
Map<String, ScmFile> fileMap = mapFilesByPath( files );
@@ -159,15 +164,11 @@ public void testCheckInCommandPartialFileset()
159164
assertResultIsSuccess( result );
160165

161166
List<ScmFile> files = result.getCheckedInFiles();
162-
163167
assertNotNull( files );
164-
165168
assertEquals( 1, files.size() );
166169

167170
ScmFile file1 = files.get( 0 );
168-
169171
assertEquals( ScmFileStatus.CHECKED_IN, file1.getStatus() );
170-
171172
assertPath( "src/main/java/Foo.java", file1.getPath() );
172173

173174
CheckOutScmResult checkoutResult =
@@ -212,23 +213,25 @@ public void testCheckInCommandFilesetWithBasedirOtherThanWorkingCopyRoot()
212213

213214
assertResultIsSuccess( addResult );
214215

216+
List<ScmFile> files = addResult.getAddedFiles();
217+
assertNotNull( files );
218+
assertEquals( 1, files.size() );
219+
// SCM-998: filename separators not yet harmonized
220+
assertEquals( "main/java/Foo.java", FilenameUtils.normalizeFilename( files.get( 0 ).getPath() ) );
221+
215222
CheckInScmResult result =
216223
getScmManager().checkIn( getScmRepository(), new ScmFileSet( new File( getWorkingCopy(), "src" ),
217224
"**/Foo.java", null ),
218225
"Commit message" );
219226

220227
assertResultIsSuccess( result );
221228

222-
List<ScmFile> files = result.getCheckedInFiles();
223-
229+
files = result.getCheckedInFiles();
224230
assertNotNull( files );
225-
226231
assertEquals( 1, files.size() );
227232

228233
ScmFile file1 = files.get( 0 );
229-
230234
assertEquals( ScmFileStatus.CHECKED_IN, file1.getStatus() );
231-
232235
assertPath( "main/java/Foo.java", file1.getPath() );
233236

234237
CheckOutScmResult checkoutResult =

0 commit comments

Comments
 (0)