bug52808.phpt 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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 (16) {
  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. ["f"]=>
  42. float(0)
  43. ["weekday"]=>
  44. int(0)
  45. ["weekday_behavior"]=>
  46. int(0)
  47. ["first_last_day_of"]=>
  48. int(0)
  49. ["invert"]=>
  50. int(1)
  51. ["days"]=>
  52. int(437)
  53. ["special_type"]=>
  54. int(0)
  55. ["special_amount"]=>
  56. int(0)
  57. ["have_weekday_relative"]=>
  58. int(0)
  59. ["have_special_relative"]=>
  60. int(0)
  61. }
  62. object(DateInterval)#%d (16) {
  63. ["y"]=>
  64. int(0)
  65. ["m"]=>
  66. int(9)
  67. ["d"]=>
  68. int(18)
  69. ["h"]=>
  70. int(21)
  71. ["i"]=>
  72. int(30)
  73. ["s"]=>
  74. int(0)
  75. ["f"]=>
  76. float(0)
  77. ["weekday"]=>
  78. int(0)
  79. ["weekday_behavior"]=>
  80. int(0)
  81. ["first_last_day_of"]=>
  82. int(0)
  83. ["invert"]=>
  84. int(0)
  85. ["days"]=>
  86. int(294)
  87. ["special_type"]=>
  88. int(0)
  89. ["special_amount"]=>
  90. int(0)
  91. ["have_weekday_relative"]=>
  92. int(0)
  93. ["have_special_relative"]=>
  94. int(0)
  95. }
  96. object(DateInterval)#%d (16) {
  97. ["y"]=>
  98. int(0)
  99. ["m"]=>
  100. int(9)
  101. ["d"]=>
  102. int(18)
  103. ["h"]=>
  104. int(21)
  105. ["i"]=>
  106. int(30)
  107. ["s"]=>
  108. int(0)
  109. ["f"]=>
  110. float(0)
  111. ["weekday"]=>
  112. int(0)
  113. ["weekday_behavior"]=>
  114. int(0)
  115. ["first_last_day_of"]=>
  116. int(0)
  117. ["invert"]=>
  118. int(0)
  119. ["days"]=>
  120. int(294)
  121. ["special_type"]=>
  122. int(0)
  123. ["special_amount"]=>
  124. int(0)
  125. ["have_weekday_relative"]=>
  126. int(0)
  127. ["have_special_relative"]=>
  128. int(0)
  129. }
  130. Failed to parse interval (2007-05-11T15:30:00Z/)
  131. Failed to parse interval (2007-05-11T15:30:00Z)
  132. Unknown or bad format (2007-05-11T15:30:00Z/:00Z)
  133. ==DONE==