Annotation of embedaddon/php/ext/date/tests/bug52808.phpt, revision 1.1.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>