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, \