From fe59546912c82b0670585bbe64c76c4cf39808a1 Mon Sep 17 00:00:00 2001 From: Stas Vilchik Date: Fri, 16 May 2014 11:25:39 +0200 Subject: [PATCH] SONAR-5209 Filter lines by coverage --- .../coffee/component-viewer/header.coffee | 54 ++++++++------- .../main/coffee/component-viewer/main.coffee | 47 ++++++------- .../header/_coverage-header.hbs | 68 ++++++++++++++++--- 3 files changed, 112 insertions(+), 57 deletions(-) diff --git a/sonar-server/src/main/coffee/component-viewer/header.coffee b/sonar-server/src/main/coffee/component-viewer/header.coffee index a6df231d1fc..4286116e72d 100644 --- a/sonar-server/src/main/coffee/component-viewer/header.coffee +++ b/sonar-server/src/main/coffee/component-viewer/header.coffee @@ -27,12 +27,20 @@ define [ 'click .js-toggle-duplications': 'toggleDuplications' 'click .js-toggle-scm': 'toggleSCM' - 'click .js-filter-line-to-cover': 'filterByLinesToCover' + 'click .js-filter-lines-to-cover': 'filterByLinesToCover' + 'click .js-filter-covered-lines': 'filterByCoveredLines' 'click .js-filter-uncovered-lines': 'filterByUncoveredLines' + 'click .js-filter-branches-to-cover': 'filterByBranchesToCover' + 'click .js-filter-uncovered-branches': 'filterByUncoveredBranches' + + 'click .js-filter-lines-to-cover-it': 'filterByLinesToCoverIT' + 'click .js-filter-covered-lines-it': 'filterByCoveredLinesIT' + 'click .js-filter-uncovered-lines-it': 'filterByUncoveredLinesIT' + 'click .js-filter-branches-to-cover-it': 'filterByBranchesToCoverIT' + 'click .js-filter-uncovered-branches-it': 'filterByUncoveredBranchesIT' initialize: (options) -> -# @listenTo options.main.settings, 'change', @changeSettings options.main.settings.on 'change', => @changeSettings() @@ -67,36 +75,30 @@ define [ if active then hide.call @options.main else show.call @options.main - toggleIssues: (e) -> - @toggleSetting e, @options.main.showIssues, @options.main.hideIssues - - - toggleCoverage: (e) -> - @toggleSetting e, @options.main.showCoverage, @options.main.hideCoverage - - - toggleDuplications: (e) -> - @toggleSetting e, @options.main.showDuplications, @options.main.hideDuplications - + toggleIssues: (e) -> @toggleSetting e, @options.main.showIssues, @options.main.hideIssues + toggleCoverage: (e) -> @toggleSetting e, @options.main.showCoverage, @options.main.hideCoverage + toggleDuplications: (e) -> @toggleSetting e, @options.main.showDuplications, @options.main.hideDuplications + toggleSCM: (e) -> @toggleSetting e, @options.main.showSCM, @options.main.hideSCM + toggleWorkspace: (e) -> @toggleSetting e, @options.main.showWorkspace, @options.main.hideWorkspace - toggleSCM: (e) -> - @toggleSetting e, @options.main.showSCM, @options.main.hideSCM - - toggleWorkspace: (e) -> - @toggleSetting e, @options.main.showWorkspace, @options.main.hideWorkspace - - - filterByLinesToCover: (e) -> + filterByCoverage: (e, method) -> @$('.component-viewer-header-expanded-bar-section-list .active').removeClass 'active' $(e.currentTarget).addClass 'active' - @options.main.filterLinesByLinesToCover() + _.result @options.main, method - filterByUncoveredLines: (e) -> - @$('.component-viewer-header-expanded-bar-section-list .active').removeClass 'active' - $(e.currentTarget).addClass 'active' - @options.main.filterLinesByUncoveredLines() + filterByLinesToCover: (e) -> @filterByCoverage e, 'filterByLinesToCover' + filterByCoveredLines: (e) -> @filterByCoverage e, 'filterByCoveredLines' + filterByUncoveredLines: (e) -> @filterByCoverage e, 'filterByUncoveredLines' + filterByBranchesToCover: (e) -> @filterByCoverage e, 'filterByBranchesToCover' + filterByUncoveredBranches: (e) -> @filterByCoverage e, 'filterByUncoveredBranches' + + filterByLinesToCoverIT: (e) -> @filterByCoverage e, 'filterByLinesToCoverIT' + filterByCoveredLinesIT: (e) -> @filterByCoverage e, 'filterByCoveredLinesIT' + filterByUncoveredLinesIT: (e) -> @filterByCoverage e, 'filterByUncoveredLinesIT' + filterByBranchesToCoverIT: (e) -> @filterByCoverage e, 'filterByBranchesToCoverIT' + filterByUncoveredBranchesIT: (e) -> @filterByCoverage e, 'filterByUncoveredBranchesIT' serializeData: -> diff --git a/sonar-server/src/main/coffee/component-viewer/main.coffee b/sonar-server/src/main/coffee/component-viewer/main.coffee index f5ec52ee89e..865964fdb89 100644 --- a/sonar-server/src/main/coffee/component-viewer/main.coffee +++ b/sonar-server/src/main/coffee/component-viewer/main.coffee @@ -91,8 +91,8 @@ define [ @source.set scm: data.scm - requestCoverage: (key) -> - $.get API_COVERAGE, key: key, (data) => + requestCoverage: (key, type = 'UT') -> + $.get API_COVERAGE, key: key, type: type, (data) => @source.set coverage: data.coverage @@ -185,40 +185,41 @@ define [ @sourceView.render() - filterLinesByLinesToCover: -> - unless @source.has 'coverage' - @requestCoverage(@key).done => @_filterLinesByLinesToCover() - else - @_filterLinesByLinesToCover() + filterByCoverage: (predicate) -> + @requestCoverage(@key).done => @_filterByCoverage(predicate) + + + filterByCoverageIT: (predicate) -> + @requestCoverage(@key, 'IT').done => @_filterByCoverage(predicate) - _filterLinesByLinesToCover: -> + _filterByCoverage: (predicate) -> coverage = @source.get 'coverage' @settings.set 'coverage', true @sourceView.resetShowBlocks() coverage.forEach (c) => - if c[1]? && c[1] + if predicate c line = c[0] @sourceView.addShowBlock line - LINES_AROUND_COVERED_LINE, line + LINES_AROUND_COVERED_LINE @sourceView.render() - filterLinesByUncoveredLines: -> - unless @source.has 'coverage' - @requestCoverage(@key).done => @_filterLinesByUncoveredLines() - else - @_filterLinesByUncoveredLines() + # Unit Tests + filterByLinesToCover: -> @filterByCoverage (c) -> c[1]? + filterByCoveredLines: -> @filterByCoverage (c) -> c[1]? && c[1] + filterLinesByUncoveredLines: -> @filterByCoverage (c) -> c[1]? && !c[1] + filterByBranchesToCover: -> @filterByCoverage (c) -> c[3]? + filterByUncoveredBranches: -> @filterByCoverage (c) -> c[3]? && c[4]? && (c[3] > c[4]) + + # Integration Tests + filterByLinesToCoverIT: -> @filterByCoverageIT (c) -> c[1]? + filterByCoveredLinesIT: -> @filterByCoverageIT (c) -> c[1]? && c[1] + filterLinesByUncoveredLinesIT: -> @filterByCoverageIT (c) -> c[1]? && !c[1] + filterByBranchesToCoverIT: -> @filterByCoverageIT (c) -> c[3]? + filterByUncoveredBranchesIT: -> @filterByCoverageIT (c) -> c[3]? && c[4]? && (c[3] > c[4]) + - _filterLinesByUncoveredLines: -> - coverage = @source.get 'coverage' - @settings.set 'coverage', true - @sourceView.resetShowBlocks() - coverage.forEach (c) => - if c[1]? && !c[1] - line = c[0] - @sourceView.addShowBlock line - LINES_AROUND_COVERED_LINE, line + LINES_AROUND_COVERED_LINE - @sourceView.render() addTransition: (key, transition, optionsForCurrent, options) -> diff --git a/sonar-server/src/main/hbs/component-viewer/header/_coverage-header.hbs b/sonar-server/src/main/hbs/component-viewer/header/_coverage-header.hbs index e160d217d56..8a0eea94b1a 100644 --- a/sonar-server/src/main/hbs/component-viewer/header/_coverage-header.hbs +++ b/sonar-server/src/main/hbs/component-viewer/header/_coverage-header.hbs @@ -1,11 +1,15 @@
Unit Tests
+
+ +
+
 
+
+
-
Integration Tests
+
Unit Tests
+
+ +
+
 
+
\ No newline at end of file -- 2.39.5