summaryrefslogtreecommitdiff
path: root/ext/intl/tests/dateformat_parse.phpt
blob: b3be895e5950fcfafb6fb6f5bbc794e61ef31a29 (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
--TEST--
datefmt_parse_code()
--SKIPIF--
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
--FILE--
<?php

/*
 * Test for the datefmt_parse  function
 */


function ut_main()
{
	$locale_arr = array (
		'en_US_CA'
	);
	
	$datetype_arr = array (
                IntlDateFormatter::FULL,
                IntlDateFormatter::LONG,
                IntlDateFormatter::MEDIUM,
                IntlDateFormatter::SHORT,
                IntlDateFormatter::NONE
        );

        $res_str = '';


	$text_arr = array (
		"Sunday, September 18, 2039 4:06:40 PM PT",
		"Wednesday, December 17, 1969 6:40:00 PM PT",
		"Thursday, December 18, 1969 8:49:59 AM PST",
		"Thursday, December 18, 1969 8:49:59 PM PST",
		"December 18, 1969 8:49:59 AM PST",
		"12/18/69 8:49 AM",
		"19691218 08:49 AM"
	);

	$parse_pos = 0;
				$fmt = ut_datefmt_create( 'en_US_CA', IntlDateFormatter::NONE, IntlDateFormatter::SHORT);
	foreach( $text_arr as $text_entry){
		for ( $parse_pos = 0 ; $parse_pos< strlen($text_entry) ; $parse_pos++ ){
				$i = $parse_pos;
				$parsed = ut_datefmt_parse( $fmt , $text_entry , $parse_pos );
				if( intl_get_error_code() == U_ZERO_ERROR){
					$res_str .= "\nInput text :$text_entry ; Parsed text : $parsed";
					$res_str .= " ; parse_pos : $i $parse_pos";
				} else {
					$parse_pos = $i;
				}
/*
				else{
					$res_str .= "\nError while parsing as: '".intl_get_error_message()."'";
				}
*/
		}
	}


	return $res_str;

}

include_once( 'ut_common.inc' );

// Run the test
ut_run();
?>
--EXPECT--
Input text :Sunday, September 18, 2039 4:06:40 PM PT ; Parsed text : 96000 ; parse_pos : 29 37
Input text :Wednesday, December 17, 1969 6:40:00 PM PT ; Parsed text : 216000 ; parse_pos : 31 39
Input text :Thursday, December 18, 1969 8:49:59 AM PST ; Parsed text : 208740 ; parse_pos : 30 38
Input text :Thursday, December 18, 1969 8:49:59 PM PST ; Parsed text : 251940 ; parse_pos : 30 38
Input text :December 18, 1969 8:49:59 AM PST ; Parsed text : 208740 ; parse_pos : 20 28
Input text :12/18/69 8:49 AM ; Parsed text : 60540 ; parse_pos : 8 16
Input text :19691218 08:49 AM ; Parsed text : 60540 ; parse_pos : 8 17