Skip to content

Commit

Permalink
Merge pull request #272 from HaxeCheckstyle/bug-268
Browse files Browse the repository at this point in the history
fixes #268
  • Loading branch information
adireddy committed May 16, 2016
2 parents 307dcd7 + d4a7d64 commit 3e00a11
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 10 deletions.
4 changes: 4 additions & 0 deletions src/checkstyle/checks/block/NeedBracesCheck.hx
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ class NeedBracesCheck extends Check {
switch (tok.tok) {
case Kwd(KwdIf):
checkIfChild(tok);
case Kwd(KwdElse):
var firstChild = tok.getFirstChild();
if (firstChild.is(Kwd(KwdIf))) checkIfChild(firstChild);
else checkLastChild(tok);
case Kwd(KwdFunction):
checkFunctionChild(tok);
case Kwd(KwdDo):
Expand Down
46 changes: 36 additions & 10 deletions test/checks/block/NeedBracesCheckTest.hx
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,11 @@ class NeedBracesCheckTest extends CheckTestCase<NeedBracesCheckTests> {
assertMsg(check, TEST9, MSG_SAME_LINE_FOR);
assertMsg(check, TEST10, MSG_SAME_LINE_IF);
assertMsg(check, TEST11, MSG_SAME_LINE_ELSE);
assertMsg(check, TEST12, MSG_ELSE);
assertMsg(check, TEST13, MSG_SAME_LINE_ELSE);
assertMsg(check, TEST14, MSG_ELSE);
assertMsg(check, TEST12, MSG_SAME_LINE_IF);
assertMsg(check, TEST13, MSG_SAME_LINE_IF);
assertNoMsg(check, TEST14);
assertNoMsg(check, INTERFACE_DEF);
assertMsg(check, TEST16, MSG_SAME_LINE_ELSE);
}

public function testTokenFor() {
Expand Down Expand Up @@ -102,16 +103,17 @@ class NeedBracesCheckTest extends CheckTestCase<NeedBracesCheckTests> {
assertNoMsg(check, TEST9);
assertNoMsg(check, TEST10);
assertMsg(check, TEST11, MSG_IF);
assertMsg(check, TEST12, MSG_ELSE);
assertNoMsg(check, TEST12);
assertNoMsg(check, TEST13);
assertMsg(check, TEST14, MSG_ELSE);
assertNoMsg(check, TEST14);

check.allowSingleLineStatement = false;
assertMsg(check, TEST, MSG_SAME_LINE_IF);
assertMsg(check, TEST10, MSG_SAME_LINE_IF);
assertMsg(check, TEST11, MSG_SAME_LINE_ELSE);
assertMsg(check, TEST13, MSG_SAME_LINE_ELSE);
assertMsg(check, TEST14, MSG_ELSE);
assertMsg(check, TEST13, MSG_SAME_LINE_IF);
assertNoMsg(check, TEST14);
assertMsg(check, TEST16, MSG_SAME_LINE_ELSE);
}

public function testTokenElseIf() {
Expand All @@ -138,9 +140,11 @@ class NeedBracesCheckTest extends CheckTestCase<NeedBracesCheckTests> {
assertMsg(check, TEST, MSG_SAME_LINE_IF);
assertMsg(check, TEST10, MSG_SAME_LINE_IF);
assertMsg(check, TEST11, MSG_SAME_LINE_ELSE);
assertMsg(check, TEST12, MSG_ELSE);
assertMsg(check, TEST13, MSG_SAME_LINE_ELSE);
assertMsg(check, TEST14, MSG_ELSE);
assertMsg(check, TEST12, MSG_SAME_LINE_IF);
assertMsg(check, TEST13, MSG_SAME_LINE_IF);
assertNoMsg(check, TEST14);
assertNoMsg(check, TEST15);
assertMsg(check, TEST16, MSG_SAME_LINE_ELSE);
}

public function testTokenWhile() {
Expand Down Expand Up @@ -332,6 +336,28 @@ abstract NeedBracesCheckTests(String) to String {
}
}";

var TEST15 = "
class Test {
public function test(a:Bool, b:Bool) {
if (a) {
}
else if (!b) {
}
}
}";

var TEST16 = "
class Test {
function test() {
if (true) {
return;
}
else return;
}
}";

var INTERFACE_DEF = "
interface Test {
function test();
Expand Down

0 comments on commit 3e00a11

Please sign in to comment.