package org.codehaus.mojo.cobertura; /* * 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 java.io.File; import org.apache.maven.plugin.Mojo; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.logging.SystemStreamLog; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.PlexusTestCase; /** * @author Edwin Punzalan */ public class CoberturaInstrumentMojoTest extends AbstractCoberturaTestCase { private String dataFile; protected void setUp() throws Exception { super.setUp(); dataFile = System.getProperty( "net.sourceforge.cobertura.datafile" ); } protected void tearDown() throws Exception { if ( dataFile != null ) { System.setProperty( "net.sourceforge.cobertura.datafile", dataFile ); } super.tearDown(); } public void testDefault() throws Exception { Mojo mojo = lookupMojo( "instrument", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/instrument-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); mojo.execute(); MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" ); File instrumentedDir = new File( project.getBuild().getOutputDirectory() ); assertTrue( "Test instrumented class exists", new File( instrumentedDir, "Circle.class" ).exists() ); } public void testDebugEnabled() throws Exception { Mojo mojo = lookupMojo( "instrument", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/instrument-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); Log log = new SystemStreamLog() { public boolean isDebugEnabled() { return true; } }; setVariableValueToObject( mojo, "log", log ); mojo.execute(); MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" ); File instrumentedDir = new File( project.getBuild().getOutputDirectory() ); assertTrue( "Test instrumented class exists", new File( instrumentedDir, "Circle.class" ).exists() ); } public void testInstrumentation() throws Exception { Mojo mojo = lookupMojo( "instrument", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/" + "instrument-instrumentation-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); Log log = new SystemStreamLog() { public boolean isDebugEnabled() { return true; } }; setVariableValueToObject( mojo, "log", log ); mojo.execute(); MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" ); File instrumentedDir = new File( project.getBuild().getOutputDirectory() ); assertTrue( "Test instrumented class exists", new File( instrumentedDir, "Circle.class" ).exists() ); } }