Annotation of embedaddon/php/ext/intl/tests/dateformat_parse.phpt, revision 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>