1 package org.apache.maven.scm.provider.perforce.command.status;
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.ScmFile;
23 import org.apache.maven.scm.ScmFileStatus;
24 import org.apache.maven.scm.ScmTestCase;
25
26 import java.io.BufferedReader;
27 import java.io.File;
28 import java.io.FileInputStream;
29 import java.io.InputStreamReader;
30 import java.util.List;
31
32
33
34
35
36
37 public class PerforceStatusConsumerTest
38 extends ScmTestCase
39 {
40 public void testGoodParse()
41 throws Exception
42 {
43 File testFile = getTestFile( "src/test/resources/perforce/status_good.txt" );
44
45 PerforceStatusConsumer consumer = new PerforceStatusConsumer();
46
47 FileInputStream fis = new FileInputStream( testFile );
48 BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
49 String s = in.readLine();
50 while ( s != null )
51 {
52 consumer.consumeLine( s );
53 s = in.readLine();
54 }
55
56 assertEquals( "", consumer.getOutput() );
57 assertTrue( consumer.isSuccess() );
58 List<String> results = consumer.getDepotfiles();
59 assertEquals( "Wrong number of entries returned", 4, results.size() );
60 String entry = (String) results.get( 0 );
61 assertEquals( 33, entry.indexOf( "Foo.java" ) );
62
63 List<ScmFile> scmFiles = PerforceStatusCommand.createResults( "//depot/sandbox/mperham/scm-test", consumer );
64 assertEquals( 4, results.size() );
65 ScmFile file = scmFiles.get( 0 );
66 assertEquals( "Foo.java", file.getPath() );
67 assertEquals( ScmFileStatus.ADDED, file.getStatus() );
68 }
69 }