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>