improved duration and minute selector (#2264)
* do not close modal if form is dirty * deprecated TimesheetConfiguration * inject timezone in form types * cleanup usage of UserDateTimeFactory * allow to configure increment steps for minutes * use 15 minutes step for datetimepicker in project edit form * use rounding rules for increments in minute select for begin and end * allow duration in multi user and admin timesheet forms * make dropdown values configurable
This commit is contained in:
@@ -26,6 +26,19 @@ class DurationTest extends TestCase
|
||||
$this->assertEquals('02:38:14', $sut->format(9494, Duration::FORMAT_WITH_SECONDS));
|
||||
}
|
||||
|
||||
/**
|
||||
* @group legacy
|
||||
*/
|
||||
public function testParseDurationStringSpecials()
|
||||
{
|
||||
$sut = new Duration();
|
||||
$this->assertEquals(0, $sut->parseDuration('-1', Duration::FORMAT_SECONDS));
|
||||
$this->assertEquals(0, $sut->parseDuration('0', Duration::FORMAT_SECONDS));
|
||||
$this->assertEquals(3600, $sut->parseDuration('3600', Duration::FORMAT_SECONDS));
|
||||
$this->assertEquals(0, $sut->parseDuration('', Duration::FORMAT_SECONDS));
|
||||
$this->assertEquals(0, $sut->parseDuration('-12', Duration::FORMAT_SECONDS));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider getParseDurationTestData
|
||||
*/
|
||||
@@ -47,13 +60,15 @@ class DurationTest extends TestCase
|
||||
public function getParseDurationTestData()
|
||||
{
|
||||
return [
|
||||
[0, '', Duration::FORMAT_SECONDS],
|
||||
[0, 0, Duration::FORMAT_SECONDS],
|
||||
[0, -12, Duration::FORMAT_SECONDS],
|
||||
[3600, 3600, Duration::FORMAT_SECONDS],
|
||||
[3600, 1, Duration::FORMAT_DECIMAL],
|
||||
[5400, 1.5, Duration::FORMAT_DECIMAL],
|
||||
[3600, '1', Duration::FORMAT_DECIMAL],
|
||||
[5400, '1.5', Duration::FORMAT_DECIMAL],
|
||||
[5400, '1,5', Duration::FORMAT_DECIMAL],
|
||||
|
||||
[0, '', Duration::FORMAT_NATURAL],
|
||||
[0, 0, Duration::FORMAT_NATURAL],
|
||||
|
||||
[99, '99s', Duration::FORMAT_NATURAL],
|
||||
[7200, '2h', Duration::FORMAT_NATURAL],
|
||||
[2280, '38m', Duration::FORMAT_NATURAL],
|
||||
@@ -63,6 +78,10 @@ class DurationTest extends TestCase
|
||||
|
||||
[0, '', Duration::FORMAT_COLON],
|
||||
[0, 0, Duration::FORMAT_COLON],
|
||||
|
||||
[12420, '3:27', Duration::FORMAT_COLON],
|
||||
[12420, '3h27m', Duration::FORMAT_NATURAL],
|
||||
|
||||
[48420, '13:27', Duration::FORMAT_COLON],
|
||||
[48474, '13:27:54', Duration::FORMAT_COLON],
|
||||
[48474, '12:87:54', Duration::FORMAT_COLON],
|
||||
|
||||
Reference in New Issue
Block a user