From: Jean-Baptiste Vilain
Date: Wed, 24 Apr 2013 10:18:04 +0000 (+0200)
Subject: SONAR-3893 Fixed issue related to coverage data filtering
X-Git-Tag: 3.6~567
X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7c1aab8ce34614c06904f1dce7fafd4b3e52c0bc;p=sonarqube.git
SONAR-3893 Fixed issue related to coverage data filtering
---
diff --git a/sonar-colorizer/src/main/resources/sonar-colorizer.css b/sonar-colorizer/src/main/resources/sonar-colorizer.css
index 33813f45051..7e1b47f87d3 100644
--- a/sonar-colorizer/src/main/resources/sonar-colorizer.css
+++ b/sonar-colorizer/src/main/resources/sonar-colorizer.css
@@ -64,17 +64,15 @@
font-weight: normal;
}
-.highlightable {
- /*text-decoration: underline;*/
- /*color: #0000AA;*/
+.sym {
cursor: hand; cursor: pointer;
}
-.highlightable:hover {
+.sym:hover {
background-color: #ff8c00;
}
.highlighted {
- background-color: yellow;
+ background-color: #B3D4FF;
}
diff --git a/sonar-core/src/main/java/org/sonar/core/source/DecorationDataHolder.java b/sonar-core/src/main/java/org/sonar/core/source/DecorationDataHolder.java
index c40f4af4c36..45b02b9ceb8 100644
--- a/sonar-core/src/main/java/org/sonar/core/source/DecorationDataHolder.java
+++ b/sonar-core/src/main/java/org/sonar/core/source/DecorationDataHolder.java
@@ -28,8 +28,8 @@ public class DecorationDataHolder {
private static final String ENTITY_SEPARATOR = ";";
private static final String FIELD_SEPARATOR = ",";
- private static final String SYMBOL_PREFIX = "symbol-";
- private static final String HIGHLIGHTABLE = "highlightable";
+ private static final String SYMBOL_PREFIX = "sym-";
+ private static final String HIGHLIGHTABLE = "sym";
private List openingTagsEntries;
private int openingTagsIndex;
diff --git a/sonar-core/src/test/java/org/sonar/core/source/DecorationDataHolderTest.java b/sonar-core/src/test/java/org/sonar/core/source/DecorationDataHolderTest.java
index e8af0180faf..58520c19da1 100644
--- a/sonar-core/src/test/java/org/sonar/core/source/DecorationDataHolderTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/source/DecorationDataHolderTest.java
@@ -50,11 +50,11 @@ public class DecorationDataHolderTest {
assertThat(openingTagsEntries.get(1)).isEqualTo(new TagEntry(0, "cppd"));
assertThat(openingTagsEntries.get(2)).isEqualTo(new TagEntry(54, "a"));
assertThat(openingTagsEntries.get(3)).isEqualTo(new TagEntry(69, "k"));
- assertThat(openingTagsEntries.get(4)).isEqualTo(new TagEntry(80, "symbol-80 highlightable"));
- assertThat(openingTagsEntries.get(5)).isEqualTo(new TagEntry(90, "symbol-80 highlightable"));
+ assertThat(openingTagsEntries.get(4)).isEqualTo(new TagEntry(80, "sym-80 sym"));
+ assertThat(openingTagsEntries.get(5)).isEqualTo(new TagEntry(90, "sym-80 sym"));
assertThat(openingTagsEntries.get(6)).isEqualTo(new TagEntry(106, "cppd"));
assertThat(openingTagsEntries.get(7)).isEqualTo(new TagEntry(114, "k"));
- assertThat(openingTagsEntries.get(8)).isEqualTo(new TagEntry(140, "symbol-80 highlightable"));
+ assertThat(openingTagsEntries.get(8)).isEqualTo(new TagEntry(140, "sym-80 sym"));
}
@Test
diff --git a/sonar-core/src/test/java/org/sonar/core/source/HtmlSourceDecoratorTest.java b/sonar-core/src/test/java/org/sonar/core/source/HtmlSourceDecoratorTest.java
index 7f918c70db0..66c732d36d3 100644
--- a/sonar-core/src/test/java/org/sonar/core/source/HtmlSourceDecoratorTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/source/HtmlSourceDecoratorTest.java
@@ -67,7 +67,7 @@ public class HtmlSourceDecoratorTest extends AbstractDaoTestCase {
" * Header",
" */",
"",
- "public class HelloWorld {",
+ "public class HelloWorld {",
"}"
);
}
@@ -84,11 +84,11 @@ public class HtmlSourceDecoratorTest extends AbstractDaoTestCase {
" * Header",
" */",
"",
- "public class HelloWorld {",
- " public void foo() {",
+ "public class HelloWorld {",
+ " public void foo() {",
" }",
- " public void bar() {",
- " foo();",
+ " public void bar() {",
+ " foo();",
" }",
"}"
);
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 705f9f4d91e..e7561699aaf 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
@@ -192,7 +192,6 @@ class ResourceController < ApplicationController
if line
line.index = line_id
line.covered_lines = @testable ? @testable.countTestCasesOfLine(line_id) : 0
- puts "covered_lines for line #{line.index} has been set to #{line.covered_lines}"
line.hits = hits.to_i
line.conditions = @conditions_by_line[line_id].to_i
line.covered_conditions = @covered_conditions_by_line[line_id].to_i
@@ -212,7 +211,6 @@ class ResourceController < ApplicationController
to = (@period && @snapshot.period_datetime(@period) ? Java::JavaUtil::Date.new(@snapshot.period_datetime(@period).to_f * 1000) : nil)
@filtered = true
- puts "coverage filter is #{@coverage_filter}"
if ('lines_to_cover'==@coverage_filter || 'coverage'==@coverage_filter || 'line_coverage'==@coverage_filter ||
'new_lines_to_cover'==@coverage_filter || 'new_coverage'==@coverage_filter || 'new_line_coverage'==@coverage_filter ||
'it_lines_to_cover'==@coverage_filter || 'it_coverage'==@coverage_filter || 'it_line_coverage'==@coverage_filter ||
@@ -220,9 +218,7 @@ class ResourceController < ApplicationController
'overall_lines_to_cover'==@coverage_filter || 'overall_coverage'==@coverage_filter || 'overall_line_coverage'==@coverage_filter ||
'new_overall_lines_to_cover'==@coverage_filter || 'new_overall_coverage'==@coverage_filter || 'new_overall_line_coverage'==@coverage_filter)
@coverage_filter = "#{it_prefix}lines_to_cover"
- filtered_lines = filter_lines { |line| line.hits && line.after(to) }
- puts "filtered lines length : #{filtered_lines.length}"
- filtered_lines
+ filter_lines { |line| line.hits && line.after(to) }
elsif ('uncovered_lines'==@coverage_filter || 'new_uncovered_lines'==@coverage_filter ||
'it_uncovered_lines'==@coverage_filter || 'new_it_uncovered_lines'==@coverage_filter ||
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb b/sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb
index 9e2bc907452..a03a4d8fe42 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/helpers/application_helper.rb
@@ -795,58 +795,6 @@ module ApplicationHelper
html
end
-
- def prepare_colspans(display_violation_form, scm_available, display_coverage)
-
- colspan=2
- gray_colspan=1
- white_colspan=0
- if display_violation_form
- colspan+=1
- gray_colspan+=1
- end
- if scm_available
- colspan+=1
- gray_colspan+=1
- end
- if display_coverage
- colspan+=2
- white_colspan+=2
- end
-
- {:base => colspan, :gray => gray_colspan, :white => white_colspan}
- end
-
-
- def compute_statuses(line, display_coverage, display_violations)
-
- status=hits_status=conditions_status=''
-
- if line.displayed?
- if display_coverage && line.hits
- hits_status=(line.hits>0 ? 'ok' : 'ko')
- if line.conditions && line.conditions>0 && line.covered_conditions
- if line.covered_conditions==0
- status='ko'
- conditions_status='ko'
- elsif line.covered_conditions==line.conditions
- status=''
- conditions_status='ok'
- else
- conditions_status='warn'
- status='warn'
- end
- elsif line.hits
- status=(line.hits>0 ? '' : 'ko')
- end
- elsif display_violations && line.violations?
- status="ko"
- end
- end
-
- {:base => status, :hits => hits_status, :conditions => conditions_status}
- end
-
def to_date(java_date)
java_date ? Time.at(java_date.time/1000) : nil
end
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/helpers/source_helper.rb b/sonar-server/src/main/webapp/WEB-INF/app/helpers/source_helper.rb
index 7de01cb0f8b..2b50ec23f6c 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/helpers/source_helper.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/helpers/source_helper.rb
@@ -30,11 +30,11 @@ module SourceHelper
# - line_range : range (default is complete lines range)
# - highlighted_lines : range (default is complete lines range)
#
- def snapshot_source_to_html(snapshot, options={})
+ def snapshot_html_source(snapshot, options={})
panel = get_html_source_panel(snapshot, options)
- unless panel.nil?
+ if panel
panel.filter_min_date(options[:min_date]) if options[:min_date]
unless panel.empty?
@@ -75,14 +75,15 @@ module SourceHelper
panel.html_lines=[]
html_source_lines = snapshot.highlighting_data || snapshot.source.syntax_highlighted_lines()
line_range=sanitize_range(options[:line_range], 1..html_source_lines.length)
- highlighted_lines=sanitize_range(options[:highlighted_lines], 1..html_source_lines.length)
html_source_lines.each_with_index do |source, index|
if line_range.include?(index+1)
html_line=HtmlLine.new(source, index+1)
html_line.revision=revisions_by_line[index+1]
html_line.author=authors_by_line[index+1]
- html_line.displayed=highlighted_lines.include?(index+1)
+ if options[:highlighted_lines]
+ html_line.displayed=options[:highlighted_lines].include?(index+1)
+ end
date_string=dates_by_line[index+1]
html_line.datetime=(date_string ? Java::OrgSonarApiUtils::DateUtils.parseDateTime(date_string) : nil)
panel.html_lines<
- <%= snapshot_source_to_html(review.rule_failure.snapshot, {:line_range => (review.resource_line-5)..(review.resource_line+5), :highlighted_lines => [review.resource_line]}) -%>
+ <%= snapshot_html_source(review.rule_failure.snapshot, {:line_range => (review.resource_line-5)..(review.resource_line+5), :highlighted_lines => [review.resource_line]}) -%>
<% end %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_duplications_source_snippet.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_duplications_source_snippet.html.erb
index 05bde167327..534f1119c26 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_duplications_source_snippet.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_duplications_source_snippet.html.erb
@@ -25,7 +25,7 @@
<% end %>
- <%= snapshot_source_to_html(resource.last_snapshot, {:line_range => from_line..to_line}) -%>
+ <%= snapshot_html_source(resource.last_snapshot, {:line_range => from_line..to_line}) -%>
<% if lines_count > ResourceHelper::DUPLICATION_SNIPPET_DEFAULT_NB_OF_LINES %>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/shared/_source_coverage.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/shared/_source_coverage.html.erb
index 17c5d47c5f6..988fff23186 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/shared/_source_coverage.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/shared/_source_coverage.html.erb
@@ -1,5 +1,4 @@
<% if line.displayed? && line.covered_lines %>
- <% puts "displaying coverage info #{line.covered_lines} for line #{line.index}" %>
<% if line.covered_lines > 0 %>
<%
@@ -94,7 +94,7 @@
<% end %>
- <%= render :partial => "shared/source_line_numbers", :locals => {:index => line.index} %>
+ <%= render :partial => "shared/source_line_numbers", :locals => {:index => line.id} %>
<% if display_coverage %>
<%= render :partial => "shared/source_coverage", :locals => {:line => line, \
|