Make WordPress Core

Ticket #16495: 16495.test.diff

File 16495.test.diff, 2.1 KB (added by ericmann, 13 years ago)

Add some tests listing iso8601 dates and what they should be parsed to.

  • tests/phpunit/tests/formatting/date.php

     
    4747                $gmt = '2012-06-01 11:34:56';
    4848                $this->assertEquals( $gmt, get_gmt_from_date( $local ) );
    4949        }
     50
     51        /**
     52         * @ticket 16495
     53         */
     54        function test_iso8601_to_datetime() {
     55                $formats = array(
     56                        // Standard validation conditions
     57                        '2001-02-03T04:05'              => '2001-02-03 04:05:00',
     58                        '2001-02-03T04:05:06'           => '2001-02-03 04:05:06',
     59                        '2001-02-03T04:05:06.007'       => '2001-02-03 04:05:06',
     60                        '2001-02-03T04:05Z'             => '2001-02-03 04:05:00',
     61                        '2001-02-03T04:05:06Z'          => '2001-02-03 04:05:06',
     62                        '2001-02-03T04:05:06.007Z'      => '2001-02-03 04:05:06',
     63                        '2001-02-03T04:05-00:00'        => '2001-02-03 04:05:00',
     64                        '2001-02-03T04:05:06-00:00'     => '2001-02-03 04:05:06',
     65                        '2001-02-03T04:05:06.007-00:00' => '2001-02-03 04:05:06',
     66                        '2001-02-03T04:05+00:00'        => '2001-02-03 04:05:00',
     67                        '2001-02-03T04:05:06+00:00'     => '2001-02-03 04:05:06',
     68                        '2001-02-03T04:05:06.007+00:00' => '2001-02-03 04:05:06',
     69                        '2001-02-03T04:05-06:30'        => '2001-02-03 10:35:00',
     70                        '2001-02-03T04:05:06-06:30'     => '2001-02-03 10:35:06',
     71                        '2001-02-03T04:05:06.007-06:30' => '2001-02-03 10:35:06',
     72                        '2001-02-03T04:05+06:30'        => '2001-02-02 21:35:00',
     73                        '2001-02-03T04:05:06+06:30'     => '2001-02-02 21:35:06',
     74                        '2001-02-03T04:05:06.007+06:30' => '2001-02-02 21:35:06',
     75                        '2001-02T04:05:06.007'          => '2001-02-01 04:05:06',
     76
     77                        // Expected error conditions
     78                        '1970-01-01 00:00:00'           => false,
     79                        '1970-01-01T00:00:00.000000'    => false,
     80                        '1970-01-01T00:00:00,000'       => false,
     81                        '1970-01-01T00:00:00+0630'      => false,
     82                        '1970-01-01T0000'               => false,
     83                        '1970-01-01T00:00.000'          => false
     84                );
     85
     86                foreach( $formats as $input => $expected ) {
     87                        $this->assertEquals( $expected, iso8601_to_datetime( $input ) );
     88                }
     89        }
    5090}