aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api/src/test/java
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2011-05-31 15:32:25 +0200
committerSimon Brandhof <simon.brandhof@gmail.com>2011-05-31 15:32:37 +0200
commit70cd924529a3567f6042e1d8fcbd9a64c0693d1a (patch)
treedf86b828ec55962ad452f1e64ff7a9aab9a5f987 /sonar-plugin-api/src/test/java
parent5c932911b44a302376be42ddda143949e8662fb9 (diff)
downloadsonarqube-70cd924529a3567f6042e1d8fcbd9a64c0693d1a.tar.gz
sonarqube-70cd924529a3567f6042e1d8fcbd9a64c0693d1a.zip
Fix loading of metric formulas when defined in plugins
Diffstat (limited to 'sonar-plugin-api/src/test/java')
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/batch/BatchExtensionDictionnaryTest.java24
1 files changed, 23 insertions, 1 deletions
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/batch/BatchExtensionDictionnaryTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/batch/BatchExtensionDictionnaryTest.java
index 210da5a4c59..37e6e644c49 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/batch/BatchExtensionDictionnaryTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/batch/BatchExtensionDictionnaryTest.java
@@ -21,8 +21,13 @@ package org.sonar.api.batch;
import com.google.common.collect.Lists;
import org.junit.Test;
+import org.picocontainer.Characteristics;
+import org.picocontainer.DefaultPicoContainer;
+import org.picocontainer.PicoContainer;
import org.picocontainer.containers.TransientPicoContainer;
import org.sonar.api.BatchExtension;
+import org.sonar.api.measures.CoreMetrics;
+import org.sonar.api.measures.Metric;
import org.sonar.api.resources.Project;
import java.util.ArrayList;
@@ -33,6 +38,7 @@ import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import static org.junit.internal.matchers.IsCollectionContaining.hasItem;
+import static org.junit.internal.matchers.IsCollectionContaining.hasItems;
import static org.mockito.Mockito.mock;
public class BatchExtensionDictionnaryTest {
@@ -47,7 +53,7 @@ public class BatchExtensionDictionnaryTest {
}
@Test
- public void getFilteredExtensions() {
+ public void testGetFilteredExtensions() {
Sensor sensor1 = new FakeSensor(), sensor2 = new FakeSensor();
Decorator decorator = mock(Decorator.class);
@@ -60,6 +66,22 @@ public class BatchExtensionDictionnaryTest {
}
@Test
+ public void shouldSearchInParentContainers() {
+ TransientPicoContainer grandParent = new TransientPicoContainer();
+ grandParent.as(Characteristics.CACHE).addComponent("ncloc", CoreMetrics.NCLOC);
+
+ DefaultPicoContainer parent = (DefaultPicoContainer)grandParent.makeChildContainer();
+ parent.as(Characteristics.CACHE).addComponent("coverage", CoreMetrics.COVERAGE);
+
+ DefaultPicoContainer child = (DefaultPicoContainer)parent.makeChildContainer();
+ child.as(Characteristics.CACHE).addComponent("complexity", CoreMetrics.COMPLEXITY);
+
+ BatchExtensionDictionnary dictionnary = new BatchExtensionDictionnary(child);
+ assertThat(dictionnary.select(Metric.class).size(), is(3));
+ assertThat(dictionnary.select(Metric.class), hasItems(CoreMetrics.NCLOC, CoreMetrics.COVERAGE, CoreMetrics.COMPLEXITY));
+ }
+
+ @Test
public void sortExtensionsByDependency() {
BatchExtension a = new MethodDependentOf(null);
BatchExtension b = new MethodDependentOf(a);