Skip to content

Commit 797b8d8

Browse files
committed
added unittests for name checks
1 parent 5253750 commit 797b8d8

File tree

4 files changed

+553
-0
lines changed

4 files changed

+553
-0
lines changed

test/ConstantNameCheckTest.hx

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
package ;
2+
3+
import checkstyle.checks.ConstantNameCheck;
4+
5+
class ConstantNameCheckTest extends CheckTestCase {
6+
7+
public function testCorrectNaming() {
8+
var msg = checkMessage (ConstantNameTests.TEST, new ConstantNameCheck ());
9+
assertEquals ('', msg);
10+
11+
msg = checkMessage (ConstantNameTests.TEST3, new ConstantNameCheck ());
12+
assertEquals ('', msg);
13+
}
14+
15+
public function testWrongNaming() {
16+
var msg = checkMessage (ConstantNameTests.TEST1, new ConstantNameCheck ());
17+
assertEquals ('Invalid const signature: Count (name should be ~/^[A-Z][A-Z0-9]*(_[A-Z0-9_]+)*$/)', msg);
18+
19+
msg = checkMessage (ConstantNameTests.TEST2, new ConstantNameCheck ());
20+
assertEquals ('Invalid const signature: Count (name should be ~/^[A-Z][A-Z0-9]*(_[A-Z0-9_]+)*$/)', msg);
21+
}
22+
23+
public function testIgnoreExtern() {
24+
var check = new ConstantNameCheck ();
25+
check.ignoreExtern = false;
26+
27+
var msg = checkMessage (ConstantNameTests.TEST, check);
28+
assertEquals ('', msg);
29+
30+
msg = checkMessage (ConstantNameTests.TEST1, check);
31+
assertEquals ('Invalid const signature: Count (name should be ~/^[A-Z][A-Z0-9]*(_[A-Z0-9_]+)*$/)', msg);
32+
33+
msg = checkMessage (ConstantNameTests.TEST2, check);
34+
assertEquals ('Invalid const signature: Count (name should be ~/^[A-Z][A-Z0-9]*(_[A-Z0-9_]+)*$/)', msg);
35+
36+
msg = checkMessage (ConstantNameTests.TEST3, check);
37+
assertEquals ('Invalid const signature: Count (name should be ~/^[A-Z][A-Z0-9]*(_[A-Z0-9_]+)*$/)', msg);
38+
}
39+
40+
public function testTokenINLINE() {
41+
var check = new ConstantNameCheck ();
42+
check.tokens = [ "INLINE" ];
43+
44+
var msg = checkMessage (ConstantNameTests.TEST, check);
45+
assertEquals ('', msg);
46+
47+
msg = checkMessage (ConstantNameTests.TEST1, check);
48+
assertEquals ('', msg);
49+
50+
msg = checkMessage (ConstantNameTests.TEST3, check);
51+
assertEquals ('', msg);
52+
53+
msg = checkMessage (ConstantNameTests.TEST2, check);
54+
assertEquals ('Invalid const signature: Count (name should be ~/^[A-Z][A-Z0-9]*(_[A-Z0-9_]+)*$/)', msg);
55+
}
56+
57+
public function testTokenNOTINLINE() {
58+
var check = new ConstantNameCheck ();
59+
check.tokens = [ "NOTINLINE" ];
60+
61+
var msg = checkMessage (ConstantNameTests.TEST, check);
62+
assertEquals ('', msg);
63+
64+
msg = checkMessage (ConstantNameTests.TEST2, check);
65+
assertEquals ('', msg);
66+
67+
msg = checkMessage (ConstantNameTests.TEST3, check);
68+
assertEquals ('', msg);
69+
70+
msg = checkMessage (ConstantNameTests.TEST1, check);
71+
assertEquals ('Invalid const signature: Count (name should be ~/^[A-Z][A-Z0-9]*(_[A-Z0-9_]+)*$/)', msg);
72+
}
73+
74+
public function testFormat() {
75+
var check = new ConstantNameCheck ();
76+
check.format = "^[A-Z][a-z]*$";
77+
78+
var msg = checkMessage (ConstantNameTests.TEST1, check);
79+
assertEquals ('', msg);
80+
81+
msg = checkMessage (ConstantNameTests.TEST2, check);
82+
assertEquals ('', msg);
83+
84+
msg = checkMessage (ConstantNameTests.TEST3, check);
85+
assertEquals ('', msg);
86+
87+
check.ignoreExtern = false;
88+
msg = checkMessage (ConstantNameTests.TEST3, check);
89+
assertEquals ('', msg);
90+
91+
check.tokens = [ "INLINE" ];
92+
msg = checkMessage (ConstantNameTests.TEST, check);
93+
assertEquals ('Invalid const signature: COUNT2 (name should be ~/^[A-Z][a-z]*$/)', msg);
94+
}
95+
}
96+
97+
class ConstantNameTests {
98+
public static inline var TEST:String = "
99+
class Test {
100+
static var COUNT:Int = 1;
101+
static inline var COUNT2:Int = 1;
102+
var COUNT3:Int = 1;
103+
var Count4:Int = 1;
104+
var count5:Int = 1;
105+
var _count5:Int = 1;
106+
}";
107+
108+
public static inline var TEST1:String = "
109+
class Test {
110+
static var Count:Int = 1;
111+
public function test() {
112+
}
113+
}";
114+
115+
public static inline var TEST2:String =
116+
"class Test {
117+
static inline var Count:Int = 1;
118+
public function test() {
119+
var Count:Int;
120+
}
121+
}";
122+
123+
public static inline var TEST3:String =
124+
"extern class Test {
125+
static var Count:Int = 1;
126+
static inline var Count:Int = 1;
127+
public function test() {
128+
}
129+
}";
130+
}

test/MemberNameCheckTest.hx

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
package ;
2+
3+
import checkstyle.checks.MemberNameCheck;
4+
5+
// TODO abstract tests
6+
class MemberNameCheckTest extends CheckTestCase {
7+
8+
public function testCorrectNaming() {
9+
var msg = checkMessage (MemberNameTests.TEST, new MemberNameCheck ());
10+
assertEquals ('', msg);
11+
12+
msg = checkMessage (MemberNameTests.TEST4, new MemberNameCheck ());
13+
assertEquals ('', msg);
14+
}
15+
16+
public function testWrongNaming() {
17+
var msg = checkMessage (MemberNameTests.TEST1, new MemberNameCheck ());
18+
assertEquals ('Invalid member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
19+
20+
msg = checkMessage (MemberNameTests.TEST2, new MemberNameCheck ());
21+
assertEquals ('Invalid member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
22+
23+
msg = checkMessage (MemberNameTests.TEST3, new MemberNameCheck ());
24+
assertEquals ('Invalid typedef member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
25+
26+
msg = checkMessage (MemberNameTests.TEST5, new MemberNameCheck ());
27+
assertEquals ('Invalid enum member signature: VALUE (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
28+
}
29+
30+
public function testIgnoreExtern() {
31+
var check = new MemberNameCheck ();
32+
check.ignoreExtern = false;
33+
34+
var msg = checkMessage (MemberNameTests.TEST, check);
35+
assertEquals ('', msg);
36+
37+
msg = checkMessage (MemberNameTests.TEST1, new MemberNameCheck ());
38+
assertEquals ('Invalid member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
39+
40+
msg = checkMessage (MemberNameTests.TEST2, new MemberNameCheck ());
41+
assertEquals ('Invalid member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
42+
43+
msg = checkMessage (MemberNameTests.TEST3, new MemberNameCheck ());
44+
assertEquals ('Invalid typedef member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
45+
46+
msg = checkMessage (MemberNameTests.TEST4, check);
47+
assertEquals ('Invalid member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
48+
49+
msg = checkMessage (MemberNameTests.TEST5, check);
50+
assertEquals ('Invalid enum member signature: VALUE (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
51+
}
52+
53+
public function testTokenPUBLIC() {
54+
var check = new MemberNameCheck ();
55+
check.tokens = [ "PUBLIC" ];
56+
57+
var msg = checkMessage (MemberNameTests.TEST, check);
58+
assertEquals ('', msg);
59+
60+
msg = checkMessage (MemberNameTests.TEST2, check);
61+
assertEquals ('', msg);
62+
63+
msg = checkMessage (MemberNameTests.TEST4, check);
64+
assertEquals ('', msg);
65+
66+
msg = checkMessage (MemberNameTests.TEST5, check);
67+
assertEquals ('', msg);
68+
69+
msg = checkMessage (MemberNameTests.TEST1, new MemberNameCheck ());
70+
assertEquals ('Invalid member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
71+
72+
msg = checkMessage (MemberNameTests.TEST3, new MemberNameCheck ());
73+
assertEquals ('Invalid typedef member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
74+
}
75+
76+
public function testTokenPRIVATE() {
77+
var check = new MemberNameCheck ();
78+
check.tokens = [ "PRIVATE" ];
79+
80+
var msg = checkMessage (MemberNameTests.TEST, check);
81+
assertEquals ('', msg);
82+
83+
msg = checkMessage (MemberNameTests.TEST1, check);
84+
assertEquals ('', msg);
85+
86+
msg = checkMessage (MemberNameTests.TEST4, check);
87+
assertEquals ('', msg);
88+
89+
msg = checkMessage (MemberNameTests.TEST5, check);
90+
assertEquals ('', msg);
91+
92+
msg = checkMessage (MemberNameTests.TEST2, new MemberNameCheck ());
93+
assertEquals ('Invalid member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
94+
95+
msg = checkMessage (MemberNameTests.TEST3, new MemberNameCheck ());
96+
assertEquals ('Invalid typedef member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
97+
}
98+
99+
public function testTokenENUM() {
100+
var check = new MemberNameCheck ();
101+
check.tokens = [ "ENUM" ];
102+
103+
var msg = checkMessage (MemberNameTests.TEST, check);
104+
assertEquals ('', msg);
105+
106+
msg = checkMessage (MemberNameTests.TEST1, check);
107+
assertEquals ('', msg);
108+
109+
msg = checkMessage (MemberNameTests.TEST2, check);
110+
assertEquals ('', msg);
111+
112+
msg = checkMessage (MemberNameTests.TEST3, check);
113+
assertEquals ('', msg);
114+
115+
msg = checkMessage (MemberNameTests.TEST4, check);
116+
assertEquals ('', msg);
117+
118+
msg = checkMessage (MemberNameTests.TEST5, new MemberNameCheck ());
119+
assertEquals ('Invalid enum member signature: VALUE (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
120+
}
121+
122+
public function testTokenTYPEDEF() {
123+
var check = new MemberNameCheck ();
124+
check.tokens = [ "TYPEDEF" ];
125+
126+
var msg = checkMessage (MemberNameTests.TEST, check);
127+
assertEquals ('', msg);
128+
129+
msg = checkMessage (MemberNameTests.TEST1, check);
130+
assertEquals ('', msg);
131+
132+
msg = checkMessage (MemberNameTests.TEST2, check);
133+
assertEquals ('', msg);
134+
135+
msg = checkMessage (MemberNameTests.TEST4, check);
136+
assertEquals ('', msg);
137+
138+
msg = checkMessage (MemberNameTests.TEST5, check);
139+
assertEquals ('', msg);
140+
141+
msg = checkMessage (MemberNameTests.TEST3, new MemberNameCheck ());
142+
assertEquals ('Invalid typedef member signature: Count (name should be ~/^[a-z]+[a-zA-Z0-9_]*$/)', msg);
143+
}
144+
145+
public function testFormat() {
146+
var check = new MemberNameCheck ();
147+
check.format = "^[A-Z]*$";
148+
149+
var msg = checkMessage (MemberNameTests.TEST5, check);
150+
assertEquals ('', msg);
151+
152+
msg = checkMessage (MemberNameTests.TEST4, check);
153+
assertEquals ('', msg);
154+
155+
msg = checkMessage (MemberNameTests.TEST, check);
156+
assertEquals ('Invalid typedef member signature: count2 (name should be ~/^[A-Z]*$/)', msg);
157+
158+
msg = checkMessage (MemberNameTests.TEST1, check);
159+
assertEquals ('Invalid member signature: Count (name should be ~/^[A-Z]*$/)', msg);
160+
161+
msg = checkMessage (MemberNameTests.TEST2, check);
162+
assertEquals ('Invalid member signature: Count (name should be ~/^[A-Z]*$/)', msg);
163+
164+
msg = checkMessage (MemberNameTests.TEST3, check);
165+
assertEquals ('Invalid typedef member signature: Count (name should be ~/^[A-Z]*$/)', msg);
166+
}
167+
}
168+
169+
class MemberNameTests {
170+
public static inline var TEST:String = "
171+
class Test {
172+
public var a:Int;
173+
private var b:Int;
174+
static var COUNT:Int = 1;
175+
static inline var COUNT2:Int = 1;
176+
var count5:Int = 1;
177+
}
178+
179+
enum Test2 {
180+
count;
181+
a;
182+
}
183+
184+
typedef Test3 = {
185+
var count1:Int;
186+
var count2:String;
187+
}";
188+
189+
public static inline var TEST1:String = "
190+
class Test {
191+
public var Count:Int = 1;
192+
public function test() {
193+
}
194+
}";
195+
196+
public static inline var TEST2:String = "
197+
class Test {
198+
var Count:Int = 1;
199+
public function test() {
200+
}
201+
}";
202+
203+
public static inline var TEST3:String =
204+
"typedef Test = {
205+
var Count:Int;
206+
}";
207+
208+
public static inline var TEST4:String =
209+
"extern class Test {
210+
var Count:Int = 1;
211+
static inline var Count:Int = 1;
212+
public function test() {
213+
}
214+
}";
215+
216+
public static inline var TEST5:String =
217+
"enum Test {
218+
VALUE;
219+
}";
220+
221+
}

test/TestMain.hx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@ class TestMain {
77
runner.add(new AnonymousCheckTest());
88
runner.add(new ArrayInstantiationCheckTest());
99
runner.add(new BlockFormatCheckTest());
10+
runner.add(new ConstantNameCheckTest());
1011
runner.add(new EmptyLinesCheckTest());
1112
runner.add(new ERegInstantiationCheckTest());
1213
runner.add(new HexadecimalLiteralsCheckTest());
1314
runner.add(new IndentationCharacterCheckTest());
1415
runner.add(new LineLengthCheckTest());
1516
runner.add(new ListenerNameCheckTest());
1617
runner.add(new FileLengthCheckTest());
18+
runner.add(new MemberNameCheckTest());
1719
runner.add(new MethodLengthCheckTest());
1820
runner.add(new NamingCheckTest());
1921
runner.add(new NestedForDepthCheckTest());
@@ -28,6 +30,7 @@ class TestMain {
2830
runner.add(new TODOCommentCheckTest());
2931
runner.add(new TrailingWhitespaceCheckTest());
3032
runner.add(new TypeCheckTest());
33+
runner.add(new TypeNameCheckTest());
3134
runner.add(new VariableInitialisationCheckTest());
3235

3336
var success = runner.run();

0 commit comments

Comments
 (0)