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
|