summaryrefslogtreecommitdiff
path: root/ext/date/tests/date_parse_error.phpt
blob: 0f1ae068e3c7f611ed02e29576e1d7ab83aec3f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
--TEST--
Test date_parse() function : error conditions 
--FILE--
<?php
/* Prototype  : array date_parse  ( string $date  ) 
 * Description: Returns associative array with detailed info about given date.
 * Source code: ext/date/php_date.c
 */
 
//Set the default time zone 
date_default_timezone_set("Europe/London");

echo "*** Testing date_parse() : error conditions ***\n";

echo "\n-- Testing date_parse() function with zero arguments --\n";
var_dump( date_parse() );

echo "\n-- Testing date_parse() function with more than expected no. of arguments --\n";
$date = "2009-02-27 10:00:00.5";
$extra_arg = 10;
var_dump( date_parse($date, $extra_arg) );

echo "\n-- Testing date_parse() function with unexpected characters in \$date argument --\n";
$invalid_date = "2OO9-02--27 10:00?00.5";
var_dump( date_parse($invalid_date) );  

?>
===DONE===
--EXPECTF--
*** Testing date_parse() : error conditions ***

-- Testing date_parse() function with zero arguments --

Warning: date_parse() expects exactly 1 parameter, 0 given in %s on line %d
bool(false)

-- Testing date_parse() function with more than expected no. of arguments --

Warning: date_parse() expects exactly 1 parameter, 2 given in %s on line %d
bool(false)

-- Testing date_parse() function with unexpected characters in $date argument --
array(13) {
  [u"year"]=>
  bool(false)
  [u"month"]=>
  bool(false)
  [u"day"]=>
  bool(false)
  [u"hour"]=>
  int(10)
  [u"minute"]=>
  int(0)
  [u"second"]=>
  int(0)
  [u"fraction"]=>
  float(0)
  [u"warning_count"]=>
  int(1)
  [u"warnings"]=>
  array(1) {
    [4]=>
    unicode(29) "Double timezone specification"
  }
  [u"error_count"]=>
  int(7)
  [u"errors"]=>
  array(7) {
    [0]=>
    unicode(20) "Unexpected character"
    [1]=>
    unicode(47) "The timezone could not be found in the database"
    [3]=>
    unicode(20) "Unexpected character"
    [7]=>
    unicode(20) "Unexpected character"
    [8]=>
    unicode(29) "Double timezone specification"
    [17]=>
    unicode(20) "Unexpected character"
    [18]=>
    unicode(25) "Double time specification"
  }
  [u"is_localtime"]=>
  bool(true)
  [u"zone_type"]=>
  int(0)
}
===DONE===