You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zabbix/ui/tests/unit/include/function_relativeDateToText...

98 lines
4.8 KiB

1 year ago
<?php declare(strict_types = 0);
/*
** Zabbix
** Copyright (C) 2001-2023 Zabbix SIA
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**/
use PHPUnit\Framework\TestCase;
class function_relativeDateToTextTest extends TestCase {
protected $tz;
protected function setUp(): void {
$this->tz = date_default_timezone_get();
date_default_timezone_set('Europe/Riga');
}
protected function tearDown(): void {
date_default_timezone_set($this->tz);
}
public static function provider() {
return [
['params' => ['now-1d/d', 'now-1d/d'], 'expected' => 'Yesterday'],
['params' => ['now-2d/d', 'now-2d/d'], 'expected' => 'Day before yesterday'],
['params' => ['now-1w/d', 'now-1w/d'], 'expected' => 'This day last week'],
['params' => ['now-1w/w', 'now-1w/w'], 'expected' => 'Previous week'],
['params' => ['now-1M/M', 'now-1M/M'], 'expected' => 'Previous month'],
['params' => ['now-1y/y', 'now-1y/y'], 'expected' => 'Previous year'],
['params' => ['now/d', 'now/d'], 'expected' => 'Today'],
['params' => ['now/d', 'now'], 'expected' => 'Today so far'],
['params' => ['now/w', 'now/w'], 'expected' => 'This week'],
['params' => ['now/w', 'now'], 'expected' => 'This week so far'],
['params' => ['now/M', 'now/M'], 'expected' => 'This month'],
['params' => ['now/M', 'now'], 'expected' => 'This month so far'],
['params' => ['now/y', 'now/y'], 'expected' => 'This year'],
['params' => ['now/y', 'now'], 'expected' => 'This year so far'],
['params' => ['now-1', 'now'], 'expected' => 'Last 1 second'],
['params' => ['now-5', 'now'], 'expected' => 'Last 5 seconds'],
['params' => ['now-55s', 'now'], 'expected' => 'Last 55 seconds'],
['params' => ['now-60s', 'now'], 'expected' => 'Last 1 minute'],
['params' => ['now-600s', 'now'], 'expected' => 'Last 10 minutes'],
['params' => ['now-3600s', 'now'], 'expected' => 'Last 1 hour'],
['params' => ['now-3601s', 'now'], 'expected' => 'Last 3601 seconds'],
['params' => ['now-86400s', 'now'], 'expected' => 'Last 1 day'],
['params' => ['now-59m', 'now'], 'expected' => 'Last 59 minutes'],
['params' => ['now-60m', 'now'], 'expected' => 'Last 1 hour'],
['params' => ['now-77m', 'now'], 'expected' => 'Last 77 minutes'],
['params' => ['now-600m', 'now'], 'expected' => 'Last 10 hours'],
['params' => ['now-3600m', 'now'], 'expected' => 'Last 60 hours'],
['params' => ['now-1440m', 'now'], 'expected' => 'Last 1 day'],
['params' => ['now-23h', 'now'], 'expected' => 'Last 23 hours'],
['params' => ['now-24h', 'now'], 'expected' => 'Last 1 day'],
['params' => ['now-77h', 'now'], 'expected' => 'Last 77 hours'],
['params' => ['now-1d', 'now'], 'expected' => 'Last 1 day'],
['params' => ['now-3d', 'now'], 'expected' => 'Last 3 days'],
['params' => ['now-1M', 'now'], 'expected' => 'Last 1 month'],
['params' => ['now-5M', 'now'], 'expected' => 'Last 5 months'],
['params' => ['now-1y', 'now'], 'expected' => 'Last 1 year'],
['params' => ['now-3y', 'now'], 'expected' => 'Last 3 years'],
['params' => ['now+5m', 'now'], 'expected' => 'now+5m now'],
['params' => ['now', 'now'], 'expected' => 'now now'],
['params' => ['now/m', 'now/m'], 'expected' => 'now/m now/m'],
['params' => ['now/h', 'now/h'], 'expected' => 'now/h now/h'],
['params' => ['now', 'now/d'], 'expected' => 'now now/d'],
['params' => ['now/d', 'now/w'], 'expected' => 'now/d now/w'],
['params' => ['now/w', 'now/M'], 'expected' => 'now/w now/M'],
['params' => ['now/M', 'now/y'], 'expected' => 'now/M now/y'],
['params' => ['now/y', 'now/d'], 'expected' => 'now/y now/d'],
['params' => ['now/d-3d', 'now/M-1M'], 'expected' => 'now/d-3d now/M-1M'],
['params' => ['now-3d/d', 'now-2M/M'], 'expected' => 'now-3d/d now-2M/M'],
['params' => ['now-3h/d', 'now'], 'expected' => 'now-3h/d now'],
['params' => ['now-3w/M', 'now+1M/M'], 'expected' => 'now-3w/M now+1M/M']
];
}
/**
* @dataProvider provider
*/
public function test($params, $expected) {
$this->assertSame($expected, call_user_func_array('relativeDateToText', $params));
}
}