2008-07-07 22:51:04 +00:00
|
|
|
--TEST--
|
2012-03-28 11:59:51 +00:00
|
|
|
datefmt_parse_timestamp_code() with parse pos icu <= 4.2
|
2008-07-07 22:51:04 +00:00
|
|
|
--SKIPIF--
|
|
|
|
<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
|
2012-03-28 11:59:51 +00:00
|
|
|
<?php if(version_compare(INTL_ICU_VERSION, '4.3', '<') != 1) print 'skip'; ?>
|
2011-09-05 00:49:03 +00:00
|
|
|
--INI--
|
|
|
|
datetime.timezone="America/Los_Angeles"
|
|
|
|
--ENV--
|
|
|
|
TZ=America/Los_Angeles
|
2008-07-07 22:51:04 +00:00
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Test for the datefmt_parse_timestamp function with parse_pos
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
function ut_main()
|
|
|
|
{
|
|
|
|
$locale_arr = array (
|
|
|
|
'en_US_CA'
|
|
|
|
);
|
2011-09-05 00:49:03 +00:00
|
|
|
|
2008-07-07 22:51:04 +00:00
|
|
|
$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",
|
2011-09-05 00:49:03 +00:00
|
|
|
"12/18/69 8:49 AM",
|
|
|
|
"20111218 08:49 AM",
|
2008-07-07 22:51:04 +00:00
|
|
|
"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 )
|
|
|
|
{
|
2011-09-05 00:49:03 +00:00
|
|
|
$res_str .= "\ndatetype = $datetype_entry ,timetype =$datetype_entry";
|
2008-07-07 22:51:04 +00:00
|
|
|
$fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry);
|
2011-09-05 00:49:03 +00:00
|
|
|
$pos = 0;
|
|
|
|
$parsed = ut_datefmt_parse( $fmt , $text_entry, $pos);
|
2008-07-07 22:51:04 +00:00
|
|
|
if( intl_get_error_code() == U_ZERO_ERROR){
|
2011-09-05 00:49:03 +00:00
|
|
|
$res_str .= "\nParsed text is : $parsed; Position = $pos";
|
2008-07-07 22:51:04 +00:00
|
|
|
}else{
|
2011-09-05 00:49:03 +00:00
|
|
|
$res_str .= "\nError while parsing as: '".intl_get_error_message()."'; Position = $pos";
|
2008-07-07 22:51:04 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-09-05 00:49:03 +00:00
|
|
|
$res_str .= "\n";
|
2008-07-07 22:51:04 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
------------
|
2011-09-05 00:49:03 +00:00
|
|
|
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
|
2008-07-07 22:51:04 +00:00
|
|
|
------------
|
|
|
|
|
|
|
|
Input text is : Thursday, December 18, 1969 8:49:59 AM PST
|
|
|
|
------------
|
|
|
|
Locale is : en_US_CA
|
|
|
|
------------
|
2011-09-05 00:49:03 +00:00
|
|
|
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
|
2008-07-07 22:51:04 +00:00
|
|
|
------------
|
|
|
|
|
2011-09-05 00:49:03 +00:00
|
|
|
Input text is : 20111218 08:49 AM
|
2008-07-07 22:51:04 +00:00
|
|
|
------------
|
|
|
|
Locale is : en_US_CA
|
|
|
|
------------
|
2011-09-05 00:49:03 +00:00
|
|
|
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
|
2008-07-07 22:51:04 +00:00
|
|
|
------------
|
|
|
|
|
|
|
|
Input text is : 19691218 08:49 AM
|
|
|
|
------------
|
|
|
|
Locale is : en_US_CA
|
|
|
|
------------
|
2011-09-05 00:49:03 +00:00
|
|
|
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
|