| //////////////////////////////////////////////////////////////////////////////// |
| // 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) { |
| } |
| @ interface BAD{} |
| @ interface BAD2{} |
| @ |
| interface BAD3{} |
| @interface Ok{} |
| |
| static { |
| int[]err = new int [50]; |
| } |
| } |