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