diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/RedundantImportCheckTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/RedundantImportCheckTest.java index 8a36c87b5..9ea54a04f 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/RedundantImportCheckTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/checks/imports/RedundantImportCheckTest.java @@ -34,12 +34,12 @@ public class RedundantImportCheckTest createCheckConfig(RedundantImportCheck.class); final String[] expected = { "7:1: Redundant import from the same package - com.puppycrawl.tools.checkstyle.imports.*.", - "8:38: Redundant import from the same package - com.puppycrawl.tools.checkstyle.imports.GlobalProperties.", + "8:1: Redundant import from the same package - com.puppycrawl.tools.checkstyle.imports.InputImportBug.", "10:1: Redundant import from the java.lang package - java.lang.*.", "11:1: Redundant import from the java.lang package - java.lang.String.", "14:1: Duplicate import to line 13 - java.util.List.", "26:1: Duplicate import to line 25 - javax.swing.WindowConstants.*.", }; - verify(checkConfig, getPath("imports" + File.separator + "InputImport.java"), expected); + verify(checkConfig, getPath("imports" + File.separator + "InputRedundantImportCheck.java"), expected); } } diff --git a/src/test/resources/com/puppycrawl/tools/checkstyle/imports/InputRedundantImportCheck.java b/src/test/resources/com/puppycrawl/tools/checkstyle/imports/InputRedundantImportCheck.java new file mode 100644 index 000000000..49cdf5a51 --- /dev/null +++ b/src/test/resources/com/puppycrawl/tools/checkstyle/imports/InputRedundantImportCheck.java @@ -0,0 +1,111 @@ +//////////////////////////////////////////////////////////////////////////////// +// Test case file for checkstyle. +// Created: 2001 +//////////////////////////////////////////////////////////////////////////////// +package com.puppycrawl.tools.checkstyle.imports; + +import com.puppycrawl.tools.checkstyle.imports.*; +import com.puppycrawl.tools.checkstyle.imports.InputImportBug; +import java.io.*; +import java.lang.*; +import java.lang.String; + +import java.util.List; +import java.util.List; +import java.util.Iterator; +import java.util.Enumeration; +import java.util.Arrays; + +import javax.swing.JToolBar; +import javax.swing.JToggleButton; +import javax.swing.ScrollPaneLayout; +import javax.swing.BorderFactory; +import static java.io.File.listRoots; + +import static javax.swing.WindowConstants.*; +import static javax.swing.WindowConstants.*; +import static java.io.File.createTempFile; +import static java.io.File.pathSeparator; + +import java.awt.Component; +import java.awt.Graphics2D; +import java.awt.HeadlessException; +import java.awt.Label; +import java.util.Date; +import java.util.Calendar; +import java.util.BitSet; + +import com.puppycrawl.tools.checkstyle.Checker; +import com.puppycrawl.tools.checkstyle.CheckerTest; +import com.puppycrawl.tools.checkstyle.BaseFileSetCheckTestSupport; +import com.puppycrawl.tools.checkstyle.Defn; +import com.puppycrawl.tools.checkstyle.Input15Extensions; +import com.puppycrawl.tools.checkstyle.ConfigurationLoaderTest; +import com.puppycrawl.tools.checkstyle.CheckStyleTask; +import com.puppycrawl.tools.checkstyle.DefaultConfiguration; +import com.puppycrawl.tools.checkstyle.DefaultLogger; + +/** + * Test case for imports + * Here's an import used only by javadoc: {@link Date}. + * @author Oliver Burn + * @author lkuehne + * @author Michael Studman + * @see Calendar Should avoid unused import for Calendar + **/ +class InputRedundantImportCheck +{ + /** ignore **/ + private Class mUse1 = null; + /** ignore **/ + private Class mUse2 = java.io.File.class; + /** ignore **/ + private Class mUse3 = Iterator[].class; + /** ignore **/ + private Class mUse4 = java.util.Enumeration[].class; + /** usage of illegal import **/ + private String ftpClient = null; + + /** usage via static method, both normal and fully qualified */ + { + int[] x = {}; + Arrays.sort(x); + Object obj = javax.swing.BorderFactory.createEmptyBorder(); + File[] files = listRoots(); + } + + /** usage of inner class as type */ + private JToolBar.Separator mSep = null; + + /** usage of inner class in Constructor */ + private Object mUse5 = new Object(); + + /** usage of inner class in constructor, fully qualified */ + private Object mUse6 = new javax.swing.JToggleButton.ToggleButtonModel(); + + /** we use class name as member's name. + * also an inline JavaDoc-only import {@link Vector linkText} */ + private int Component; + + /** + * method comment with JavaDoc-only import {@link BitSet#aMethod()} + */ + public void Label() {} + + /** + * Renders to a {@linkplain Graphics2D graphics context}. + * @throws HeadlessException if no graphis environment can be found. + * @exception HeadlessException if no graphis environment can be found. + */ + public void render() {} + + /** + * First is a class with a method with arguments {@link TestClass1#method1(TestClass2)}. + * Next is a class with typed method {@link TestClass3#method2(TestClass4, TestClass5)}. + * + * @param param1 with a link {@link TestClass6} + * @throws TestClass7 when broken + * @deprecated in 1 for removal in 2. Use {@link TestClass8} + */ + public void aMethodWithManyLinks() {} +} \ No newline at end of file