From 24de4155a197596bc8c2a73208bca603597ecb6d Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Fri, 1 Feb 2013 11:45:57 +0100 Subject: [PATCH] SONAR-4093 Display only lines covered by a test when selection lines covered --- .../main/java/org/sonar/plugins/core/web/TestsViewer.java | 3 ++- .../src/main/java/org/sonar/core/test/DefaultTestable.java | 6 ++---- .../src/main/java/org/sonar/api/test/Testable.java | 2 +- .../webapp/WEB-INF/app/controllers/resource_controller.rb | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/web/TestsViewer.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/web/TestsViewer.java index c2d6efbc06d..dc8fd15fb57 100644 --- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/web/TestsViewer.java +++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/web/TestsViewer.java @@ -46,6 +46,7 @@ public class TestsViewer extends AbstractRubyTemplate implements RubyRailsPage { @Override protected String getTemplatePath() { - return "/org/sonar/plugins/core/web/tests_viewer.html.erb"; + return "/Users/julienlancelot/Dev/Sources/sonar/plugins/sonar-core-plugin/src/main/resources/org/sonar/plugins/core/web/tests_viewer.html.erb"; + //return "/org/sonar/plugins/core/web/tests_viewer.html.erb"; } } diff --git a/sonar-core/src/main/java/org/sonar/core/test/DefaultTestable.java b/sonar-core/src/main/java/org/sonar/core/test/DefaultTestable.java index bf9163710ff..25a3510f162 100644 --- a/sonar-core/src/main/java/org/sonar/core/test/DefaultTestable.java +++ b/sonar-core/src/main/java/org/sonar/core/test/DefaultTestable.java @@ -61,10 +61,8 @@ public class DefaultTestable extends BeanVertex implements MutableTestable { }, null); } - public int countTestCasesOfLine(int line) { + public int countTestCasesOfLine(Integer line) { int number = 0; -// element().query() - // TODO filter on edge for (Edge edge : covers()) { if (Iterables.contains(lines(edge), line)) { number++; @@ -102,7 +100,7 @@ public class DefaultTestable extends BeanVertex implements MutableTestable { } private Iterable covers() { - return element().getEdges(Direction.IN, "covers"); + return element().query().labels("covers").direction(Direction.IN).edges(); } private List lines(Edge edge) { diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/test/Testable.java b/sonar-plugin-api/src/main/java/org/sonar/api/test/Testable.java index 70185cd819d..f11a3a5fef8 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/test/Testable.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/test/Testable.java @@ -30,7 +30,7 @@ public interface Testable extends Perspective { TestCase testCaseByKey(String key); - int countTestCasesOfLine(int line); + int countTestCasesOfLine(Integer line); List testCasesOfLine(int line); diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb index 76fdd09c203..651b2f1b588 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb @@ -253,9 +253,9 @@ class ResourceController < ApplicationController if @test_case_filter test_case = @testable.testCaseByKey(@test_case_filter) lines = @testable.coverOfTestCase(test_case).lines - filter_lines { |line| lines.include? line.index } + filter_lines { |line| lines.include?(line.index) && line.after(to) } else - filter_lines { |line| line.covered_lines && line.after(to) } + filter_lines { |line| line.covered_lines && line.covered_lines > 0 && line.after(to) } end end end -- 2.39.5