-<div class="component-viewer-header-expanded-bar-section">
- <div class="component-viewer-header-expanded-bar-section-title">Unit Tests</div>
- <ul class="component-viewer-header-expanded-bar-section-list">
- <li><span class="item">
- <span class="label">Coverage</span>
- <span class="number">{{component.msr.coverage}}</span>
- </span></li>
- <li><span class="item">
- <span class="label">Line coverage</span>
- <span class="number">{{component.msr.line_coverage}}</span>
- </span></li>
- <li><a class="item js-filter-lines-to-cover">
- <span class="label">Lines to cover</span>
- <span class="number">{{component.msr.lines_to_cover}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- <li><a class="item js-filter-covered-lines">
- <span class="label">Covered lines</span>
- <span class="number">{{component.msr.covered_lines}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- <li><a class="item js-filter-uncovered-lines">
- <span class="label">Uncovered lines</span>
- <span class="number">{{component.msr.uncovered_lines}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- </ul>
-</div>
+{{#with component.msr}}
+ <div class="component-viewer-header-expanded-bar-section">
+ <div class="component-viewer-header-expanded-bar-section-title">Unit Tests</div>
+ <ul class="component-viewer-header-expanded-bar-section-list">
+ {{{componentViewerHeaderItem coverage 'coverage'}}}
+ {{{componentViewerHeaderItem line_coverage 'line_coverage'}}}
+ {{{componentViewerHeaderLink lines_to_cover 'lines_to_cover' 'js-filter-lines-to-cover'}}}
+ {{{componentViewerHeaderLink covered_lines 'lines_to_cover' 'js-filter-covered-lines'}}}
+ {{{componentViewerHeaderLink uncovered_lines 'uncovered_lines' 'js-filter-uncovered-lines'}}}
+ </ul>
+ </div>
-<div class="component-viewer-header-expanded-bar-section">
- <div class="component-viewer-header-expanded-bar-section-title"> </div>
- <ul class="component-viewer-header-expanded-bar-section-list">
- <li><span class="item"> </span></li>
- <li><span class="item">
- <span class="label">Branch coverage</span>
- <span class="number">{{component.msr.branch_coverage}}</span>
- </span></li>
- <li><a class="item js-filter-branches-to-cover">
- <span class="label">Branches to cover</span>
- <span class="number">{{component.msr.conditions_to_cover}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- <li><a class="item js-filter-covered-branches">
- <span class="label">Covered branches</span>
- <span class="number">{{component.msr.covered_conditions}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- <li><a class="item js-filter-uncovered-branches">
- <span class="label">Uncovered branches</span>
- <span class="number">{{component.msr.uncovered_conditions}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- </ul>
-</div>
+ {{#any branch_coverage conditions_to_cover covered_conditions uncovered_conditions}}
+ <div class="component-viewer-header-expanded-bar-section">
+ <div class="component-viewer-header-expanded-bar-section-title"> </div>
+ <ul class="component-viewer-header-expanded-bar-section-list">
+ <li><span class="item"> </span></li>
+ {{{componentViewerHeaderItem branch_coverage 'branch_coverage'}}}
+ {{{componentViewerHeaderLink conditions_to_cover 'conditions_to_cover' 'js-filter-branches-to-cover'}}}
+ {{{componentViewerHeaderLink covered_conditions 'covered_conditions' 'js-filter-covered-branches'}}}
+ {{{componentViewerHeaderLink uncovered_conditions 'uncovered_conditions' 'js-filter-uncovered-branches'}}}
+ </ul>
+ </div>
+ {{/any}}
-<div class="component-viewer-header-expanded-bar-section">
- <div class="component-viewer-header-expanded-bar-section-title">Integration Tests</div>
- <ul class="component-viewer-header-expanded-bar-section-list">
- <li><span class="item">
- <span class="label">Coverage</span>
- <span class="number">{{component.msr.it_coverage}}</span>
- </span></li>
- <li><span class="item">
- <span class="label">Line coverage</span>
- <span class="number">{{component.msr.it_line_coverage}}</span>
- </span></li>
- <li><a class="item js-filter-lines-to-cover-it">
- <span class="label">Lines to cover</span>
- <span class="number">{{component.msr.it_lines_to_cover}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- <li><a class="item js-filter-covered-lines-it">
- <span class="label">Covered lines</span>
- <span class="number">{{component.msr.it_covered_lines}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- <li><a class="item js-filter-uncovered-lines-it">
- <span class="label">Uncovered lines</span>
- <span class="number">{{component.msr.it_uncovered_lines}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- </ul>
-</div>
+ {{#any it_coverage it_line_coverage it_lines_to_cover it_covered_lines it_uncovered_lines}}
+ <div class="component-viewer-header-expanded-bar-section">
+ <div class="component-viewer-header-expanded-bar-section-title">Integration Tests</div>
+ <ul class="component-viewer-header-expanded-bar-section-list">
+ {{{componentViewerHeaderItem it_coverage 'coverage'}}}
+ {{{componentViewerHeaderItem it_line_coverage 'line_coverage'}}}
+ {{{componentViewerHeaderLink it_lines_to_cover 'lines_to_cover' 'js-filter-lines-to-cover-it'}}}
+ {{{componentViewerHeaderLink it_covered_lines 'lines_to_cover' 'js-filter-covered-lines-it'}}}
+ {{{componentViewerHeaderLink it_uncovered_lines 'uncovered_lines' 'js-filter-uncovered-lines-it'}}}
+ </ul>
+ </div>
+ {{/any}}
-<div class="component-viewer-header-expanded-bar-section">
- <div class="component-viewer-header-expanded-bar-section-title"> </div>
- <ul class="component-viewer-header-expanded-bar-section-list">
- <li><span class="item"> </span></li>
- <li><span class="item">
- <span class="label">Branch coverage</span>
- <span class="number">{{component.msr.it_branch_coverage}}</span>
- </span></li>
- <li><a class="item js-filter-branches-to-cover-it">
- <span class="label">Branches to cover</span>
- <span class="number">{{component.msr.it_conditions_to_cover}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- <li><a class="item js-filter-covered-branches-it">
- <span class="label">Covered branches</span>
- <span class="number">{{component.msr.it_covered_conditions}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- <li><a class="item js-filter-uncovered-branches-it">
- <span class="label">Uncovered branches</span>
- <span class="number">{{component.msr.it_uncovered_conditions}}</span>
- <i class="icon-chevron-right"></i>
- </a></li>
- </ul>
-</div>
\ No newline at end of file
+ {{#any it_branch_coverage it_conditions_to_cover it_covered_conditions it_uncovered_conditions}}
+ <div class="component-viewer-header-expanded-bar-section">
+ <div class="component-viewer-header-expanded-bar-section-title"> </div>
+ <ul class="component-viewer-header-expanded-bar-section-list">
+ <li><span class="item"> </span></li>
+ {{{componentViewerHeaderItem it_branch_coverage 'branch_coverage'}}}
+ {{{componentViewerHeaderLink it_conditions_to_cover 'conditions_to_cover' 'js-filter-branches-to-cover-it'}}}
+ {{{componentViewerHeaderLink it_covered_conditions 'covered_conditions' 'js-filter-covered-branches-it'}}}
+ {{{componentViewerHeaderLink it_uncovered_conditions 'uncovered_conditions' 'js-filter-uncovered-branches-it'}}}
+ </ul>
+ </div>
+ {{/any}}
+{{/with}}
\ No newline at end of file
return v1 != v2 ? options.fn(this) : options.inverse(this);
});
+ Handlebars.registerHelper('notNull', function(value, options) {
+ return value != null ? options.fn(this) : options.inverse(this);
+ });
+
Handlebars.registerHelper('all', function() {
var args = Array.prototype.slice.call(arguments, 0, -1),
options = arguments[arguments.length - 1],
Handlebars.registerHelper('any', function() {
var args = Array.prototype.slice.call(arguments, 0, -1),
options = arguments[arguments.length - 1],
- all = args.reduce(function(prev, current) {
+ any = args.reduce(function(prev, current) {
return prev || current;
- }, true);
- return all ? options.fn(this) : options.inverse(this);
+ }, false);
+ return any ? options.fn(this) : options.inverse(this);
});
Handlebars.registerHelper('inArray', function(array, element, options) {
}, '');
});
+ Handlebars.registerHelper('componentViewerHeaderLink', function(value, label, cl, hash) {
+ var name = '_header-link';
+ if (value != null) {
+ var ps = Handlebars.partials;
+ if (typeof ps[name] !== 'function') {
+ ps[name] = Handlebars.compile(ps[name]);
+ }
+ return ps[name]({ value: value, label: label, cl: cl}, hash);
+ }
+ });
+
+ Handlebars.registerHelper('componentViewerHeaderItem', function(value, label, hash) {
+ var name = '_header-item';
+ if (value != null) {
+ var ps = Handlebars.partials;
+ if (typeof ps[name] !== 'function') {
+ ps[name] = Handlebars.compile(ps[name]);
+ }
+ return ps[name]({ value: value, label: label}, hash);
+ }
+ });
+
});
'metric.class_complexity_distribution.name': '<%= escape_javascript message('metric.class_complexity_distribution.name') -%>',
'metric.function_complexity_distribution.name': '<%= escape_javascript message('metric.function_complexity_distribution.name') -%>',
'metric.file_complexity_distribution.name': '<%= escape_javascript message('metric.file_complexity_distribution.name') -%>',
+
'metric.coverage.name': '<%= escape_javascript message('metric.coverage.name') -%>',
'metric.line_coverage.name': '<%= escape_javascript message('metric.line_coverage.name') -%>',
+ 'metric.lines_to_cover.name': '<%= escape_javascript message('metric.lines_to_cover.name') -%>',
+ 'metric.covered_lines.name': '<%= escape_javascript message('metric.covered_lines.name') -%>',
+ 'metric.uncovered_lines.name': '<%= escape_javascript message('metric.uncovered_lines.name') -%>',
'metric.branch_coverage.name': '<%= escape_javascript message('metric.branch_coverage.name') -%>',
+ 'metric.conditions_to_cover.name': '<%= escape_javascript message('metric.conditions_to_cover.name') -%>',
+ 'metric.covered_conditions.name': '<%= escape_javascript message('metric.covered_conditions.name') -%>',
+ 'metric.uncovered_conditions.name': '<%= escape_javascript message('metric.uncovered_conditions.name') -%>',
+
'metric.duplicated_blocks.name': '<%= escape_javascript message('metric.duplicated_blocks.name') -%>',
'metric.duplicated_files.name': '<%= escape_javascript message('metric.duplicated_files.name') -%>',
'metric.duplicated_lines.name': '<%= escape_javascript message('metric.duplicated_lines.name') -%>',