<div dir="ltr">Note that this change makes filtering by keyboard inoperant...<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le mer. 4 sept. 2019 à 17:28, <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Marcel Taeumel uploaded a new version of SUnitGUI to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/SUnitGUI-mt.73.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/trunk/SUnitGUI-mt.73.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: SUnitGUI-mt.73<br>
Author: mt<br>
Time: 4 September 2019, 5:28:26.809072 pm<br>
UUID: 56e5b083-0108-450e-92d4-9bea9160a539<br>
Ancestors: SUnitGUI-mt.72<br>
<br>
Show durations in test runner.<br>
<br>
=============== Diff against SUnitGUI-mt.72 ===============<br>
<br>
Item was changed:<br>
  ----- Method: TestRunner>>classList (in category 'accessing-classes') -----<br>
  classList<br>
<br>
        | helper |<br>
        classes isEmpty ifTrue: [ ^ classes ].<br>
<br>
        helper := Browser new.<br>
        ^ helper<br>
                flattenHierarchyTree: (helper createHierarchyTreeOf: classes)<br>
                on: OrderedCollection new<br>
                indent: ''<br>
                by: '  '<br>
                format: [:class | class isAbstract<br>
                                                        ifTrue: [class name asText addAttribute: TextEmphasis italic; yourself]<br>
+                                                       ifFalse: [<br>
+                                                               (class history notNil and: [class history includesKey: #duration])<br>
+                                                                       ifFalse: ['{1} ({2} tests)' format: {class name. class allTestSelectors size}]<br>
+                                                                       ifTrue: [<br>
+                                                                               | duration |<br>
+                                                                               duration := (class history at: #duration).<br>
+                                                                               '{1} ({2} tests, {3})' format: {<br>
+                                                                                       class name.<br>
+                                                                                       class allTestSelectors size.<br>
+                                                                                       duration = 0 ifTrue: ['< 1 ms'] ifFalse: [<br>
+                                                                                               duration < 1000 ifTrue: [duration asString, ' ms'] ifFalse: [<br>
+                                                                                                       (duration / 1000) rounded asString, ' secs']]}]]] !<br>
-                                                       ifFalse: ['{1} ({2})' format: {class name. class allTestSelectors size}]]!<br>
<br>
Item was changed:<br>
  ----- Method: TestRunner>>saveResultInHistory (in category 'history saving') -----<br>
  saveResultInHistory<br>
+       result dispatchResultsIntoHistory.<br>
+       self changed: #classList.!<br>
-       result dispatchResultsIntoHistory!<br>
<br>
Item was changed:<br>
  ----- Method: TestRunner>>updateResults (in category 'updating') -----<br>
  updateResults<br>
        "<lint: #expect rule: #guardingClause>"<br>
        "<lint: #expect rule: #longMethods>"<br>
<br>
        self updateStatus: false.<br>
        failedList size = result failures size ifFalse: [<br>
                failedList := result failures asArray<br>
                        sort: [ :a :b | a printString <= b printString ].<br>
                failedSelected := nil.<br>
                self <br>
                        changed: #failedList; <br>
                        changed: #failedSelected;<br>
                        changed: #hasFailures;<br>
                        changed: #hasProgress  ].<br>
        errorList size = result errors size ifFalse: [<br>
                errorList := result errors asArray<br>
                        sort: [ :a :b | a printString <= b printString ].<br>
                errorSelected := nil.<br>
                self <br>
                        changed: #errorList; <br>
                        changed: #errorSelected;<br>
                        changed: #hasErrors;<br>
+                       changed: #hasProgress;<br>
+                       changed: #classList ].!<br>
-                       changed: #hasProgress ].!<br>
<br>
<br>
</blockquote></div>