1--TEST-- 2Test date_parse() function : error conditions 3--FILE-- 4<?php 5/* Prototype : array date_parse ( string $date ) 6 * Description: Returns associative array with detailed info about given date. 7 * Source code: ext/date/php_date.c 8 */ 9 10//Set the default time zone 11date_default_timezone_set("Europe/London"); 12 13echo "*** Testing date_parse() : error conditions ***\n"; 14 15echo "\n-- Testing date_parse() function with zero arguments --\n"; 16var_dump( date_parse() ); 17 18echo "\n-- Testing date_parse() function with more than expected no. of arguments --\n"; 19$date = "2009-02-27 10:00:00.5"; 20$extra_arg = 10; 21var_dump( date_parse($date, $extra_arg) ); 22 23echo "\n-- Testing date_parse() function with unexpected characters in \$date argument --\n"; 24$invalid_date = "2OO9-02--27 10:00?00.5"; 25var_dump( date_parse($invalid_date) ); 26 27?> 28===DONE=== 29--EXPECTF-- 30*** Testing date_parse() : error conditions *** 31 32-- Testing date_parse() function with zero arguments -- 33 34Warning: date_parse() expects exactly 1 parameter, 0 given in %s on line %d 35bool(false) 36 37-- Testing date_parse() function with more than expected no. of arguments -- 38 39Warning: date_parse() expects exactly 1 parameter, 2 given in %s on line %d 40bool(false) 41 42-- Testing date_parse() function with unexpected characters in $date argument -- 43array(13) { 44 ["year"]=> 45 bool(false) 46 ["month"]=> 47 bool(false) 48 ["day"]=> 49 bool(false) 50 ["hour"]=> 51 int(10) 52 ["minute"]=> 53 int(0) 54 ["second"]=> 55 int(0) 56 ["fraction"]=> 57 float(0) 58 ["warning_count"]=> 59 int(1) 60 ["warnings"]=> 61 array(1) { 62 [4]=> 63 string(29) "Double timezone specification" 64 } 65 ["error_count"]=> 66 int(7) 67 ["errors"]=> 68 array(7) { 69 [0]=> 70 string(20) "Unexpected character" 71 [1]=> 72 string(47) "The timezone could not be found in the database" 73 [3]=> 74 string(20) "Unexpected character" 75 [7]=> 76 string(20) "Unexpected character" 77 [8]=> 78 string(29) "Double timezone specification" 79 [17]=> 80 string(20) "Unexpected character" 81 [18]=> 82 string(25) "Double time specification" 83 } 84 ["is_localtime"]=> 85 bool(true) 86 ["zone_type"]=> 87 int(0) 88} 89===DONE=== 90