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

1.1       misho       1: --TEST--
                      2: datefmt_format_code()
                      3: --SKIPIF--
                      4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
                      5: --FILE--
                      6: <?php
                      7: 
                      8: /*
                      9:  * Test for the datefmt_format  function
                     10:  */
                     11: 
                     12: 
                     13: function ut_main()
                     14: {
                     15:        $timezone = 'GMT-10';
                     16: 
                     17:        $locale_arr = array (
                     18:                'en_US'
                     19:        );
                     20:        
                     21:        $datetype_arr = array (
                     22:                 IntlDateFormatter::FULL,
                     23:                 IntlDateFormatter::LONG,
                     24:                 IntlDateFormatter::MEDIUM,
                     25:                 IntlDateFormatter::SHORT,
                     26:                 IntlDateFormatter::NONE
                     27:         );
                     28: 
                     29:         $res_str = '';
                     30: 
                     31: 
                     32:        $time_arr = array (
                     33:                0,
                     34:                -1200000,
                     35:                1200000,
                     36:                2200000000.0,
                     37:                -2200000000.0,
                     38:                90099999,
                     39:                3600,
                     40:                -3600
                     41:        );
                     42: 
                     43:        $localtime_arr1 = array (
                     44:            'tm_sec' => 24 ,
                     45:            'tm_min' => 3,
                     46:            'tm_hour' => 19,
                     47:            'tm_mday' => 3,
                     48:            'tm_mon' => 3,
                     49:            'tm_year' => 105,
                     50:        );
                     51:        $localtime_arr2 = array (
                     52:            'tm_sec' => 21,
                     53:            'tm_min' => 5,
                     54:            'tm_hour' => 7,
                     55:            'tm_mday' => 13,
                     56:            'tm_mon' => 4,
                     57:            'tm_year' => 205,
                     58:        );
                     59:        $localtime_arr3 = array (
                     60:             'tm_sec' => 11,
                     61:             'tm_min' => 13,
                     62:             'tm_hour' => 0,
                     63:             'tm_mday' => 17,
                     64:             'tm_mon' => 11,
                     65:             'tm_year' => -5
                     66:         );
                     67: 
                     68:        $localtime_arr = array (
                     69:                $localtime_arr1,
                     70:                $localtime_arr2,
                     71:                $localtime_arr3
                     72:        );
                     73:        
                     74:        $d1 = new DateTime("2010-01-01 01:02:03", new DateTimeZone("UTC"));
                     75:        $d2 = new DateTime("2000-12-31 03:04:05", new DateTimeZone("UTC"));
                     76:        $d2->setTimezone(new DateTimeZone("PDT"));
                     77:        $dates = array(
                     78:                $d1, 
                     79:                $d2,
                     80:                new StdClass(),
                     81:        );
                     82: 
                     83:        //Test format with input as a timestamp : integer
                     84:        foreach( $time_arr as $timestamp_entry){
                     85:                $res_str .= "\n------------\n";
                     86:                $res_str .= "\nInput timestamp is : $timestamp_entry";
                     87:                $res_str .= "\n------------\n";
                     88:                foreach( $locale_arr as $locale_entry ){
                     89:                        foreach( $datetype_arr as $datetype_entry )
                     90:        {
                     91:                $res_str .= "\nIntlDateFormatter locale= $locale_entry ,datetype = $datetype_entry ,timetype =$datetype_entry ";
                     92:                $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry, $timezone, IntlDateFormatter::GREGORIAN);
                     93:                $formatted = ut_datefmt_format( $fmt , $timestamp_entry);
                     94:                $res_str .= "\nFormatted timestamp is : $formatted";
                     95:        }
                     96:        }
                     97:        }
                     98: 
                     99:        //Test format with input as a localtime :array
                    100:        foreach( $localtime_arr as $localtime_entry){
                    101:                $res_str .= "\n------------\n";
                    102:                $res_str .= "\nInput localtime is : ";
                    103:                foreach( $localtime_entry as $key => $value){
                    104:                     $res_str .= "$key : '$value' , ";
                    105:                }
                    106: 
                    107:                $res_str .= "\n------------\n";
                    108:                foreach( $locale_arr as $locale_entry ){
                    109:                        foreach( $datetype_arr as $datetype_entry )
                    110:        {
                    111:                $res_str .= "\nIntlDateFormatter locale= $locale_entry ,datetype = $datetype_entry ,timetype =$datetype_entry ";
                    112:                $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry, $timezone, IntlDateFormatter::GREGORIAN );
                    113:                $formatted1 = ut_datefmt_format( $fmt , $localtime_entry);
                    114:                if( intl_get_error_code() == U_ZERO_ERROR){
                    115:                        $res_str .= "\nFormatted localtime_array is : $formatted1";
                    116:                }else{
                    117:                        $res_str .= "\nError while formatting as: '".intl_get_error_message()."'";
                    118:                }
                    119:        }
                    120:        }
                    121:        }
                    122: 
                    123:        foreach($dates as $date_entry) {
                    124:                foreach( $locale_arr as $locale_entry ){
                    125:                        foreach( $datetype_arr as $datetype_entry ) {
                    126:                                $res_str .= "\n------------";
                    127:                                $res_str .= "\nDate is: ".var_export($date_entry, true);
                    128:                                $res_str .= "\n------------";
                    129:                                
                    130:                                $fmt = ut_datefmt_create( $locale_entry , $datetype_entry ,$datetype_entry, $timezone, IntlDateFormatter::GREGORIAN );
                    131:                                $formatted1 = ut_datefmt_format( $fmt , $date_entry);
                    132:                                if( intl_get_error_code() == U_ZERO_ERROR){
                    133:                                        $res_str .= "\nFormatted DateTime is : $formatted1";
                    134:                                }else{
                    135:                                        $res_str .= "\nError while formatting as: '".intl_get_error_message()."'";
                    136:                                }
                    137:                        }
                    138:                }
                    139:        }
                    140: 
                    141:        return $res_str;
                    142: 
                    143: }
                    144: 
                    145: include_once( 'ut_common.inc' );
                    146: 
                    147: // Run the test
                    148: ut_run();
                    149: ?>
                    150: --EXPECT--
                    151: ------------
                    152: 
                    153: Input timestamp is : 0
                    154: ------------
                    155: 
                    156: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    157: Formatted timestamp is : Wednesday, December 31, 1969 2:00:00 PM GMT-10:00
                    158: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    159: Formatted timestamp is : December 31, 1969 2:00:00 PM GMT-10:00
                    160: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    161: Formatted timestamp is : Dec 31, 1969 2:00:00 PM
                    162: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    163: Formatted timestamp is : 12/31/69 2:00 PM
                    164: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    165: Formatted timestamp is : 19691231 02:00 PM
                    166: ------------
                    167: 
                    168: Input timestamp is : -1200000
                    169: ------------
                    170: 
                    171: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    172: Formatted timestamp is : Wednesday, December 17, 1969 4:40:00 PM GMT-10:00
                    173: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    174: Formatted timestamp is : December 17, 1969 4:40:00 PM GMT-10:00
                    175: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    176: Formatted timestamp is : Dec 17, 1969 4:40:00 PM
                    177: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    178: Formatted timestamp is : 12/17/69 4:40 PM
                    179: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    180: Formatted timestamp is : 19691217 04:40 PM
                    181: ------------
                    182: 
                    183: Input timestamp is : 1200000
                    184: ------------
                    185: 
                    186: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    187: Formatted timestamp is : Wednesday, January 14, 1970 11:20:00 AM GMT-10:00
                    188: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    189: Formatted timestamp is : January 14, 1970 11:20:00 AM GMT-10:00
                    190: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    191: Formatted timestamp is : Jan 14, 1970 11:20:00 AM
                    192: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    193: Formatted timestamp is : 1/14/70 11:20 AM
                    194: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    195: Formatted timestamp is : 19700114 11:20 AM
                    196: ------------
                    197: 
                    198: Input timestamp is : 2200000000
                    199: ------------
                    200: 
                    201: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    202: Formatted timestamp is : Sunday, September 18, 2039 1:06:40 PM GMT-10:00
                    203: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    204: Formatted timestamp is : September 18, 2039 1:06:40 PM GMT-10:00
                    205: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    206: Formatted timestamp is : Sep 18, 2039 1:06:40 PM
                    207: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    208: Formatted timestamp is : 9/18/39 1:06 PM
                    209: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    210: Formatted timestamp is : 20390918 01:06 PM
                    211: ------------
                    212: 
                    213: Input timestamp is : -2200000000
                    214: ------------
                    215: 
                    216: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    217: Formatted timestamp is : Saturday, April 14, 1900 2:53:20 PM GMT-10:00
                    218: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    219: Formatted timestamp is : April 14, 1900 2:53:20 PM GMT-10:00
                    220: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    221: Formatted timestamp is : Apr 14, 1900 2:53:20 PM
                    222: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    223: Formatted timestamp is : 4/14/00 2:53 PM
                    224: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    225: Formatted timestamp is : 19000414 02:53 PM
                    226: ------------
                    227: 
                    228: Input timestamp is : 90099999
                    229: ------------
                    230: 
                    231: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    232: Formatted timestamp is : Wednesday, November 8, 1972 9:46:39 AM GMT-10:00
                    233: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    234: Formatted timestamp is : November 8, 1972 9:46:39 AM GMT-10:00
                    235: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    236: Formatted timestamp is : Nov 8, 1972 9:46:39 AM
                    237: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    238: Formatted timestamp is : 11/8/72 9:46 AM
                    239: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    240: Formatted timestamp is : 19721108 09:46 AM
                    241: ------------
                    242: 
                    243: Input timestamp is : 3600
                    244: ------------
                    245: 
                    246: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    247: Formatted timestamp is : Wednesday, December 31, 1969 3:00:00 PM GMT-10:00
                    248: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    249: Formatted timestamp is : December 31, 1969 3:00:00 PM GMT-10:00
                    250: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    251: Formatted timestamp is : Dec 31, 1969 3:00:00 PM
                    252: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    253: Formatted timestamp is : 12/31/69 3:00 PM
                    254: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    255: Formatted timestamp is : 19691231 03:00 PM
                    256: ------------
                    257: 
                    258: Input timestamp is : -3600
                    259: ------------
                    260: 
                    261: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    262: Formatted timestamp is : Wednesday, December 31, 1969 1:00:00 PM GMT-10:00
                    263: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    264: Formatted timestamp is : December 31, 1969 1:00:00 PM GMT-10:00
                    265: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    266: Formatted timestamp is : Dec 31, 1969 1:00:00 PM
                    267: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    268: Formatted timestamp is : 12/31/69 1:00 PM
                    269: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    270: Formatted timestamp is : 19691231 01:00 PM
                    271: ------------
                    272: 
                    273: Input localtime is : tm_sec : '24' , tm_min : '3' , tm_hour : '19' , tm_mday : '3' , tm_mon : '3' , tm_year : '105' , 
                    274: ------------
                    275: 
                    276: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    277: Formatted localtime_array is : Sunday, April 3, 2005 7:03:24 PM GMT-10:00
                    278: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    279: Formatted localtime_array is : April 3, 2005 7:03:24 PM GMT-10:00
                    280: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    281: Formatted localtime_array is : Apr 3, 2005 7:03:24 PM
                    282: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    283: Formatted localtime_array is : 4/3/05 7:03 PM
                    284: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    285: Formatted localtime_array is : 20050403 07:03 PM
                    286: ------------
                    287: 
                    288: Input localtime is : tm_sec : '21' , tm_min : '5' , tm_hour : '7' , tm_mday : '13' , tm_mon : '4' , tm_year : '205' , 
                    289: ------------
                    290: 
                    291: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    292: Formatted localtime_array is : Wednesday, May 13, 2105 7:05:21 AM GMT-10:00
                    293: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    294: Formatted localtime_array is : May 13, 2105 7:05:21 AM GMT-10:00
                    295: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    296: Formatted localtime_array is : May 13, 2105 7:05:21 AM
                    297: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    298: Formatted localtime_array is : 5/13/05 7:05 AM
                    299: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    300: Formatted localtime_array is : 21050513 07:05 AM
                    301: ------------
                    302: 
                    303: Input localtime is : tm_sec : '11' , tm_min : '13' , tm_hour : '0' , tm_mday : '17' , tm_mon : '11' , tm_year : '-5' , 
                    304: ------------
                    305: 
                    306: IntlDateFormatter locale= en_US ,datetype = 0 ,timetype =0 
                    307: Formatted localtime_array is : Tuesday, December 17, 1895 12:13:11 AM GMT-10:00
                    308: IntlDateFormatter locale= en_US ,datetype = 1 ,timetype =1 
                    309: Formatted localtime_array is : December 17, 1895 12:13:11 AM GMT-10:00
                    310: IntlDateFormatter locale= en_US ,datetype = 2 ,timetype =2 
                    311: Formatted localtime_array is : Dec 17, 1895 12:13:11 AM
                    312: IntlDateFormatter locale= en_US ,datetype = 3 ,timetype =3 
                    313: Formatted localtime_array is : 12/17/95 12:13 AM
                    314: IntlDateFormatter locale= en_US ,datetype = -1 ,timetype =-1 
                    315: Formatted localtime_array is : 18951217 12:13 AM
                    316: ------------
                    317: Date is: DateTime::__set_state(array(
                    318:    'date' => '2010-01-01 01:02:03',
                    319:    'timezone_type' => 3,
                    320:    'timezone' => 'UTC',
                    321: ))
                    322: ------------
                    323: Formatted DateTime is : Thursday, December 31, 2009 3:02:03 PM GMT-10:00
                    324: ------------
                    325: Date is: DateTime::__set_state(array(
                    326:    'date' => '2010-01-01 01:02:03',
                    327:    'timezone_type' => 3,
                    328:    'timezone' => 'UTC',
                    329: ))
                    330: ------------
                    331: Formatted DateTime is : December 31, 2009 3:02:03 PM GMT-10:00
                    332: ------------
                    333: Date is: DateTime::__set_state(array(
                    334:    'date' => '2010-01-01 01:02:03',
                    335:    'timezone_type' => 3,
                    336:    'timezone' => 'UTC',
                    337: ))
                    338: ------------
                    339: Formatted DateTime is : Dec 31, 2009 3:02:03 PM
                    340: ------------
                    341: Date is: DateTime::__set_state(array(
                    342:    'date' => '2010-01-01 01:02:03',
                    343:    'timezone_type' => 3,
                    344:    'timezone' => 'UTC',
                    345: ))
                    346: ------------
                    347: Formatted DateTime is : 12/31/09 3:02 PM
                    348: ------------
                    349: Date is: DateTime::__set_state(array(
                    350:    'date' => '2010-01-01 01:02:03',
                    351:    'timezone_type' => 3,
                    352:    'timezone' => 'UTC',
                    353: ))
                    354: ------------
                    355: Formatted DateTime is : 20091231 03:02 PM
                    356: ------------
                    357: Date is: DateTime::__set_state(array(
                    358:    'date' => '2000-12-30 19:04:05',
                    359:    'timezone_type' => 3,
                    360:    'timezone' => 'America/Los_Angeles',
                    361: ))
                    362: ------------
                    363: Formatted DateTime is : Saturday, December 30, 2000 5:04:05 PM GMT-10:00
                    364: ------------
                    365: Date is: DateTime::__set_state(array(
                    366:    'date' => '2000-12-30 19:04:05',
                    367:    'timezone_type' => 3,
                    368:    'timezone' => 'America/Los_Angeles',
                    369: ))
                    370: ------------
                    371: Formatted DateTime is : December 30, 2000 5:04:05 PM GMT-10:00
                    372: ------------
                    373: Date is: DateTime::__set_state(array(
                    374:    'date' => '2000-12-30 19:04:05',
                    375:    'timezone_type' => 3,
                    376:    'timezone' => 'America/Los_Angeles',
                    377: ))
                    378: ------------
                    379: Formatted DateTime is : Dec 30, 2000 5:04:05 PM
                    380: ------------
                    381: Date is: DateTime::__set_state(array(
                    382:    'date' => '2000-12-30 19:04:05',
                    383:    'timezone_type' => 3,
                    384:    'timezone' => 'America/Los_Angeles',
                    385: ))
                    386: ------------
                    387: Formatted DateTime is : 12/30/00 5:04 PM
                    388: ------------
                    389: Date is: DateTime::__set_state(array(
                    390:    'date' => '2000-12-30 19:04:05',
                    391:    'timezone_type' => 3,
                    392:    'timezone' => 'America/Los_Angeles',
                    393: ))
                    394: ------------
                    395: Formatted DateTime is : 20001230 05:04 PM
                    396: ------------
                    397: Date is: stdClass::__set_state(array(
                    398: ))
                    399: ------------
                    400: Error while formatting as: 'datefmt_format: object must be an instance of DateTime: U_ILLEGAL_ARGUMENT_ERROR'
                    401: ------------
                    402: Date is: stdClass::__set_state(array(
                    403: ))
                    404: ------------
                    405: Error while formatting as: 'datefmt_format: object must be an instance of DateTime: U_ILLEGAL_ARGUMENT_ERROR'
                    406: ------------
                    407: Date is: stdClass::__set_state(array(
                    408: ))
                    409: ------------
                    410: Error while formatting as: 'datefmt_format: object must be an instance of DateTime: U_ILLEGAL_ARGUMENT_ERROR'
                    411: ------------
                    412: Date is: stdClass::__set_state(array(
                    413: ))
                    414: ------------
                    415: Error while formatting as: 'datefmt_format: object must be an instance of DateTime: U_ILLEGAL_ARGUMENT_ERROR'
                    416: ------------
                    417: Date is: stdClass::__set_state(array(
                    418: ))
                    419: ------------
                    420: Error while formatting as: 'datefmt_format: object must be an instance of DateTime: U_ILLEGAL_ARGUMENT_ERROR'

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