Skip to content

Commit a3f31a9

Browse files
committed
Util\Timing::getHumanReadableDuration: improve time display
This commit makes some tiny changes to how the run time is displayed: * For "exactly 1 second", display `1 secs` instead of `1000ms`. * For "exactly 1 minute", display `1 mins` instead of `60 secs`. * When minutes are displayed, only display seconds when there are seconds to display (so no `# mins, 0 secs`). Includes updating the tests to match.
1 parent 4bcd18a commit a3f31a9

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/Util/Timing.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,14 @@ public static function getDuration()
6767
public static function getHumanReadableDuration($duration)
6868
{
6969
$timeString = '';
70-
if ($duration > 60000) {
70+
if ($duration >= 60000) {
7171
$mins = floor($duration / 60000);
7272
$secs = round((fmod($duration, 60000) / 1000), 2);
7373
$timeString = $mins.' mins';
74-
if ($secs !== 0) {
74+
if ($secs >= 0.01) {
7575
$timeString .= ", $secs secs";
7676
}
77-
} else if ($duration > 1000) {
77+
} else if ($duration >= 1000) {
7878
$timeString = round(($duration / 1000), 2).' secs';
7979
} else {
8080
$timeString = round($duration).'ms';

tests/Core/Util/Timing/GetHumanReadableDurationTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public static function dataGetHumanReadableDuration()
6868
],
6969
'Duration: 1 second' => [
7070
'duration' => 1000,
71-
'expected' => '1000ms',
71+
'expected' => '1 secs',
7272
],
7373
'Duration: slightly more than 1 second' => [
7474
'duration' => 1001.178215,
@@ -80,11 +80,11 @@ public static function dataGetHumanReadableDuration()
8080
],
8181
'Duration: exactly 1 minute' => [
8282
'duration' => 60000,
83-
'expected' => '60 secs',
83+
'expected' => '1 mins',
8484
],
8585
'Duration: slightly more than 1 minute' => [
8686
'duration' => 60001.7581235,
87-
'expected' => '1 mins, 0 secs',
87+
'expected' => '1 mins',
8888
],
8989
'Duration: 1 minute, just under half a second' => [
9090
'duration' => 60499.83639,
@@ -100,7 +100,7 @@ public static function dataGetHumanReadableDuration()
100100
],
101101
'Duration: exactly 1 hour' => [
102102
'duration' => 3600000,
103-
'expected' => '60 mins, 0 secs',
103+
'expected' => '60 mins',
104104
],
105105
'Duration: 89.4 mins' => [
106106
'duration' => 5364000,

0 commit comments

Comments
 (0)