1 package org.apache.maven.scm.provider.perforce.command.diff;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.scm.ScmRevision;
23 import org.apache.maven.scm.ScmTestCase;
24 import org.apache.maven.scm.ScmVersion;
25 import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository;
26 import org.apache.maven.scm.repository.ScmRepository;
27 import org.codehaus.plexus.util.cli.Commandline;
28
29 import java.io.File;
30
31
32
33
34
35
36 public class PerforceDiffCommandTest
37 extends ScmTestCase
38 {
39 private static final File workingDirectory = getTestFile( "target/perforce-diff-command-test" );
40 private static final String cmdPrefix = "p4 -d " + workingDirectory.getAbsolutePath();
41
42 public void testGetCommandLine()
43 throws Exception
44 {
45 testCommandLine( new ScmRevision( "somelabel" ), null, cmdPrefix + " diff2 -u ...@somelabel ...@now" );
46 }
47
48 public void testGetCommandLineWithRevs()
49 throws Exception
50 {
51 testCommandLine( new ScmRevision( "somelabel" ), new ScmRevision( "someend" ),
52 cmdPrefix + " diff2 -u ...@somelabel ...@someend" );
53 }
54
55
56
57
58
59 private void testCommandLine( ScmVersion startRev, ScmVersion endRev, String commandLine )
60 throws Exception
61 {
62 ScmRepository repository = getScmManager().makeScmRepository( "scm:perforce://depot/projects/pathname" );
63 PerforceScmProviderRepository svnRepository = (PerforceScmProviderRepository) repository
64 .getProviderRepository();
65 Commandline cl = PerforceDiffCommand.createCommandLine( svnRepository, workingDirectory, startRev, endRev );
66
67 assertCommandLine( commandLine, null, cl );
68 }
69 }