diff options
author | Michal Kordas <kordas.michal@gmail.com> | 2015-11-17 23:38:59 +0100 |
---|---|---|
committer | Roman Ivanov <ivanov-jr@mail.ru> | 2015-12-03 15:16:44 -0800 |
commit | d67d10e9f2b480f7f56fe7cda2a908cd5fe770c7 (patch) | |
tree | 5dba940926dba715b51202e5105bc2a08d5447f2 /src/it | |
parent | e9e8d2f0a76601762e59f4743f0df0c792bea44d (diff) | |
download | checkstyle-d67d10e9f2b480f7f56fe7cda2a908cd5fe770c7.tar.gz |
Issue #2616: Add CatchParameterName check for catch blocks parameters
Diffstat (limited to 'src/it')
2 files changed, 108 insertions, 0 deletions
diff --git a/src/it/java/com/google/checkstyle/test/chapter5naming/rule51identifiernames/CatchParameterNameTest.java b/src/it/java/com/google/checkstyle/test/chapter5naming/rule51identifiernames/CatchParameterNameTest.java new file mode 100644 index 000000000..2ec269174 --- /dev/null +++ b/src/it/java/com/google/checkstyle/test/chapter5naming/rule51identifiernames/CatchParameterNameTest.java @@ -0,0 +1,55 @@ +//////////////////////////////////////////////////////////////////////////////// +// checkstyle: Checks Java source code for adherence to a set of rules. +// Copyright (C) 2001-2015 the original author or authors. +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +//////////////////////////////////////////////////////////////////////////////// + +package com.google.checkstyle.test.chapter5naming.rule51identifiernames; + +import java.io.File; +import java.io.IOException; + +import org.junit.Test; + +import com.google.checkstyle.test.base.BaseCheckTestSupport; +import com.puppycrawl.tools.checkstyle.api.Configuration; + +public class CatchParameterNameTest extends BaseCheckTestSupport { + @Override + protected String getPath(String fileName) throws IOException { + return super.getPath("chapter5naming" + File.separator + "rule51identifiernames" + + File.separator + fileName); + } + + @Test + public void catchParameterNameTest() throws Exception { + final Configuration checkConfig = getCheckConfig("CatchParameterName"); + final String msgKey = "name.invalidPattern"; + final String format = "^[a-z][a-z0-9][a-zA-Z0-9]*$"; + + final String[] expected = { + "6:28: " + getCheckMessage(checkConfig.getMessages(), msgKey, "e", format), + "24:28: " + getCheckMessage(checkConfig.getMessages(), msgKey, "t", format), + "47:28: " + getCheckMessage(checkConfig.getMessages(), msgKey, "iException", format), + "50:28: " + getCheckMessage(checkConfig.getMessages(), msgKey, "x", format), + }; + + final String filePath = getPath("InputCatchParameterName.java"); + + final Integer[] warnList = getLinesWithWarn(filePath); + verify(checkConfig, filePath, expected, warnList); + } +} diff --git a/src/it/resources/com/google/checkstyle/test/chapter5naming/rule51identifiernames/InputCatchParameterName.java b/src/it/resources/com/google/checkstyle/test/chapter5naming/rule51identifiernames/InputCatchParameterName.java new file mode 100644 index 000000000..acb175a8e --- /dev/null +++ b/src/it/resources/com/google/checkstyle/test/chapter5naming/rule51identifiernames/InputCatchParameterName.java @@ -0,0 +1,53 @@ +package com.google.checkstyle.test.chapter5naming.rule51identifiernames; + +public class InputCatchParameterName { + { + try { + } catch (Exception e) { // warn + } + try { + } catch (Exception ex) { // ok + } + try { + } catch (Error | Exception err) { // ok + } + try { + } catch (Exception exception) { // ok + } + try { + } catch (Exception exception1) { // ok + } + try { + } catch (Exception noWorries) { // ok + } + try { + } catch (Throwable t) { // warn + } + try { + throw new InterruptedException("interruptedException"); + } catch (InterruptedException ie) { // ok + } + try { + } catch (Exception ok) { // ok + // appropriate to take no action here + } + try { + } catch (Exception e1) { // ok + try { + } catch (Exception e2) { // ok + } + } + try { + } catch (Throwable t1) { // ok + try { + } catch (Throwable t2) { // ok + } + } + try { + } catch (Exception iException) { // warn + } + try { + } catch (Exception x) { // warn + } + } +} |