Annotation of embedaddon/php/ext/date/tests/bug52808.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #52808 (Segfault when specifying interval as two dates)
        !             3: --FILE--
        !             4: <?php
        !             5: date_default_timezone_set('Europe/Oslo');
        !             6: $intervals = array(
        !             7:        "2008-05-11T15:30:00Z/2007-03-01T13:00:00Z",
        !             8:        "2007-05-11T15:30:00Z/2008-03-01T13:00:00Z",
        !             9:        "2007-05-11T15:30:00Z 2008-03-01T13:00:00Z",
        !            10:        "2007-05-11T15:30:00Z/",
        !            11:        "2007-05-11T15:30:00Z",
        !            12:        "2007-05-11T15:30:00Z/:00Z",
        !            13: );
        !            14: foreach($intervals as $iv) {
        !            15:     try
        !            16:     {
        !            17:        $di = new DateInterval($iv);
        !            18:        var_dump($di);
        !            19:     }
        !            20:     catch ( Exception $e )
        !            21:     {
        !            22:        echo $e->getMessage(), "\n";
        !            23:     }
        !            24: }
        !            25: echo "==DONE==\n";
        !            26: ?>
        !            27: --EXPECTF--
        !            28: object(DateInterval)#%d (8) {
        !            29:   ["y"]=>
        !            30:   int(1)
        !            31:   ["m"]=>
        !            32:   int(2)
        !            33:   ["d"]=>
        !            34:   int(10)
        !            35:   ["h"]=>
        !            36:   int(2)
        !            37:   ["i"]=>
        !            38:   int(30)
        !            39:   ["s"]=>
        !            40:   int(0)
        !            41:   ["invert"]=>
        !            42:   int(1)
        !            43:   ["days"]=>
        !            44:   int(437)
        !            45: }
        !            46: object(DateInterval)#%d (8) {
        !            47:   ["y"]=>
        !            48:   int(0)
        !            49:   ["m"]=>
        !            50:   int(9)
        !            51:   ["d"]=>
        !            52:   int(18)
        !            53:   ["h"]=>
        !            54:   int(21)
        !            55:   ["i"]=>
        !            56:   int(30)
        !            57:   ["s"]=>
        !            58:   int(0)
        !            59:   ["invert"]=>
        !            60:   int(0)
        !            61:   ["days"]=>
        !            62:   int(294)
        !            63: }
        !            64: object(DateInterval)#%d (8) {
        !            65:   ["y"]=>
        !            66:   int(0)
        !            67:   ["m"]=>
        !            68:   int(9)
        !            69:   ["d"]=>
        !            70:   int(18)
        !            71:   ["h"]=>
        !            72:   int(21)
        !            73:   ["i"]=>
        !            74:   int(30)
        !            75:   ["s"]=>
        !            76:   int(0)
        !            77:   ["invert"]=>
        !            78:   int(0)
        !            79:   ["days"]=>
        !            80:   int(294)
        !            81: }
        !            82: DateInterval::__construct(): Failed to parse interval (2007-05-11T15:30:00Z/)
        !            83: DateInterval::__construct(): Failed to parse interval (2007-05-11T15:30:00Z)
        !            84: DateInterval::__construct(): Unknown or bad format (2007-05-11T15:30:00Z/:00Z)
        !            85: ==DONE==

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>