1 package org.apache.maven.plugins.checkstyle;
2
3 import java.util.List;
4
5 import junit.framework.TestCase;
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 public class RuleUtilTest
27 extends TestCase
28 {
29 private static final String CHECKSTYLE_PACKAGE = "com.puppycrawl.tools.checkstyle.checks";
30
31 public void testGetName()
32 {
33 assertEquals( "FinalParameters", RuleUtil.getName( CHECKSTYLE_PACKAGE + ".FinalParameters" ) );
34 assertEquals( "FinalParameters", RuleUtil.getName( CHECKSTYLE_PACKAGE + ".FinalParametersCheck" ) );
35 assertNull( RuleUtil.getName( (String) null ) );
36 }
37
38 public void testGetCategory()
39 {
40 assertEquals( "misc", RuleUtil.getCategory( CHECKSTYLE_PACKAGE + ".FinalParametersCheck" ) );
41 assertEquals( "test", RuleUtil.getCategory( CHECKSTYLE_PACKAGE + ".test.FinalParametersCheck" ) );
42 assertEquals( "extension", RuleUtil.getCategory( "test.FinalParametersCheck" ) );
43 assertEquals( "extension", RuleUtil.getCategory( "copyright" ) );
44 assertNull( RuleUtil.getCategory( (String) null ) );
45 }
46
47 public void testMatcher()
48 {
49 String[] specs = ( "misc, test, extension, Header, " + CHECKSTYLE_PACKAGE + ".test2" ).split( "," );
50 String[] eventSrcNames =
51 new String[] { CHECKSTYLE_PACKAGE + ".FinalParametersCheck",
52 CHECKSTYLE_PACKAGE + ".test.FinalParametersCheck", "test.FinalParametersCheck",
53 CHECKSTYLE_PACKAGE + ".whitespace.HeaderCheck", CHECKSTYLE_PACKAGE + ".test2.FinalParametersCheck" };
54
55 List<RuleUtil.Matcher> matchers = RuleUtil.parseMatchers( specs );
56
57 for ( int i = 0; i < matchers.size(); i++ )
58 {
59 String spec = specs[i];
60 RuleUtil.Matcher matcher = matchers.get( i );
61 for ( int j = 0; j < matchers.size(); j++ )
62 {
63 String eventSrcName = eventSrcNames[j];
64 assertEquals( spec + " should" + ( ( i == j ) ? " " : " not " ) + "match " + eventSrcName, i == j,
65 matcher.match( eventSrcName ) );
66 }
67 }
68 }
69
70 public void testMatcherWithBlankStrings()
71 {
72 String[] specs = ( " ,,foo, " ).split( "," );
73
74 List<RuleUtil.Matcher> matchers = RuleUtil.parseMatchers( specs );
75
76 assertEquals( 1, matchers.size() );
77 assertTrue( matchers.get( 0 ).match( CHECKSTYLE_PACKAGE + ".foo.SomeCheck" ) );
78 }
79 }