Annotation of embedaddon/php/ext/intl/tests/formatter_format3.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: numfmt_format() icu >= 52.1 && icu < 53.1
        !             3: --SKIPIF--
        !             4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
        !             5: <?php if(version_compare(INTL_ICU_VERSION, '52.1') < 0) print 'skip for ICU >= 52.1'; ?>
        !             6: <?php if (version_compare(INTL_ICU_VERSION, '53.1') >=  0) die('skip for ICU < 53.1'); ?>
        !             7: --FILE--
        !             8: <?php
        !             9: 
        !            10: /*
        !            11:  * Format a number using misc locales/patterns.
        !            12:  */
        !            13: 
        !            14: /*
        !            15:  * TODO: doesn't pass on ICU 3.6 because 'ru' and 'de' locales changed
        !            16:  * currency and percent formatting.
        !            17:  */
        !            18: 
        !            19: function ut_main()
        !            20: {
        !            21:     $styles = array(
        !            22:         NumberFormatter::PATTERN_DECIMAL => '##.#####################',
        !            23:         NumberFormatter::DECIMAL => '',
        !            24:         NumberFormatter::CURRENCY => '',
        !            25:         NumberFormatter::PERCENT => '',
        !            26:         NumberFormatter::SCIENTIFIC => '',
        !            27:         NumberFormatter::SPELLOUT => '@@@@@@@',
        !            28:         NumberFormatter::ORDINAL => '',
        !            29:         NumberFormatter::DURATION => '',
        !            30:         NumberFormatter::PATTERN_RULEBASED => '#####.###',
        !            31:         1234999, // bad one
        !            32:     );
        !            33: 
        !            34:    $integer = array(
        !            35:         NumberFormatter::ORDINAL => '',
        !            36:         NumberFormatter::DURATION => '',
        !            37:    );
        !            38:     $locales = array(
        !            39:         'en_US',
        !            40:         'ru_UA',
        !            41:         'de',
        !            42:         'fr',
        !            43:         'en_UK'
        !            44:     );
        !            45: 
        !            46:     $str_res = '';
        !            47:     $number = 1234567.891234567890000;
        !            48: 
        !            49:     foreach( $locales as $locale )
        !            50:     {
        !            51:         $str_res .= "\nLocale is: $locale\n";
        !            52:         foreach( $styles as $style => $pattern )
        !            53:         {
        !            54:             $fmt = ut_nfmt_create( $locale, $style, $pattern );
        !            55: 
        !            56:                        if(!$fmt) {
        !            57:                                $str_res .= "Bad formatter!\n";
        !            58:                                continue;
        !            59:                        }
        !            60:             $str_res .= dump( isset($integer[$style])?ut_nfmt_format( $fmt, $number, NumberFormatter::TYPE_INT32):ut_nfmt_format( $fmt, $number ) ) . "\n";
        !            61:         }
        !            62:     }
        !            63:     return $str_res;
        !            64: }
        !            65: 
        !            66: include_once( 'ut_common.inc' );
        !            67: 
        !            68: // Run the test
        !            69: ut_run();
        !            70: 
        !            71: ?>
        !            72: --EXPECTREGEX--
        !            73: Locale is: en_US
        !            74: '1234567.89123457'
        !            75: '1,234,567.891'
        !            76: '\$1,234,567.89'
        !            77: '123,456,789%'
        !            78: '1.23456789123457E6'
        !            79: 'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven'
        !            80: '1,234,567(th|ᵗʰ)'
        !            81: '342:56:07'
        !            82: '#####.###'
        !            83: Bad formatter!
        !            84: 
        !            85: Locale is: ru_UA
        !            86: '1234567,89123457'
        !            87: '1 234 567,891'
        !            88: '1 234 567,89 ?(грн\.|₴)'
        !            89: '123 456 789 ?%'
        !            90: '1,23456789123457E6'
        !            91: 'один миллион двести тридцать четыре тысяч пятьсот шестьдесят семь запятая восемь девять один два три четыре пять семь'
        !            92: '1 234 567.?'
        !            93: '1 234 567'
        !            94: '#####.###'
        !            95: Bad formatter!
        !            96: 
        !            97: Locale is: de
        !            98: '1234567,89123457'
        !            99: '1.234.567,891'
        !           100: '(¤ )?1.234.567,89( ¤)?'
        !           101: '123\.456\.789 %'
        !           102: '1,23456789123457E6'
        !           103: 'eine Million zwei­hundert­vier­und­dreißig­tausend­fünf­hundert­sieben­und­sechzig Komma acht neun eins zwei drei vier fünf sieben'
        !           104: '1.234.567.?'
        !           105: '1.234.567'
        !           106: '#####.###'
        !           107: Bad formatter!
        !           108: 
        !           109: Locale is: fr
        !           110: '1234567,89123457'
        !           111: '1 234 567,891'
        !           112: '1 234 567,89 ¤'
        !           113: '123 456 789 ?%'
        !           114: '1,23456789123457E6'
        !           115: 'un million deux cent trente-quatre mille cinq cent soixante-sept virgule huit neuf un deux trois quatre cinq sept'
        !           116: '1 234 567e'
        !           117: '1 234 567'
        !           118: '#####.###'
        !           119: Bad formatter!
        !           120: 
        !           121: Locale is: en_UK
        !           122: '1234567.89123457'
        !           123: '1,234,567.891'
        !           124: '¤1,234,567.89'
        !           125: '123,456,789%'
        !           126: '1.23456789123457E6'
        !           127: 'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five seven'
        !           128: '1,234,567(th|ᵗʰ)'
        !           129: '342:56:07'
        !           130: '#####.###'
        !           131: Bad formatter!

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