Skip to content

Commit

Permalink
Issue checkstyle#3333: add new literals in WhiteSpaceAfterCheck
Browse files Browse the repository at this point in the history
  • Loading branch information
MaksimP committed Nov 19, 2016
1 parent 0e8c819 commit 74ea5ff
Show file tree
Hide file tree
Showing 7 changed files with 200 additions and 5 deletions.
Empty file.
14 changes: 13 additions & 1 deletion src/main/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheck.java 100644 → 100755
Expand Up @@ -34,7 +34,13 @@
* <p> By default the check will check the following tokens:
* {@link TokenTypes#COMMA COMMA},
* {@link TokenTypes#SEMI SEMI},
* {@link TokenTypes#TYPECAST TYPECAST}.
* {@link TokenTypes#TYPECAST TYPECAST},
* {@link TokenTypes#LITERAL_IF LITERAL_IF},
* {@link TokenTypes#LITERAL_ELSE LITERAL_ELSE},
* {@link TokenTypes#LITERAL_WHILE LITERAL_WHILE},
* {@link TokenTypes#LITERAL_FOR LITERAL_FOR},
* {@link TokenTypes#LITERAL_DO LITERAL_DO},
* {@link TokenTypes#DO_WHILE DO_WHILE}.
* </p>
* <p>
* An example of how to configure the check is:
Expand Down Expand Up @@ -79,6 +85,12 @@ public int[] getAcceptableTokens() {
TokenTypes.COMMA,
TokenTypes.SEMI,
TokenTypes.TYPECAST,
TokenTypes.LITERAL_IF,
TokenTypes.LITERAL_ELSE,
TokenTypes.LITERAL_WHILE,
TokenTypes.LITERAL_DO,
TokenTypes.LITERAL_FOR,
TokenTypes.DO_WHILE,
};
}

Expand Down
76 changes: 74 additions & 2 deletions ...test/java/com/puppycrawl/tools/checkstyle/checks/whitespace/WhitespaceAfterCheckTest.java 100644 → 100755
Expand Up @@ -65,20 +65,92 @@ public void testDefault() throws Exception {

@Test
public void testCast() throws Exception {
final DefaultConfiguration configurationTestCast =
createCheckConfig(WhitespaceAfterCheck.class);
configurationTestCast.addAttribute("tokens", "TYPECAST");
final String[] expected = {
"88:21: " + getCheckMessage(MSG_WS_TYPECAST),
};
verify(checkConfig, getPath("InputWhitespace.java"), expected);
verify(configurationTestCast, getPath("InputWhitespace.java"), expected);
}

@Test
public void testSemi() throws Exception {
final DefaultConfiguration configurationTestSemi =
createCheckConfig(WhitespaceAfterCheck.class);
configurationTestSemi.addAttribute("tokens", "SEMI");
final String[] expected = {
"54:23: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, ";"),
"54:29: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, ";"),
"103:19: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, ";"),
};
verify(checkConfig, getPath("InputBraces.java"), expected);
verify(configurationTestSemi, getPath("InputBraces.java"), expected);
}

@Test
public void testLiteralWhile() throws Exception {
final DefaultConfiguration configurationTestLiteralWhile =
createCheckConfig(WhitespaceAfterCheck.class);
configurationTestLiteralWhile.addAttribute("tokens", "LITERAL_WHILE");
final String[] expected = {
"39:14: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "while"),
};
verify(configurationTestLiteralWhile, getPath("InputWhitespaceAfter.java"), expected);
}

@Test
public void testLiteralIf() throws Exception {
final DefaultConfiguration configurationTestLiteralIf =
createCheckConfig(WhitespaceAfterCheck.class);
configurationTestLiteralIf.addAttribute("tokens", "LITERAL_IF");
final String[] expected = {
"18:11: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "if"),
};
verify(configurationTestLiteralIf, getPath("InputWhitespaceAfter.java"), expected);
}

@Test
public void testLiteralElse() throws Exception {
final DefaultConfiguration configurationTestLiteralElse =
createCheckConfig(WhitespaceAfterCheck.class);
configurationTestLiteralElse.addAttribute("tokens", "LITERAL_ELSE");
final String[] expected = {
"27:15: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "else"),
};
verify(configurationTestLiteralElse, getPath("InputWhitespaceAfter.java"), expected);
}

@Test
public void testLiteralFor() throws Exception {
final DefaultConfiguration configurationTestLiteralFor =
createCheckConfig(WhitespaceAfterCheck.class);
configurationTestLiteralFor.addAttribute("tokens", "LITERAL_FOR");
final String[] expected = {
"51:12: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "for"),
};
verify(configurationTestLiteralFor, getPath("InputWhitespaceAfter.java"), expected);
}

@Test
public void testLiteralDo() throws Exception {
final DefaultConfiguration configurationTestLiteralDo =
createCheckConfig(WhitespaceAfterCheck.class);
configurationTestLiteralDo.addAttribute("tokens", "LITERAL_DO");
final String[] expected = {
"63:11: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "do"),
};
verify(configurationTestLiteralDo, getPath("InputWhitespaceAfter.java"), expected);
}

@Test
public void testDoWhile() throws Exception {
final DefaultConfiguration configurationTestDoWhile =
createCheckConfig(WhitespaceAfterCheck.class);
configurationTestDoWhile.addAttribute("tokens", "DO_WHILE");
final String[] expected = {
"18:16: " + getCheckMessage(MSG_WS_NOT_FOLLOWED, "while"),
};
verify(configurationTestDoWhile, getPath("InputDoWhile.java"), expected);
}

@Test
Expand Down
Empty file.
@@ -0,0 +1,20 @@
package com.puppycrawl.tools.checkstyle.checks.whitespace;

public class InputDoWhile {

boolean condition() {
return false;
}

void testDoWhile() {
//Valid
do {
testDoWhile();
} while (condition());

//Invalid
do {
testDoWhile();
} while(condition()); //violation
}
}
@@ -0,0 +1,67 @@
package com.puppycrawl.tools.checkstyle.checks.whitespace;

public class InputWhitespaceAfter {

boolean condition() {
return false;
}

void testIfElse() {
//Valid
if (condition()) {
testIfElse();
} else {
testIfElse();
}

//Invalid
if(condition()) { //violation
testIfElse();
} else {
testIfElse();
}

//Invalid
if (condition()) {
testIfElse();
} else{ //violation
testIfElse();
}
}

void testWhile() {
//Valid
while (condition()) {
testWhile();
}

//Invalid
while(condition()) { //violation
testWhile();
}
}

void testFor() {
//Valid
for (int i = 0; i < 5; i++) {
testFor();
}

//Invalid
for(int i = 0; i < 5; i++) { //violation
testFor();
}
}

void testDo() {
//Valid
do {
testDo();
} while (condition());

//Invalid
do{ //violation
testDo();
} while (condition());
}
}
28 changes: 26 additions & 2 deletions src/xdocs/config_whitespace.xml 100644 → 100755
Expand Up @@ -1884,7 +1884,19 @@ public long toMicros(long d) { return d / (C1 / C0); }
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SEMI">SEMI</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPECAST">TYPECAST</a>.
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPECAST">TYPECAST</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_IF">LITERAL_IF</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ELSE">LITERAL_ELSE</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_WHILE">LITERAL_WHILE</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">LITERAL_DO</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">LITERAL_FOR</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DO_WHILE">DO_WHILE</a>.
</td>

<td>
Expand All @@ -1893,7 +1905,19 @@ public long toMicros(long d) { return d / (C1 / C0); }
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#SEMI">SEMI</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPECAST">TYPECAST</a>.
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#TYPECAST">TYPECAST</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_IF">LITERAL_IF</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ELSE">LITERAL_ELSE</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_WHILE">LITERAL_WHILE</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_DO">LITERAL_DO</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">LITERAL_FOR</a>,
<a
href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#DO_WHILE">DO_WHILE</a>.
</td>
</tr>
</table>
Expand Down

0 comments on commit 74ea5ff

Please sign in to comment.