diff options
Diffstat (limited to 'ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt')
-rw-r--r-- | ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt b/ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt new file mode 100644 index 0000000..0f26643 --- /dev/null +++ b/ext/intl/tests/dateformat_parse_timestamp_parsepos.phpt @@ -0,0 +1,157 @@ +--TEST-- +datefmt_parse_timestamp_code() with parse pos icu <= 4.2 +--SKIPIF-- +<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> +<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?> +--INI-- +datetime.timezone="America/Los_Angeles" +--ENV-- +TZ=America/Los_Angeles +--FILE-- +<?php + +/* + * Test for the datefmt_parse_timestamp function with parse_pos + */ + + +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, 3039 4:06:40 PM PT", + "Thursday, December 18, 1969 8:49:59 AM PST", + //"December 18, 1969 8:49:59 AM PST", + "12/18/69 8:49 AM", + "20111218 08:49 AM", + "19691218 08:49 AM" + ); + + foreach( $text_arr as $text_entry){ + $res_str .= "\n------------\n"; + $res_str .= "\nInput text is : $text_entry"; + $res_str .= "\n------------"; + + foreach( $locale_arr as $locale_entry ){ + $res_str .= "\nLocale is : $locale_entry"; + $res_str .= "\n------------"; + foreach( $datetype_arr as $datetype_entry ) + { + $res_str .= "\ndatetype = $datetype_entry ,timetype =$datetype_entry"; + $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry); + $pos = 0; + $parsed = ut_datefmt_parse( $fmt , $text_entry, $pos); + if( intl_get_error_code() == U_ZERO_ERROR){ + $res_str .= "\nParsed text is : $parsed; Position = $pos"; + }else{ + $res_str .= "\nError while parsing as: '".intl_get_error_message()."'; Position = $pos"; + } + } + } + } + $res_str .= "\n"; + + return $res_str; + +} + +include_once( 'ut_common.inc' ); + +// Run the test +ut_run(); +?> +--EXPECT-- +------------ + +Input text is : Sunday, September 18, 3039 4:06:40 PM PT +------------ +Locale is : en_US_CA +------------ +datetype = 0 ,timetype =0 +Parsed text is : 33756908800; Position = 40 +datetype = 1 ,timetype =1 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 2 ,timetype =2 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 3 ,timetype =3 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = -1 ,timetype =-1 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +------------ + +Input text is : Thursday, December 18, 1969 8:49:59 AM PST +------------ +Locale is : en_US_CA +------------ +datetype = 0 ,timetype =0 +Parsed text is : -1149001; Position = 42 +datetype = 1 ,timetype =1 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 2 ,timetype =2 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 3 ,timetype =3 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = -1 ,timetype =-1 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +------------ + +Input text is : 12/18/69 8:49 AM +------------ +Locale is : en_US_CA +------------ +datetype = 0 ,timetype =0 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 1 ,timetype =1 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 2 ,timetype =2 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 3 ,timetype =3 +Parsed text is : -1149060; Position = 16 +datetype = -1 ,timetype =-1 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +------------ + +Input text is : 20111218 08:49 AM +------------ +Locale is : en_US_CA +------------ +datetype = 0 ,timetype =0 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 1 ,timetype =1 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 2 ,timetype =2 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 3 ,timetype =3 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 8 +datetype = -1 ,timetype =-1 +Parsed text is : 1324226940; Position = 17 +------------ + +Input text is : 19691218 08:49 AM +------------ +Locale is : en_US_CA +------------ +datetype = 0 ,timetype =0 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 1 ,timetype =1 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 2 ,timetype =2 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 0 +datetype = 3 ,timetype =3 +Error while parsing as: 'Date parsing failed: U_PARSE_ERROR'; Position = 8 +datetype = -1 ,timetype =-1 +Parsed text is : -1149060; Position = 17 |