Annotation of embedaddon/php/ext/intl/tests/dateformat_parse.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: datefmt_parse_code()
3: --SKIPIF--
4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
5: --INI--
6: date.timezone="America/Los_Angeles"
7: --FILE--
8: <?php
9:
10: /*
11: * Test for the datefmt_parse function
12: */
13:
14: putenv('TZ=America/Los_Angeles');
15:
16: function ut_main()
17: {
18: $locale_arr = array (
19: 'en_US_CA'
20: );
21:
22: $datetype_arr = array (
23: IntlDateFormatter::FULL,
24: IntlDateFormatter::LONG,
25: IntlDateFormatter::MEDIUM,
26: IntlDateFormatter::SHORT,
27: IntlDateFormatter::NONE
28: );
29:
30: $res_str = '';
31:
32:
33: $text_arr = array (
34: // Full parsing
35: array("Sunday, September 18, 2039 4:06:40 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::FULL),
36: array("Wednesday, December 17, 1969 6:40:00 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::FULL),
37: array("Thursday, December 18, 1969 8:49:59 PM PST", IntlDateFormatter::FULL, IntlDateFormatter::FULL),
38: array("December 18, 1969 8:49:59 AM PST", IntlDateFormatter::LONG, IntlDateFormatter::FULL),
39: array("12/18/69 8:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::SHORT),
40: array("19691218 08:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::SHORT),
41: // Partial parsing
42: array("Sunday, September 18, 2039 4:06:40 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::NONE),
43: array("Sunday, September 18, 2039 4:06:40 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::SHORT),
44: array("December 18, 1969 8:49:59 AM PST", IntlDateFormatter::LONG, IntlDateFormatter::NONE),
45: array("December 18, 1969 8:49:59 AM PST", IntlDateFormatter::LONG, IntlDateFormatter::SHORT),
46: array("12/18/69 8:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::LONG),
47: array("19691218 08:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::LONG),
48: );
49:
50: foreach( $text_arr as $text_entry){
51: $fmt = ut_datefmt_create( 'en_US_CA', $text_entry[1], $text_entry[2]);
52: $parse_pos = 0;
53: $parsed = ut_datefmt_parse( $fmt , $text_entry[0] , $parse_pos );
54:
55: $res_str .= "\nInput text : {$text_entry[0]} ; DF = {$text_entry[1]}; TF = {$text_entry[2]}";
56: if( intl_get_error_code() != U_ZERO_ERROR) {
57: $res_str .= "\nError : ".intl_get_error_message();
58: }
59: $res_str .= "\nParsed: $parsed; parse_pos : $parse_pos\n";
60: }
61:
62: return $res_str;
63:
64: }
65:
66: include_once( 'ut_common.inc' );
67:
68: // Run the test
69: ut_run();
70: ?>
71: --EXPECT--
72:
73: Input text : Sunday, September 18, 2039 4:06:40 PM PT ; DF = 0; TF = 0
74: Parsed: 2200000000; parse_pos : 40
75:
76: Input text : Wednesday, December 17, 1969 6:40:00 PM PT ; DF = 0; TF = 0
77: Parsed: -1200000; parse_pos : 42
78:
79: Input text : Thursday, December 18, 1969 8:49:59 PM PST ; DF = 0; TF = 0
80: Parsed: -1105801; parse_pos : 42
81:
82: Input text : December 18, 1969 8:49:59 AM PST ; DF = 1; TF = 0
83: Parsed: -1149001; parse_pos : 32
84:
85: Input text : 12/18/69 8:49 AM ; DF = 3; TF = 3
86: Parsed: -1149060; parse_pos : 16
87:
88: Input text : 19691218 08:49 AM ; DF = 3; TF = 3
89: Error : Date parsing failed: U_PARSE_ERROR
90: Parsed: ; parse_pos : 8
91:
92: Input text : Sunday, September 18, 2039 4:06:40 PM PT ; DF = 0; TF = -1
93: Parsed: 2199942000; parse_pos : 26
94:
95: Input text : Sunday, September 18, 2039 4:06:40 PM PT ; DF = 0; TF = 3
96: Error : Date parsing failed: U_PARSE_ERROR
97: Parsed: ; parse_pos : 31
98:
99: Input text : December 18, 1969 8:49:59 AM PST ; DF = 1; TF = -1
100: Parsed: -1180800; parse_pos : 17
101:
102: Input text : December 18, 1969 8:49:59 AM PST ; DF = 1; TF = 3
103: Error : Date parsing failed: U_PARSE_ERROR
104: Parsed: ; parse_pos : 22
105:
106: Input text : 12/18/69 8:49 AM ; DF = 3; TF = 1
107: Error : Date parsing failed: U_PARSE_ERROR
108: Parsed: ; parse_pos : 13
109:
110: Input text : 19691218 08:49 AM ; DF = 3; TF = 1
111: Error : Date parsing failed: U_PARSE_ERROR
112: Parsed: ; parse_pos : 8
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>