diff --git a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/imports/AccessResult.java b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/imports/AccessResult.java index 26178833f..0d7b0086a 100755 --- a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/imports/AccessResult.java +++ b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/imports/AccessResult.java @@ -75,7 +75,7 @@ final class AccessResult private AccessResult(final int aCode, final String aLabel) { mCode = aCode; - mLabel = aLabel; + mLabel = aLabel.trim(); } /** @@ -121,7 +121,7 @@ final class AccessResult public static AccessResult getInstance(String aName) { // canonicalize argument - final String arName = aName.trim().toLowerCase(); + final String arName = aName.trim(); final AccessResult retVal = (AccessResult) NAME_TO_LEVEL.get(arName); if (retVal == null) { diff --git a/src/testinputs/com/puppycrawl/tools/checkstyle/import-control_complete.xml b/src/testinputs/com/puppycrawl/tools/checkstyle/import-control_complete.xml new file mode 100755 index 000000000..effe13c4e --- /dev/null +++ b/src/testinputs/com/puppycrawl/tools/checkstyle/import-control_complete.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/tests/com/puppycrawl/tools/checkstyle/checks/imports/AccessResultTest.java b/src/tests/com/puppycrawl/tools/checkstyle/checks/imports/AccessResultTest.java new file mode 100755 index 000000000..d5e01894a --- /dev/null +++ b/src/tests/com/puppycrawl/tools/checkstyle/checks/imports/AccessResultTest.java @@ -0,0 +1,49 @@ +package com.puppycrawl.tools.checkstyle.checks.imports; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.DataOutputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import junit.framework.TestCase; + +public class AccessResultTest extends TestCase +{ + public void testNormal() + { + assertEquals("ALLOWED", AccessResult.ALLOWED.getLabel()); + assertEquals(AccessResult.ALLOWED.toString(), AccessResult.ALLOWED + .getLabel()); + assertTrue(AccessResult.DISALLOWED.equals(AccessResult.DISALLOWED)); + assertFalse(AccessResult.DISALLOWED.equals(this)); + assertEquals(AccessResult.DISALLOWED.hashCode(), + AccessResult.DISALLOWED.hashCode()); + final AccessResult revived = AccessResult + .getInstance(AccessResult.UNKNOWN.getLabel()); + assertEquals(AccessResult.UNKNOWN, revived); + assertTrue(AccessResult.UNKNOWN == revived); + } + + public void testBadname() + { + try { + AccessResult.getInstance("badname"); + fail("should not get here"); + } + catch (IllegalArgumentException ex) { + ; + } + } + + public void testSerial() throws Exception + { + final ByteArrayOutputStream baos = new ByteArrayOutputStream(); + final ObjectOutputStream oos = new ObjectOutputStream(baos); + oos.writeObject(AccessResult.ALLOWED); + final ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); + final ObjectInputStream ois = new ObjectInputStream(bais); + final AccessResult revivied = (AccessResult) ois.readObject(); + assertNotNull(revivied); + assertTrue(revivied == AccessResult.ALLOWED); + } +} diff --git a/src/tests/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoaderTest.java b/src/tests/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoaderTest.java new file mode 100755 index 000000000..82aa50556 --- /dev/null +++ b/src/tests/com/puppycrawl/tools/checkstyle/checks/imports/ImportControlLoaderTest.java @@ -0,0 +1,15 @@ +package com.puppycrawl.tools.checkstyle.checks.imports; + +import com.puppycrawl.tools.checkstyle.api.CheckstyleException; +import junit.framework.TestCase; + +public class ImportControlLoaderTest extends TestCase +{ + public void testLoad() throws CheckstyleException + { + final PkgControl root = ImportControlLoader.load(System + .getProperty("testinputs.dir") + + "/import-control_complete.xml"); + assertNotNull(root); + } +}