diff options
author | Evgeny Mandrikov <mandrikov@gmail.com> | 2011-09-08 12:04:47 +0400 |
---|---|---|
committer | Evgeny Mandrikov <mandrikov@gmail.com> | 2011-09-08 13:14:08 +0400 |
commit | 00398c07d64cea029383a594d1b42ed737831515 (patch) | |
tree | 2661ad4273e5acea765379fcbbd501b28fc4336b /plugins/sonar-cpd-plugin | |
parent | 00beca012f2f4c810a3a40f95c0c6a94c6cdfdac (diff) | |
download | sonarqube-00398c07d64cea029383a594d1b42ed737831515.tar.gz sonarqube-00398c07d64cea029383a594d1b42ed737831515.zip |
SONAR-1091 Enable Sonar CPD engine by default
Diffstat (limited to 'plugins/sonar-cpd-plugin')
3 files changed, 85 insertions, 33 deletions
diff --git a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/CpdSensor.java b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/CpdSensor.java index a4aacb6c53c..3aecb265e2f 100644 --- a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/CpdSensor.java +++ b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/CpdSensor.java @@ -64,9 +64,9 @@ public class CpdSensor implements Sensor { } } - private boolean isSonarEngineEnabled(Project project) { + boolean isSonarEngineEnabled(Project project) { Configuration conf = project.getConfiguration(); - return StringUtils.equalsIgnoreCase(conf.getString("sonar.cpd.engine", "pmd"), "sonar"); + return StringUtils.equalsIgnoreCase(conf.getString("sonar.cpd.engine", "sonar"), "sonar"); } boolean isSkipped(Project project) { diff --git a/plugins/sonar-cpd-plugin/src/test/java/org/sonar/plugins/cpd/CpdSensorTest.java b/plugins/sonar-cpd-plugin/src/test/java/org/sonar/plugins/cpd/CpdSensorTest.java index 1ff0bee17ce..f0dbcd4bbbd 100644 --- a/plugins/sonar-cpd-plugin/src/test/java/org/sonar/plugins/cpd/CpdSensorTest.java +++ b/plugins/sonar-cpd-plugin/src/test/java/org/sonar/plugins/cpd/CpdSensorTest.java @@ -19,13 +19,13 @@ */ package org.sonar.plugins.cpd; -import static junit.framework.Assert.assertEquals; import static junit.framework.Assert.assertFalse; import static junit.framework.Assert.assertTrue; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; import org.apache.commons.configuration.PropertiesConfiguration; import org.junit.Test; -import org.sonar.api.CoreProperties; import org.sonar.api.batch.CpdMapping; import org.sonar.api.resources.Project; @@ -38,7 +38,7 @@ public class CpdSensorTest { Project project = createJavaProject().setConfiguration(conf); - CpdSensor sensor = new CpdSensor(new SonarEngine(null, null), new PmdEngine(new CpdMapping[0])); + CpdSensor sensor = new CpdSensor(new SonarEngine(), new PmdEngine(new CpdMapping[0])); assertTrue(sensor.isSkipped(project)); } @@ -46,7 +46,7 @@ public class CpdSensorTest { public void doNotSkipByDefault() { Project project = createJavaProject().setConfiguration(new PropertiesConfiguration()); - CpdSensor sensor = new CpdSensor(new SonarEngine(null, null), new PmdEngine(new CpdMapping[0])); + CpdSensor sensor = new CpdSensor(new SonarEngine(), new PmdEngine(new CpdMapping[0])); assertFalse(sensor.isSkipped(project)); } @@ -59,41 +59,20 @@ public class CpdSensorTest { Project phpProject = createPhpProject().setConfiguration(conf); Project javaProject = createJavaProject().setConfiguration(conf); - CpdSensor sensor = new CpdSensor(new SonarEngine(null, null), new PmdEngine(new CpdMapping[0])); + CpdSensor sensor = new CpdSensor(new SonarEngine(), new PmdEngine(new CpdMapping[0])); assertTrue(sensor.isSkipped(phpProject)); assertFalse(sensor.isSkipped(javaProject)); } @Test - public void defaultMinimumTokens() { - Project project = createJavaProject().setConfiguration(new PropertiesConfiguration()); - - PmdEngine sensor = new PmdEngine(new CpdMapping[0]); - assertEquals(CoreProperties.CPD_MINIMUM_TOKENS_DEFAULT_VALUE, sensor.getMinimumTokens(project)); - } - - @Test - public void generalMinimumTokens() { + public void engine() { PropertiesConfiguration conf = new PropertiesConfiguration(); - conf.setProperty("sonar.cpd.minimumTokens", "33"); Project project = createJavaProject().setConfiguration(conf); + CpdSensor sensor = new CpdSensor(new SonarEngine(), new PmdEngine(new CpdMapping[0])); - PmdEngine sensor = new PmdEngine(new CpdMapping[0]); - assertEquals(33, sensor.getMinimumTokens(project)); - } - - @Test - public void minimumTokensByLanguage() { - PropertiesConfiguration conf = new PropertiesConfiguration(); - conf.setProperty("sonar.cpd.minimumTokens", "100"); - conf.setProperty("sonar.cpd.php.minimumTokens", "33"); - - Project phpProject = createPhpProject().setConfiguration(conf); - Project javaProject = createJavaProject().setConfiguration(conf); - - PmdEngine sensor = new PmdEngine(new CpdMapping[0]); - assertEquals(100, sensor.getMinimumTokens(javaProject)); - assertEquals(33, sensor.getMinimumTokens(phpProject)); + assertThat(sensor.isSonarEngineEnabled(project), is(true)); + conf.setProperty("sonar.cpd.engine", "pmd"); + assertThat(sensor.isSonarEngineEnabled(project), is(false)); } private Project createJavaProject() { @@ -103,4 +82,5 @@ public class CpdSensorTest { private Project createPhpProject() { return new Project("php_project").setLanguageKey("php"); } + } diff --git a/plugins/sonar-cpd-plugin/src/test/java/org/sonar/plugins/cpd/PmdEngineTest.java b/plugins/sonar-cpd-plugin/src/test/java/org/sonar/plugins/cpd/PmdEngineTest.java new file mode 100644 index 00000000000..11201041de9 --- /dev/null +++ b/plugins/sonar-cpd-plugin/src/test/java/org/sonar/plugins/cpd/PmdEngineTest.java @@ -0,0 +1,72 @@ +/* + * Sonar, open source software quality management tool. + * Copyright (C) 2008-2011 SonarSource + * mailto:contact AT sonarsource DOT com + * + * Sonar 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 3 of the License, or (at your option) any later version. + * + * Sonar 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 Sonar; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 + */ +package org.sonar.plugins.cpd; + +import static junit.framework.Assert.assertEquals; + +import org.apache.commons.configuration.PropertiesConfiguration; +import org.junit.Test; +import org.sonar.api.CoreProperties; +import org.sonar.api.batch.CpdMapping; +import org.sonar.api.resources.Project; + +public class PmdEngineTest { + + @Test + public void defaultMinimumTokens() { + Project project = createJavaProject().setConfiguration(new PropertiesConfiguration()); + + PmdEngine sensor = new PmdEngine(new CpdMapping[0]); + assertEquals(CoreProperties.CPD_MINIMUM_TOKENS_DEFAULT_VALUE, sensor.getMinimumTokens(project)); + } + + @Test + public void generalMinimumTokens() { + PropertiesConfiguration conf = new PropertiesConfiguration(); + conf.setProperty("sonar.cpd.minimumTokens", "33"); + Project project = createJavaProject().setConfiguration(conf); + + PmdEngine sensor = new PmdEngine(new CpdMapping[0]); + assertEquals(33, sensor.getMinimumTokens(project)); + } + + @Test + public void minimumTokensByLanguage() { + PropertiesConfiguration conf = new PropertiesConfiguration(); + conf.setProperty("sonar.cpd.minimumTokens", "100"); + conf.setProperty("sonar.cpd.php.minimumTokens", "33"); + + Project phpProject = createPhpProject().setConfiguration(conf); + Project javaProject = createJavaProject().setConfiguration(conf); + + PmdEngine sensor = new PmdEngine(new CpdMapping[0]); + assertEquals(100, sensor.getMinimumTokens(javaProject)); + assertEquals(33, sensor.getMinimumTokens(phpProject)); + } + + private Project createJavaProject() { + return new Project("java_project").setLanguageKey("java"); + } + + private Project createPhpProject() { + return new Project("php_project").setLanguageKey("php"); + } + +} |