1 package org.apache.maven.scm.provider.perforce.command.tag;
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 PerforceTagConsumerTest
37 extends ScmTestCase
38 {
39 public void testGoodParse()
40 throws Exception
41 {
42 File testFile = getTestFile( "src/test/resources/perforce/tag_good.txt" );
43
44 PerforceTagConsumer consumer = new PerforceTagConsumer();
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 assertEquals( "", consumer.getOutput() );
56 assertTrue( consumer.isSuccess() );
57 List<ScmFile> results = consumer.getTagged();
58 assertEquals( "Wrong number of entries returned", 2, results.size() );
59 String entry = results.get( 0 ).getPath();
60 assertTrue( entry.endsWith( "pom.xml" ) );
61 }
62
63 public void testBadParse()
64 throws Exception
65 {
66 File testFile = getTestFile( "src/test/resources/perforce/tag_bad.txt" );
67
68 PerforceTagConsumer consumer = new PerforceTagConsumer();
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(
81 consumer.getOutput().startsWith( "Label 'maven-scm-tes' unknown - use 'label' command to create it." ) );
82 }
83 }