events:
'click @ui.unitTests': 'showCoveredFiles'
+ 'click .js-sort-tests-duration': 'sortTestsByDuration'
+ 'click .js-sort-tests-name': 'sortTestsByName'
+
+
+ initialize: ->
+ super
+ @tests = _.sortBy @component.get('tests'), 'name'
+ @activeSort = '.js-sort-tests-name'
onRender: ->
@header.enableUnitTest = (testName) =>
@ui.unitTests.filter("[data-name=#{testName}]").click()
+ @$(@activeSort).addClass 'active-link' if @activeSort
onClose: ->
popup.render()
+ sortTestsByDuration: ->
+ @activeSort = '.js-sort-tests-duration'
+ @tests = _.sortBy @tests, 'durationInMs'
+ @render()
+
+
+ sortTestsByName: ->
+ @activeSort = '.js-sort-tests-name'
+ @tests = _.sortBy @tests, 'name'
+ @render()
+
+
hasCoveragePerTestData: ->
hasData = false
@component.get('tests').forEach (test) ->
serializeData: ->
_.extend super,
+ tests: @tests
hasCoveragePerTestData: @hasCoveragePerTestData()
{{/if}}
</div>
<ul class="component-viewer-header-expanded-bar-section-list">
- {{#each component.tests}}
+ {{#each tests}}
{{#eq status 'SKIPPED'}}
<li><span class="item" title="{{name}}" data-status="{{status}}">
<span class="label">{{testStatusIcon status}}
{{/eq}}
{{/each}}
</ul>
+ <div class="component-viewer-header-expanded-bar-section-title">
+ <span>{{t 'component_viewer.tests.sort_by'}}</span>
+ <a class="js-sort-tests-name underlined-link">{{t 'component_viewer.tests.test_name'}}</a>
+ <a class="js-sort-tests-duration underlined-link">{{t 'component_viewer.tests.duration'}}</a>
+ </div>
</div>
component_viewer.transition.covers=Covers
component_viewer.transition.duplication=Duplicated By
+component_viewer.tests.sort_by=Sort by
+component_viewer.tests.duration=Duration
+component_viewer.tests.test_name=Test Name
+
component_viewer.x_lines_are_covered={0} lines are covered
component_viewer.details=Details
component_viewer.add_manual_issue=Add Manual Issue