1 package org.apache.maven.scm.provider.perforce.command.changelog;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.BufferedReader;
23 import java.io.File;
24 import java.io.FileInputStream;
25 import java.io.InputStreamReader;
26 import java.util.ArrayList;
27 import java.util.List;
28
29 import org.apache.maven.scm.ChangeFile;
30 import org.apache.maven.scm.ChangeSet;
31 import org.apache.maven.scm.ScmTestCase;
32 import org.apache.maven.scm.log.DefaultLog;
33
34
35
36
37
38 public class PerforceDescribeConsumerTest
39 extends ScmTestCase
40 {
41 public void testParse()
42 throws Exception
43 {
44 File testFile = getTestFile( "src/test/resources/perforce/perforcedescribelog.txt" );
45
46 PerforceDescribeConsumer consumer =
47 new PerforceDescribeConsumer( "//depot/test", null, new DefaultLog() );
48
49 FileInputStream fis = new FileInputStream( testFile );
50 BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
51 String s = in.readLine();
52 while ( s != null )
53 {
54 consumer.consumeLine( s );
55 s = in.readLine();
56 }
57
58 List<ChangeSet> entries = new ArrayList<ChangeSet>( consumer.getModifications() );
59 assertEquals( "Wrong number of entries returned", 7, entries.size() );
60 ChangeSet entry = entries.get(0);
61 assertEquals( "mcronin", entry.getAuthor() );
62 assertEquals( "Wrong number of files returned", 3, entry.getFiles().size() );
63 assertEquals( "demo/demo.c", ( (ChangeFile) entry.getFiles().get( 0 ) ).getName() );
64 assertEquals( "2003-08-07", entry.getDateFormatted() );
65 assertEquals( "17:21:57", entry.getTimeFormatted() );
66 entry = entries.get(6);
67 assertEquals( "jim", entry.getAuthor() );
68 assertEquals( "Wrong number of files returned", 1, entry.getFiles().size() );
69 assertEquals( "junk/linefeed.txt", ( (ChangeFile) entry.getFiles().get( 0 ) ).getName() );
70 }
71 }