Skip to content

Commit

Permalink
#627 naming of catch parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
kitsook committed Jan 26, 2016
1 parent 59c5be6 commit 1f6d71a
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -315,25 +315,25 @@
<module name="ClassTypeParameterName"/>
<module name="ConstantName"/>
<module name="LocalFinalVariableName">
<property name="format" value="^id$|^[a-z]{3,12}$"/>
<property name="format" value="^(id|[a-z]{3,12})$"/>
<property name="tokens" value="VARIABLE_DEF"/>
</module>
<module name="LocalVariableName">
<property name="format" value="^id$|^[a-z]{3,12}$"/>
<property name="format" value="^(id|[a-z]{3,12})$"/>
</module>
<module name="CatchParameterName">
<property name="format" value="^ex|[a-z]{3,12}$"/>
<property name="format" value="^(ex|[a-z]{3,12})$"/>
</module>
<module name="MemberName">
<property name="format" value="^id$|^[a-z]{3,12}$"/>
<property name="format" value="^(id|[a-z]{3,12})$"/>
</module>
<module name="MethodName">
<property name="format" value="^[a-z]{2,}[a-zA-Z]+$"/>
</module>
<module name="MethodTypeParameterName"/>
<module name="PackageName"/>
<module name="ParameterName">
<property name="format" value="^id$|^[a-z]{3,}$"/>
<property name="format" value="^(id|[a-z]{3,})$"/>
</module>
<module name="StaticVariableName"/>
<module name="TypeName"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -312,13 +312,13 @@ public void allowsOnlyProperlyNamedLocalVariables() throws Exception {
"Name 'prolongations' must match pattern",
"Name 'very_long_variable_id' must match pattern",
"Name 'camelCase' must match pattern",
"Name 'it' must match pattern '^id$|^[a-z]{3,12}$'.",
"Name 'it' must match pattern",
"Name 'number1' must match pattern",
"Name 'ex' must match pattern '^id$|^[a-z]{3,12}$'.",
"Name 'a' must match pattern '^id$|^[a-z]{3,12}$'.",
"Name 'ae' must match pattern '^ex|[a-z]{3,12}$'.",
"Name 'e' must match pattern '^ex|[a-z]{3,12}$'.",
"Name 'it' must match pattern '^id$|^[a-z]{3,}$'."
"Name 'ex' must match pattern",
"Name 'a' must match pattern",
"Name 'ae' must match pattern",
"Name 'e' must match pattern",
"Name 'it' must match pattern"
)
)
)
Expand Down Expand Up @@ -431,6 +431,31 @@ public void doesNotThrowExceptionIfImportsOnly() throws Exception {
new CheckstyleValidator().validate(env);
}

/**
* Test catch parameter names.
* @throws Exception In case of error
*/
@Test
public void testCatchParameterNames() throws Exception {
final String result = this.runValidation(
"CatchParameterNames.java", false
);
MatcherAssert.assertThat(
StringUtils.countMatches(result, "CatchParameterNames"),
Matchers.is(Tv.THREE)
);
MatcherAssert.assertThat(
result,
Matchers.stringContainsInOrder(
Arrays.asList(
"[27]: Name 'ex_invalid_1' must match pattern",
"[29]: Name '$xxx' must match pattern",
"[31]: Name '_exp' must match pattern"
)
)
);
}

/**
* Convert file name to URL.
* @param file The file
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/**
* Hello.
*/
package foo;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/**
* Simple.
* @author John Smith (john@example.com)
* @version $Id$
* @since 1.0
* @checkstyle HiddenField (100 lines)
*/
public final class CatchParameterNames {
/**
* Dummy variable.
*/
private int var;
/**
* Invalid exception parameter name.
*/
void invalidOne() {
try {
this.var += 1;
} catch (final IOException ex_invalid_1) {
this.var -= 1;
} catch (final IllegalArgumentException $xxx) {
this.var -= 1;
} catch (final TimeoutException _exp) {
this.var -= 1;
}
}

/**
* Valid exception parameter name.
*/
void validOne() {
try {
this.var += 1;
} catch (final IOException ex) {
this.var -= 1;
} catch (final IllegalArgumentException exp) {
this.var -= 1;
}
}

}

0 comments on commit 1f6d71a

Please sign in to comment.