Browse Source

DateTimeHelper::parseGetStart(): added tests

Fabian Peter Hammerle 7 years ago
parent
commit
30daa5e22e
1 changed files with 46 additions and 7 deletions
  1. 46 7
      tests/DateTimeHelperTest.php

+ 46 - 7
tests/DateTimeHelperTest.php

@@ -152,13 +152,51 @@ class DateTimeHelperTest extends \PHPUnit_Framework_TestCase
         return [
             [null, 'UTC', null],
             [null, 'US/Pacific', null],
-            ['2016-08-02', 'UTC', new DT('2016-08-02T00:00:00Z')],
-            ['2016-08-02', 'Europe/Vienna', new DT('2016-08-02T00:00:00+02:00')],
-            ['2016-08-02', 'Europe/Vienna', new DT('2016-08-01T22:00:00Z')],
-            ['2016-08-02 15:52:13', 'UTC',  new DT('2016-08-02T15:52:13Z')],
-            ['2016-08-02 15:52:13', 'Europe/Vienna',  new DT('2016-08-02T15:52:13+02:00')],
-            ['2016-08-02 15:52:13', 'Europe/Vienna',  new DT('2016-08-02T13:52:13Z')],
-            ['2016-08-02T15:52:13', 'US/Pacific',  new DT('2016-08-02T15:52:13-07:00')],
+            ['1900',                      'UTC',           new DT('1900-01-01T00:00:00Z')     ],
+            ['0014',                      'Europe/Vienna', new DT('0014-01-01T00:00:00+01:00')],
+            ['2016',                      'US/Pacific',    new DT('2016-01-01T00:00:00-08:00')],
+            ['1900Z',                     'US/Pacific',    new DT('1900-01-01T00:00:00Z')     ],
+            ['2016Z',                     'Europe/Vienna', new DT('2016-01-01T00:00:00Z')     ],
+            ['2016+00:00',                'Europe/Vienna', new DT('2016-01-01T00:00:00Z')     ],
+            ['2016+02:00',                'US/Pacific',    new DT('2016-01-01T00:00:00+02:00')],
+            ['0000 +02:05',               'US/Pacific',    new DT('0000-01-01T00:00:00+02:05')],
+            ['2016-08:00',                'UTC',           new DT('2016-01-01T00:00:00-08:00')],
+            ['2016 -08:00',               'UTC',           new DT('2016-01-01T00:00:00-08:00')],
+            ['2016-08',                   'UTC',           new DT('2016-08-01T00:00:00Z')     ],
+            ['2016-08',                   'Europe/Vienna', new DT('2016-08-01T00:00:00+02:00')],
+            ['2016-01',                   'US/Pacific',    new DT('2016-01-01T00:00:00-08:00')],
+            ['2016-08Z',                  'US/Pacific',    new DT('2016-08-01T00:00:00Z')     ],
+            ['2016-08Z',                  'Europe/Vienna', new DT('2016-08-01T00:00:00Z')     ],
+            ['2016-01+00:00',             'Europe/Vienna', new DT('2016-01-01T00:00:00Z')     ],
+            ['2016-01+02:00',             'US/Pacific',    new DT('2016-01-01T00:00:00+02:00')],
+            ['2016-01 +02:00',            'US/Pacific',    new DT('2016-01-01T00:00:00+02:00')],
+            ['2016-01 -08:00',            'UTC',           new DT('2016-01-01T00:00:00-08:00')],
+            ['2016-08-02',                'UTC',           new DT('2016-08-02T00:00:00Z')     ],
+            ['2016-08-02',                'Europe/Vienna', new DT('2016-08-02T00:00:00+02:00')],
+            ['2016-01-02',                'US/Pacific',    new DT('2016-01-02T00:00:00-08:00')],
+            ['2016-08-02Z',               'US/Pacific',    new DT('2016-08-02T00:00:00Z')     ],
+            ['2016-08-02Z',               'Europe/Vienna', new DT('2016-08-02T00:00:00Z')     ],
+            ['2016-01-02+00:00',          'Europe/Vienna', new DT('2016-01-02T00:00:00Z')     ],
+            ['2016-01-02+02:00',          'US/Pacific',    new DT('2016-01-02T00:00:00+02:00')],
+            ['2016-01-02-08:13',          'UTC',           new DT('2016-01-02T00:00:00-08:13')],
+            ['2016-08-02 15:52',          'UTC',           new DT('2016-08-02T15:52:00Z')     ],
+            ['2016-08-02T15:52',          'UTC',           new DT('2016-08-02T15:52:00Z')     ],
+            ['2016-08-02T15:52',          'Europe/Vienna', new DT('2016-08-02T15:52:00+02:00')],
+            ['2016-01-02T15:52',          'US/Pacific',    new DT('2016-01-02T15:52:00-08:00')],
+            ['2016-08-02 15:52Z',         'US/Pacific',    new DT('2016-08-02T15:52:00Z')     ],
+            ['2016-08-02T15:52Z',         'Europe/Vienna', new DT('2016-08-02T15:52:00Z')     ],
+            ['2016-01-02T15:52+00:00',    'Europe/Vienna', new DT('2016-01-02T15:52:00Z')     ],
+            ['2016-01-02T15:52+02:00',    'US/Pacific',    new DT('2016-01-02T15:52:00+02:00')],
+            ['2016-01-02T15:52-08:00',    'UTC',           new DT('2016-01-02T15:52:00-08:00')],
+            ['2016-08-02 15:52:13',       'UTC',           new DT('2016-08-02T15:52:13Z')     ],
+            ['2016-08-02T15:52:13',       'UTC',           new DT('2016-08-02T15:52:13Z')     ],
+            ['2016-08-02T15:52:13',       'Europe/Vienna', new DT('2016-08-02T15:52:13+02:00')],
+            ['2016-01-02T15:52:00',       'US/Pacific',    new DT('2016-01-02T15:52:00-08:00')],
+            ['2016-08-02 15:52:13Z',      'US/Pacific',    new DT('2016-08-02T15:52:13Z')     ],
+            ['2016-08-02T15:52:13Z',      'Europe/Vienna', new DT('2016-08-02T15:52:13Z')     ],
+            ['2016-01-02T15:52:13+00:00', 'Europe/Vienna', new DT('2016-01-02T15:52:13Z')     ],
+            ['2016-01-02T15:52:13+02:00', 'US/Pacific',    new DT('2016-01-02T15:52:13+02:00')],
+            ['2016-01-02T15:52:13-08:00', 'UTC',           new DT('2016-01-02T15:52:13-08:00')],
             ];
     }
 
@@ -177,6 +215,7 @@ class DateTimeHelperTest extends \PHPUnit_Framework_TestCase
             ['     '],
             [''],
             ['2016--12'],
+            ['2016-01-08:00'],
             ['2016-10-12 08:20#01'],
             [1],
             [false],