[Nostromo] Simplify timeDiff calculation

This commit is contained in:
Andrés Montañez 2017-01-11 17:50:02 -03:00
parent c2b83428f0
commit f407e9d92d
2 changed files with 13 additions and 29 deletions

View file

@ -95,32 +95,16 @@ class Utils
return 'a week ago';
}
if ($diff->days > 1) {
return sprintf('%d days ago', $diff->days);
if ($diff->days >= 1) {
return sprintf('%d day(s) ago', $diff->days);
}
if ($diff->days == 1) {
return 'one day ago';
if ($diff->h >= 1) {
return sprintf('%d hour(s) ago', $diff->h);
}
if ($diff->h > 1) {
return sprintf('%d hours ago', $diff->h);
}
if ($diff->h == 1) {
return 'one hour ago';
}
if ($diff->i > 1) {
return sprintf('%d minutes ago', $diff->i);
}
if ($diff->i == 1) {
return 'one minute ago';
}
if ($diff->s >= 10) {
return sprintf('%d seconds ago', $diff->s);
if ($diff->i >= 1) {
return sprintf('%d minute(s) ago', $diff->i);
}
return 'just now';

View file

@ -48,31 +48,31 @@ class UtilsTest extends TestCase
$dateTime = new DateTime();
$dateTime->modify('-45 seconds');
$this->assertEquals('45 seconds ago', $utils->getTimeDiff($dateTime));
$this->assertEquals('just now', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime();
$dateTime->modify('-90 seconds');
$this->assertEquals('one minute ago', $utils->getTimeDiff($dateTime));
$this->assertEquals('1 minute(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime();
$dateTime->modify('-30 minutes');
$this->assertEquals('30 minutes ago', $utils->getTimeDiff($dateTime));
$this->assertEquals('30 minute(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime();
$dateTime->modify('-1 hour');
$this->assertEquals('one hour ago', $utils->getTimeDiff($dateTime));
$this->assertEquals('1 hour(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime();
$dateTime->modify('-10 hours');
$this->assertEquals('10 hours ago', $utils->getTimeDiff($dateTime));
$this->assertEquals('10 hour(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime();
$dateTime->modify('-1 day');
$this->assertEquals('one day ago', $utils->getTimeDiff($dateTime));
$this->assertEquals('1 day(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime();
$dateTime->modify('-3 days');
$this->assertEquals('3 days ago', $utils->getTimeDiff($dateTime));
$this->assertEquals('3 day(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime();
$dateTime->modify('-7 days');