Author: epunzalan Date: Thu Apr 20 01:35:28 2006 New Revision: 395532 URL: http://svn.apache.org/viewcvs?rev=395532&view=rev Log: PR: MCHECKSTYLE-39
Added test-harness tests for the checkstyle:check mojo Added: maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojoTest.java maven/plugins/trunk/maven-checkstyle-plugin/src/test/plugin-configs/check-plugin-config.xml maven/plugins/trunk/maven-checkstyle-plugin/src/test/test-sources/checkstyle-result.xml Added: maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojoTest.java URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojoTest.java?rev=395532&view=auto ============================================================================== --- maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojoTest.java (added) +++ maven/plugins/trunk/maven-checkstyle-plugin/src/test/java/org/apache/maven/plugin/checkstyle/CheckstyleViolationCheckMojoTest.java Thu Apr 20 01:35:28 2006 @@ -0,0 +1,103 @@ +package org.apache.maven.plugin.checkstyle; + +/* + * Copyright 2001-2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import org.apache.maven.plugin.Mojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugin.testing.AbstractMojoTestCase; + +import java.io.File; + +/** + * @author Edwin Punzalan + */ +public class CheckstyleViolationCheckMojoTest + extends AbstractMojoTestCase +{ + public void testDefaultConfig() + throws Exception + { + File pluginXmlFile = new File( getBasedir(), "src/test/plugin-configs/check-plugin-config.xml" ); + + Mojo mojo = lookupMojo( "check", pluginXmlFile ); + + assertNotNull( "Mojo found.", mojo ); + + try + { + mojo.execute(); + + fail( "Must throw an exception on violations" ); + } + catch ( MojoFailureException e ) + { + //expected + } + } + + public void testInvalidFormat() + throws Exception + { + File pluginXmlFile = new File( getBasedir(), "src/test/plugin-configs/check-plugin-config.xml" ); + + Mojo mojo = lookupMojo( "check", pluginXmlFile ); + + assertNotNull( "Mojo found.", mojo ); + + setVariableValueToObject( mojo, "outputFileFormat", "plain" ); + + try + { + mojo.execute(); + + fail( "Must throw an exception invalid format: plain" ); + } + catch ( MojoExecutionException e ) + { + //expected + } + } + + public void testNoOutputFile() + throws Exception + { + File pluginXmlFile = new File( getBasedir(), "src/test/plugin-configs/check-plugin-config.xml" ); + + Mojo mojo = lookupMojo( "check", pluginXmlFile ); + + assertNotNull( "Mojo found.", mojo ); + + setVariableValueToObject( mojo, "outputFile", new File( "target/NoSuchFile.xml" ) ); + + mojo.execute(); + } + + public void testNoFail() + throws Exception + { + File pluginXmlFile = new File( getBasedir(), "src/test/plugin-configs/check-plugin-config.xml" ); + + Mojo mojo = lookupMojo( "check", pluginXmlFile ); + + assertNotNull( "Mojo found.", mojo ); + + setVariableValueToObject( mojo, "failOnViolation", Boolean.FALSE ); + + mojo.execute(); + } +} Added: maven/plugins/trunk/maven-checkstyle-plugin/src/test/plugin-configs/check-plugin-config.xml URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-checkstyle-plugin/src/test/plugin-configs/check-plugin-config.xml?rev=395532&view=auto ============================================================================== --- maven/plugins/trunk/maven-checkstyle-plugin/src/test/plugin-configs/check-plugin-config.xml (added) +++ maven/plugins/trunk/maven-checkstyle-plugin/src/test/plugin-configs/check-plugin-config.xml Thu Apr 20 01:35:28 2006 @@ -0,0 +1,30 @@ +<!-- + ~ Copyright 2001-2006 The Apache Software Foundation. + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> + +<project> + <build> + <plugins> + <plugin> + <artifactId>maven-checkstyle-plugin</artifactId> + <configuration> + <outputFile>${basedir}/src/test/test-sources/checkstyle-result.xml</outputFile> + <outputFileFormat>xml</outputFileFormat> + <failOnViolation>true</failOnViolation> + </configuration> + </plugin> + </plugins> + </build> +</project> \ No newline at end of file Added: maven/plugins/trunk/maven-checkstyle-plugin/src/test/test-sources/checkstyle-result.xml URL: http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-checkstyle-plugin/src/test/test-sources/checkstyle-result.xml?rev=395532&view=auto ============================================================================== --- maven/plugins/trunk/maven-checkstyle-plugin/src/test/test-sources/checkstyle-result.xml (added) +++ maven/plugins/trunk/maven-checkstyle-plugin/src/test/test-sources/checkstyle-result.xml Thu Apr 20 01:35:28 2006 @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<checkstyle version="4.1"> +<file name="E:\scm\maven-plugins\maven-checkstyle-plugin\src\test\test-sources\package.html"> +<error line="0" severity="error" message="Missing package documentation file." source="com.puppycrawl.tools.checkstyle.checks.javadoc.PackageHtmlCheck"/> +</file> +<file name="E:\scm\maven-plugins\maven-checkstyle-plugin\src\test\test-sources\TestJavaObject.java"> +<error line="0" severity="error" message="File does not end with a newline." source="com.puppycrawl.tools.checkstyle.checks.NewlineAtEndOfFileCheck"/> +</file> +<file name="E:\scm\maven-plugins\maven-checkstyle-plugin\src\test\test-sources\TestJavaObject.java"> +<error line="1" severity="error" message="Missing a Javadoc comment." source="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocTypeCheck"/> +<error line="2" column="5" severity="error" message="Missing a Javadoc comment." source="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck"/> +<error line="6" column="5" severity="error" message="Missing a Javadoc comment." source="com.puppycrawl.tools.checkstyle.checks.javadoc.JavadocMethodCheck"/> +</file> +</checkstyle>