Annotation of embedaddon/php/ext/intl/tests/dateformat_parse.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: datefmt_parse_code()
                      3: --SKIPIF--
                      4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
                      5: --INI--
                      6: date.timezone="America/Los_Angeles"
                      7: --FILE--
                      8: <?php
                      9: 
                     10: /*
                     11:  * Test for the datefmt_parse  function
                     12:  */
                     13: 
                     14: putenv('TZ=America/Los_Angeles');
                     15: 
                     16: function ut_main()
                     17: {
                     18:        $locale_arr = array (
                     19:                'en_US_CA'
                     20:        );
                     21: 
                     22:        $datetype_arr = array (
                     23:                 IntlDateFormatter::FULL,
                     24:                 IntlDateFormatter::LONG,
                     25:                 IntlDateFormatter::MEDIUM,
                     26:                 IntlDateFormatter::SHORT,
                     27:                 IntlDateFormatter::NONE
                     28:         );
                     29: 
                     30:         $res_str = '';
                     31: 
                     32: 
                     33:        $text_arr = array (
                     34:                // Full parsing
                     35:                array("Sunday, September 18, 2039 4:06:40 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::FULL),
                     36:                array("Wednesday, December 17, 1969 6:40:00 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::FULL),
                     37:                array("Thursday, December 18, 1969 8:49:59 PM PST", IntlDateFormatter::FULL, IntlDateFormatter::FULL),
                     38:                array("December 18, 1969 8:49:59 AM PST", IntlDateFormatter::LONG, IntlDateFormatter::FULL),
                     39:                array("12/18/69 8:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::SHORT),
                     40:                array("19691218 08:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::SHORT),
                     41:                // Partial parsing
                     42:                array("Sunday, September 18, 2039 4:06:40 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::NONE),
                     43:                array("Sunday, September 18, 2039 4:06:40 PM PT", IntlDateFormatter::FULL, IntlDateFormatter::SHORT),
                     44:                array("December 18, 1969 8:49:59 AM PST", IntlDateFormatter::LONG, IntlDateFormatter::NONE),
                     45:                array("December 18, 1969 8:49:59 AM PST", IntlDateFormatter::LONG, IntlDateFormatter::SHORT),
                     46:                array("12/18/69 8:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::LONG),
                     47:                array("19691218 08:49 AM", IntlDateFormatter::SHORT, IntlDateFormatter::LONG),
                     48:        );
                     49: 
                     50:        foreach( $text_arr as $text_entry){
                     51:                $fmt = ut_datefmt_create( 'en_US_CA', $text_entry[1], $text_entry[2]);
                     52:                $parse_pos = 0;
                     53:                $parsed = ut_datefmt_parse( $fmt , $text_entry[0] , $parse_pos );
                     54: 
                     55:                $res_str .= "\nInput text : {$text_entry[0]} ; DF = {$text_entry[1]}; TF = {$text_entry[2]}";
                     56:                if( intl_get_error_code() != U_ZERO_ERROR) {
                     57:                        $res_str .= "\nError : ".intl_get_error_message();
                     58:                }
                     59:                $res_str .= "\nParsed: $parsed; parse_pos : $parse_pos\n";
                     60:        }
                     61: 
                     62:        return $res_str;
                     63: 
                     64: }
                     65: 
                     66: include_once( 'ut_common.inc' );
                     67: 
                     68: // Run the test
                     69: ut_run();
                     70: ?>
                     71: --EXPECT--
                     72: 
                     73: Input text : Sunday, September 18, 2039 4:06:40 PM PT ; DF = 0; TF = 0
                     74: Parsed: 2200000000; parse_pos : 40
                     75: 
                     76: Input text : Wednesday, December 17, 1969 6:40:00 PM PT ; DF = 0; TF = 0
                     77: Parsed: -1200000; parse_pos : 42
                     78: 
                     79: Input text : Thursday, December 18, 1969 8:49:59 PM PST ; DF = 0; TF = 0
                     80: Parsed: -1105801; parse_pos : 42
                     81: 
                     82: Input text : December 18, 1969 8:49:59 AM PST ; DF = 1; TF = 0
                     83: Parsed: -1149001; parse_pos : 32
                     84: 
                     85: Input text : 12/18/69 8:49 AM ; DF = 3; TF = 3
                     86: Parsed: -1149060; parse_pos : 16
                     87: 
                     88: Input text : 19691218 08:49 AM ; DF = 3; TF = 3
                     89: Error : Date parsing failed: U_PARSE_ERROR
                     90: Parsed: ; parse_pos : 8
                     91: 
                     92: Input text : Sunday, September 18, 2039 4:06:40 PM PT ; DF = 0; TF = -1
                     93: Parsed: 2199942000; parse_pos : 26
                     94: 
                     95: Input text : Sunday, September 18, 2039 4:06:40 PM PT ; DF = 0; TF = 3
                     96: Error : Date parsing failed: U_PARSE_ERROR
                     97: Parsed: ; parse_pos : 31
                     98: 
                     99: Input text : December 18, 1969 8:49:59 AM PST ; DF = 1; TF = -1
                    100: Parsed: -1180800; parse_pos : 17
                    101: 
                    102: Input text : December 18, 1969 8:49:59 AM PST ; DF = 1; TF = 3
                    103: Error : Date parsing failed: U_PARSE_ERROR
                    104: Parsed: ; parse_pos : 22
                    105: 
                    106: Input text : 12/18/69 8:49 AM ; DF = 3; TF = 1
                    107: Error : Date parsing failed: U_PARSE_ERROR
                    108: Parsed: ; parse_pos : 13
                    109: 
                    110: Input text : 19691218 08:49 AM ; DF = 3; TF = 1
                    111: Error : Date parsing failed: U_PARSE_ERROR
                    112: Parsed: ; parse_pos : 8

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>