Skip to content

Commit

Permalink
Issue #3931: Split and Organize Checkstyle inputs by Test for NoWhite…
Browse files Browse the repository at this point in the history
…spaceAfter
  • Loading branch information
Kietzmann authored and romani committed Apr 17, 2017
1 parent 89542b2 commit b641790
Show file tree
Hide file tree
Showing 8 changed files with 308 additions and 17 deletions.
Expand Up @@ -42,7 +42,9 @@ public class NoWhitespaceAfterCheckTest
@Override
protected String getPath(String filename) throws IOException {
return super.getPath("checks" + File.separator
+ "whitespace" + File.separator + filename);
+ "whitespace" + File.separator
+ "nowhitespaceafter" + File.separator
+ filename);
}

@Override
Expand Down Expand Up @@ -73,7 +75,7 @@ public void testDefault() throws Exception {
"136:12: " + getCheckMessage(MSG_KEY, "."),
"264:2: " + getCheckMessage(MSG_KEY, "."),
};
verify(checkConfig, getPath("InputWhitespace.java"), expected);
verify(checkConfig, getPath("InputNoWhitespaceAfter.java"), expected);
}

@Test
Expand All @@ -84,7 +86,7 @@ public void testDotAllowLineBreaks() throws Exception {
"129:24: " + getCheckMessage(MSG_KEY, "."),
"136:12: " + getCheckMessage(MSG_KEY, "."),
};
verify(checkConfig, getPath("InputWhitespace.java"), expected);
verify(checkConfig, getPath("InputNoWhitespaceAfter.java"), expected);
}

@Test
Expand All @@ -95,7 +97,7 @@ public void testTypecast() throws Exception {
"89:23: " + getCheckMessage(MSG_KEY, ")"),
"241:22: " + getCheckMessage(MSG_KEY, ")"),
};
verify(checkConfig, getPath("InputWhitespace.java"), expected);
verify(checkConfig, getPath("InputNoWhitespaceAfter.java"), expected);
}

@Test
Expand Down Expand Up @@ -184,7 +186,7 @@ public void testSynchronized() throws Exception {

@Test
public void testNpe() throws Exception {
verify(checkConfig, getPath("InputNoWhiteSpaceAfterFormerNpe.java"));
verify(checkConfig, getPath("InputNoWhitespaceAfterFormerNpe.java"));
}

@Test
Expand Down

This file was deleted.

@@ -0,0 +1,289 @@
////////////////////////////////////////////////////////////////////////////////
// Test case file for checkstyle.
// Created: 2001
////////////////////////////////////////////////////////////////////////////////
package com . puppycrawl
.tools.
checkstyle.checks.whitespace.nowhitespaceafter;

/**
* Class for testing whitespace issues.
* error missing author tag
**/
class InputNoWhitespaceAfter
{
/** ignore assignment **/
private int mVar1=1;
/** ignore assignment **/
private int mVar2 =1;
/** Should be ok **/
private int mVar3 = 1;

/** method **/
void method1()
{
final int a = 1;
int b= 1; // Ignore 1
b=1; // Ignore 1
b+=1; // Ignore 1
b -=- 1 + (+ b); // Ignore 2
b = b ++ + b --; // Ignore 1
b = ++ b - -- b; // Ignore 1
}

/** method **/
void method2()
{
synchronized(this) {
}
try{
}
catch(RuntimeException e){
}
}

/**
skip blank lines between comment and code,
should be ok
**/


private int mVar4 = 1;


/** test WS after void return */
private void fastExit()
{
boolean complicatedStuffNeeded = true;
if( !complicatedStuffNeeded )
{
return; // should not complain about missing WS after return
}
else
{
// do complicated stuff
}
}


/** test WS after non void return
@return 2
*/
private int nonVoid()
{
if ( true )
{
return(2); // should complain about missing WS after return
}
else
{
return 2; // this is ok
}
}

/** test casts **/
private void testCasts()
{
Object o = (Object) new Object(); // ok
o = (Object)o; // error
o = ( Object ) o; // ok
o = (Object)
o; // ok
}

/** test questions **/
private void testQuestions()
{
boolean b = (1 == 2)?true:false;
b = (1==2) ? false : true;
}

/** star test **/
private void starTest()
{
int x = 2 *3* 4;
}

/** boolean test **/
private void boolTest()
{
boolean a = true;
boolean x = ! a;
int z = ~1 + ~ 2;
}

/** division test **/
private void divTest()
{
int a = 4 % 2;
int b = 4% 2;
int c = 4 %2;
int d = 4%2;
int e = 4 / 2;
int f = 4/ 2;
int g = 4 /2;
int h = 4/2;
}

/** @return dot test **/
private java .lang. String dotTest()
{
Object o = new java.lang.Object();
o.
toString();
o
.toString();
o . toString();
return o.toString();
}

/** assert statement test */
public void assertTest()
{
// OK
assert true;

// OK
assert true : "Whups";

// evil colons, should be OK
assert "OK".equals(null) ? false : true : "Whups";

// missing WS around assert
assert(true);

// missing WS around colon
assert true:"Whups";
}

/** another check */
void donBradman(Runnable aRun)
{
donBradman(new Runnable() {
public void run() {
}
});

final Runnable r = new Runnable() {
public void run() {
}
};
}

/** rfe 521323, detect whitespace before ';' */
void rfe521323()
{
doStuff() ;
// ^ whitespace
for (int i = 0 ; i < 5; i++) {
// ^ whitespace
}
}


/** bug 806243 (NoWhitespaceBeforeCheck error for anonymous inner class) */
private int i ;
// ^ whitespace
private int i1, i2, i3 ;
// ^ whitespace
private int i4, i5, i6;

/** bug 806243 (NoWhitespaceBeforeCheck error for anonymous inner class) */
void bug806243()
{
Object o = new InputNoWhitespaceAfter() {
private int j ;
// ^ whitespace
};
}

void doStuff() {
}
}

/**
* Bug 806242 (NoWhitespaceBeforeCheck error with an interface).
* @author o_sukhodolsky
* @version 1.0
*/
interface IFoo
{
void foo() ;
// ^ whitespace
}

/**
* Avoid Whitespace errors in for loop.
* @author lkuehne
* @version 1.0
*/
class SpecialCasesInForLoop
{
void forIterator()
{
// avoid conflict between WhiteSpaceAfter ';' and ParenPad(nospace)
for (int i = 0; i++ < 5;) {
// ^ no whitespace
}

// bug 895072
// avoid confilct between ParenPad(space) and NoWhiteSpace before ';'
int i = 0;
for ( ; i < 5; i++ ) {
// ^ whitespace
}
for (int anInt : getSomeInts()) {
//Should be ignored
}
}

int[] getSomeInts() {
int i = (int) ( 2 / 3 );
return null;
}

public void myMethod() {
new Thread() {
public void run() {
}
}.start();
}

public void foo(java.util.List<? extends String[]> bar, Comparable<? super Object[]> baz) { }

public void mySuperMethod() {
Runnable[] runs = new Runnable[] {new Runnable() {
public void run() {
}
},
new Runnable() {
public void run() {
}
}};
runs[0]
.
run()
;
}

public void testNullSemi() {
return ;
}

public void register(Object obj) { }

public void doSomething(String args[]) {
register(boolean[].class);
register( args );
}

public void parentheses() {
testNullSemi
(
)
;
}

public static void testNoWhitespaceBeforeEllipses(String ... args) {
}
}
@@ -1,4 +1,4 @@
package com.puppycrawl.tools.checkstyle.checks.whitespace;
package com.puppycrawl.tools.checkstyle.checks.whitespace.nowhitespaceafter;

public class InputNoWhitespaceAfterArrayDeclarations
{
Expand Down
@@ -1,4 +1,4 @@
package com.puppycrawl.tools.checkstyle.checks.whitespace;
package com.puppycrawl.tools.checkstyle.checks.whitespace.nowhitespaceafter;

import java.util.List;

Expand Down
@@ -0,0 +1,8 @@
package com.puppycrawl.tools.checkstyle.checks.whitespace.nowhitespaceafter;

public class InputNoWhitespaceAfterFormerNpe
{
private int[] getSome() {
return new int[4];
}
}
@@ -1,4 +1,4 @@
package com.puppycrawl.tools.checkstyle.checks.whitespace;
package com.puppycrawl.tools.checkstyle.checks.whitespace.nowhitespaceafter;

import java.util.function.Function;
import java.util.function.IntFunction;
Expand Down
@@ -1,4 +1,4 @@
package com.puppycrawl.tools.checkstyle.checks.whitespace;
package com.puppycrawl.tools.checkstyle.checks.whitespace.nowhitespaceafter;

class InputNoWhitespaceAfterSynchronized {
void method2()
Expand Down

0 comments on commit b641790

Please sign in to comment.