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.
 
 
 
 
 
 

89 lines
3.8 KiB

<?php
// (c) Copyright by authors of the Tiki Wiki CMS Groupware Project
//
// All Rights Reserved. See copyright.txt for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
// $Id$
require_once(__DIR__ . '/../../smarty_tiki/modifier.duration.php');
/**
* Test class for smarty_modifier_duration().
* Generated by PHPUnit on 2010-08-05 at 10:04:14.
*/
class ModifierDurationTest extends TikiTestCase
{
protected $inputs = [];
protected function setUp(): void
{
$this->inputs = [6, 60, 66, 300, 2700, 3600, 4140, 5400, 7200, 43200, 86400, 172800, 178200];
}
public function testModifierDuration(): void
{
$expectedResults = ['6 seconds', '1 minute', '1 minute 6 seconds', '5 minutes', '45 minutes', '1 hour', '1 hour 9 minutes', '1 hour 30 minutes', '2 hours', '12 hours', '1 day', '2 days', '2 days 1 hour 30 minutes'];
foreach ($this->inputs as $key => $value) {
$this->assertEquals($expectedResults[$key], smarty_modifier_duration($value));
}
}
public function testModifierDurationWithParameterLongFalse(): void
{
$expectedResults = ['6s', '1m', '1m 06s', '5m', '45m', '1h', '1h 09m', '1h 30m', '2h', '12h', '1d', '2d', '2d 1h 30m'];
foreach ($this->inputs as $key => $value) {
$this->assertEquals($expectedResults[$key], smarty_modifier_duration($value, false));
}
}
public function testModifierDurationWithParameterLongFalseAndMaxLevelSecond(): void
{
$expectedResults = ['6s', '60s', '66s', '300s', '2700s', '3600s', '4140s', '5400s', '7200s', '43200s', '86400s', '172800s', '178200s'];
foreach ($this->inputs as $key => $value) {
$this->assertEquals($expectedResults[$key], smarty_modifier_duration($value, false, 'second'));
}
}
public function testModifierDurationWithParameterLongTrueAndMaxLevelSecond(): void
{
$expectedResults = ['6 seconds', '60 seconds', '66 seconds', '300 seconds', '2700 seconds', '3600 seconds', '4140 seconds', '5400 seconds', '7200 seconds', '43200 seconds', '86400 seconds', '172800 seconds', '178200 seconds'];
foreach ($this->inputs as $key => $value) {
$this->assertEquals($expectedResults[$key], smarty_modifier_duration($value, true, 'second'));
}
}
public function testModifierDurationWithParameterLongFalseAndMaxLevelHour(): void
{
$expectedResults = ['6s', '1m', '1m 06s', '5m', '45m', '1h', '1h 09m', '1h 30m', '2h', '12h', '24h', '48h', '49h 30m'];
foreach ($this->inputs as $key => $value) {
$this->assertEquals($expectedResults[$key], smarty_modifier_duration($value, false, 'hour'));
}
}
public function testModifierDurationWithParameterLongTrueAndMaxLevelHour(): void
{
$expectedResults = ['6 seconds', '1 minute', '1 minute 6 seconds', '5 minutes', '45 minutes', '1 hour', '1 hour 9 minutes', '1 hour 30 minutes', '2 hours', '12 hours', '24 hours', '48 hours', '49 hours 30 minutes'];
foreach ($this->inputs as $key => $value) {
$this->assertEquals($expectedResults[$key], smarty_modifier_duration($value, true, 'hour'));
}
}
public function testModifierDurationWithParameterLongFalseAndInvalidMaxLevel(): void
{
$expectedResults = ['6s', '1m', '1m 06s', '5m', '45m', '1h', '1h 09m', '1h 30m', '2h', '12h', '1d', '2d', '2d 1h 30m'];
foreach ($this->inputs as $key => $value) {
$this->assertEquals($expectedResults[$key], smarty_modifier_duration($value, false, 1234));
}
}
public function testModifierDurationShouldReturnUnchangedStringIfNotNumeric(): void
{
$string = 'asdf';
$this->assertEquals($string, smarty_modifier_duration($string));
}
}