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 zweihundertvierunddreißigtausendfünfhundertsiebenundsechzig 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>