aboutsummaryrefslogtreecommitdiff
path: root/src/test/resources/com
diff options
context:
space:
mode:
authorrnveach <rveach02@gmail.com>2015-10-18 12:14:23 -0400
committerRoman Ivanov <ivanov-jr@mail.ru>2015-10-19 05:11:50 -0700
commitc723db753a39dff4dc10f18aca01c2b016eee875 (patch)
treeeec064b7627c9d63581c4431b367e1d817dc6632 /src/test/resources/com
parent4533cef695c0e51bc2a0c1e0e0fdfd477ce4c5ef (diff)
downloadcheckstyle-c723db753a39dff4dc10f18aca01c2b016eee875.tar.gz
Issue #2161: unify test input locations for regexp package
Diffstat (limited to 'src/test/resources/com')
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/InputStartingWithEmptyLine.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputSemantic.java222
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputStartingWithEmptyLine.java2
-rw-r--r--src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputTrailingComment.java30
4 files changed, 254 insertions, 2 deletions
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/InputStartingWithEmptyLine.java b/src/test/resources/com/puppycrawl/tools/checkstyle/InputStartingWithEmptyLine.java
deleted file mode 100644
index 86c4296e8..000000000
--- a/src/test/resources/com/puppycrawl/tools/checkstyle/InputStartingWithEmptyLine.java
+++ /dev/null
@@ -1,2 +0,0 @@
-
-package com.puppycrawl.tools.checkstyle;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputSemantic.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputSemantic.java
new file mode 100644
index 000000000..fd1341969
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputSemantic.java
@@ -0,0 +1,222 @@
+////////////////////////////////////////////////////////////////////////////////
+// Test case file for checkstyle.
+// Created: 2001
+////////////////////////////////////////////////////////////////////////////////
+package com.puppycrawl.tools.checkstyle.checks.regexp;
+
+import java.io.*; // star import for instantiation tests
+import java.awt.Dimension; // explicit import for instantiation tests
+import java.awt.Color;
+
+/**
+ * Test case for detecting simple semantic errors.
+ * @author Lars Kühne
+ **/
+class InputSemantic
+{
+ /* Boolean instantiation in a static initializer */
+ static {
+ Boolean x = new Boolean(true);
+ }
+
+ /* Boolean instantiation in a non-static initializer */
+ {
+ Boolean x = new Boolean(true);
+ Boolean[] y = new Boolean[]{Boolean.TRUE, Boolean.FALSE};
+ }
+
+ /** fully qualified Boolean instantiation in a method. **/
+ Boolean getBoolean()
+ {
+ return new java.lang.Boolean(true);
+ }
+
+ void otherInstantiations()
+ {
+ // instantiation of classes in the same package
+ Object o1 = new InputBraces();
+ Object o2 = new InputModifier();
+ // classes in another package with .* import
+ ByteArrayOutputStream s = new ByteArrayOutputStream();
+ File f = new File("/tmp");
+ // classes in another package with explicit import
+ Dimension dim = new Dimension();
+ Color col = new Color(0, 0, 0);
+ }
+
+ void exHandlerTest()
+ {
+ try {
+ ; // do stuff and don't handle exceptions in some cases
+ }
+ catch (IllegalStateException emptyCatchIsAlwaysAnError) {
+ }
+ catch (NullPointerException ex) {
+ // can never happen, but only commentig this is currently an error
+ // Possible future enhancement: allowEmptyCatch="commented"
+ }
+ catch (ArrayIndexOutOfBoundsException ex) {
+ ;
+ // can never happen, semicolon makes checkstyle happy
+ // this is a workaround for above problem
+ }
+ catch (NegativeArraySizeException ex) {
+ {
+ }
+ // can never happen, empty compound statement is another workaround
+ }
+ catch (UnsupportedOperationException handledException) {
+ System.out.println(handledException.getMessage());
+ }
+ catch (SecurityException ex) { /* hello */ }
+ catch (StringIndexOutOfBoundsException ex) {}
+ catch (IllegalArgumentException ex) { }
+
+ try {
+ }
+ finally {
+ }
+ try {
+ // something
+ }
+ finally {
+ // something
+ }
+ try {
+ ; // something
+ }
+ finally {
+ ; // statement
+ }
+ }
+
+ /** test **/
+ private static final long IGNORE = 666l + 666L;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public class EqualsVsHashCode1
+ {
+ public boolean equals(int a) // wrong arg type, don't flag
+ {
+ return a == 1;
+ }
+ }
+
+ public class EqualsVsHashCode2
+ {
+ public boolean equals(String a) // flag
+ {
+ return true;
+ }
+ }
+
+ public class EqualsVsHashCode3
+ {
+ public boolean equals(Object a) // don't flag
+ {
+ return true;
+ }
+
+ public int hashCode()
+ {
+ return 0;
+ }
+ }
+
+ public class EqualsVsHashCode4
+ {
+ // in anon inner class
+ ByteArrayOutputStream bos1 = new ByteArrayOutputStream()
+ {
+ public boolean equals(Object a) // don't flag
+ {
+ return true;
+ }
+
+ public int hashCode()
+ {
+ return 0;
+ }
+ };
+
+ ByteArrayOutputStream bos2 = new ByteArrayOutputStream()
+ {
+ public boolean equals(Object a) // flag
+ {
+ return true;
+ }
+ };
+ }
+
+ public void triggerEmptyBlockWithoutBlock()
+ {
+ // an if statement without a block to increase test coverage
+ if (true)
+ return;
+ }
+
+ // empty instance initializer
+ {
+ }
+
+ public class EqualsVsHashCode5
+ {
+ public <A> boolean equals(int a) // wrong arg type, don't flag even with generics
+ {
+ return a == 1;
+ }
+ }
+
+ public class EqualsVsHashCode6
+ {
+ public <A> boolean equals(Comparable<A> a) // flag, weven with generics
+ {
+ return true;
+ }
+ }
+
+ private class InputBraces {
+
+ }
+
+ private class InputModifier {
+
+ }
+
+ synchronized void foo() {
+ synchronized (this) {} // not OK
+ synchronized (Class.class) { // OK
+ synchronized (new Object()) {
+ // not OK if checking statements
+ }
+ }
+ }
+
+
+ static {
+
+ int a = 0;}
+
+ static {
+
+ }
+}
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputStartingWithEmptyLine.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputStartingWithEmptyLine.java
new file mode 100644
index 000000000..630e139ac
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputStartingWithEmptyLine.java
@@ -0,0 +1,2 @@
+
+package com.puppycrawl.tools.checkstyle.checks.regexp;
diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputTrailingComment.java b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputTrailingComment.java
new file mode 100644
index 000000000..9221a8ad2
--- /dev/null
+++ b/src/test/resources/com/puppycrawl/tools/checkstyle/checks/regexp/InputTrailingComment.java
@@ -0,0 +1,30 @@
+package com.puppycrawl.tools.checkstyle.checks.regexp;
+
+public class InputTrailingComment {
+ int i; // don't use trailing comments :)
+ // it fine to have comment w/o any statement
+ /* good c-style comment. */
+ int j; /* bad c-style comment. */
+ void method1() { /* some c-style multi-line
+ comment*/
+ Runnable r = (new Runnable() {
+ public void run() {
+ }
+ }); /* we should allow this */
+ } // we should allow this
+ /*
+ Let's check multi-line comments.
+ */
+ /* c-style */ // cpp-style
+ /* c-style 1 */ /*c-style 2 */
+
+ void method2(long ms /* we should ignore this */) {
+ /* comment before text */int z;
+ /* int y */int y/**/;
+ }
+
+ /**
+ * comment with trailing space
+ */
+ final static public String NAME="Some Name"; // NOI18N
+}