1 package org.apache.maven.scm.provider.perforce.command.unedit;
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.List;
27
28 import org.apache.maven.scm.ScmFile;
29 import org.apache.maven.scm.ScmTestCase;
30
31
32
33
34
35
36 public class PerforceUnEditConsumerTest
37 extends ScmTestCase
38 {
39 public void testGoodParse()
40 throws Exception
41 {
42 File testFile = getTestFile( "src/test/resources/perforce/unedit_good.txt" );
43
44 PerforceUnEditConsumer consumer = new PerforceUnEditConsumer();
45
46 FileInputStream fis = new FileInputStream( testFile );
47 BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
48 String s = in.readLine();
49 while ( s != null )
50 {
51 consumer.consumeLine( s );
52 s = in.readLine();
53 }
54
55 assertTrue( consumer.isSuccess() );
56 List<ScmFile> edits = consumer.getEdits();
57 assertEquals( "Wrong number of entries returned", 2, edits.size() );
58 String entry = edits.get( 0 ).getPath();
59 assertTrue( entry.startsWith( "//" ) );
60 assertTrue( entry.endsWith( ".classpath" ) );
61 }
62
63 public void testBadParse()
64 throws Exception
65 {
66 File testFile = getTestFile( "src/test/resources/perforce/unedit_bad.txt" );
67
68 PerforceUnEditConsumer consumer = new PerforceUnEditConsumer();
69
70 FileInputStream fis = new FileInputStream( testFile );
71 BufferedReader in = new BufferedReader( new InputStreamReader( fis ) );
72 String s = in.readLine();
73 while ( s != null )
74 {
75 consumer.consumeLine( s );
76 s = in.readLine();
77 }
78
79 assertFalse( consumer.isSuccess() );
80 assertTrue( consumer.getOutput().indexOf( ".classpath - file(s) not opened on this client." ) == 0 );
81 assertTrue( consumer.getOutput().indexOf( ".project - file(s) not opened on this client." ) > 0 );
82 }
83 }