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

1.1       misho       1: --TEST--
                      2: msgfmt_format()
                      3: --SKIPIF--
                      4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
                      5: --FILE--
                      6: <?php
                      7: 
                      8: /*
                      9:  * Format a number using misc locales/patterns.
                     10:  */
                     11: 
                     12: 
                     13: function ut_main()
                     14: {
                     15:     $locales = array(
                     16:         'en_US' => "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
                     17:         'ru_UA' => "{0,number,integer} мавп на {1,number,integer} деревах це {2,number} мавпи на кожному деревi",
                     18:         'de' => "{0,number,integer} Affen über {1,number,integer} Bäume um {2,number} Affen pro Baum", 
                     19:         'en_UK' => "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree", 
                     20:        'root' => '{0,whatever} would not work!',
                     21:        'fr' => "C'est la vie!",
                     22:     );  
                     23: 
                     24:     $str_res = '';
                     25:        $m = 4560;
                     26:        $t = 123;
                     27:        
                     28:     foreach( $locales as $locale => $pattern )
                     29:     {
                     30:         $str_res .= "\nLocale is: $locale\n";
                     31:         $fmt = ut_msgfmt_create( $locale, $pattern );
                     32:                if(!$fmt) {
                     33:                        $str_res .= dump(intl_get_error_message())."\n";
                     34:                        continue;
                     35:                }
                     36:         $str_res .= dump( ut_msgfmt_format( $fmt, array($m, $t, $m/$t) ) ) . "\n";
                     37:                $str_res .= dump( ut_msgfmt_format_message($locale, $pattern, array($m, $t, $m/$t))) . "\n";
                     38:     }
                     39:     return $str_res;
                     40: }
                     41: 
                     42: include_once( 'ut_common.inc' );
                     43: 
                     44: // Run the test
                     45: ut_run();
                     46: 
                     47: ?>
                     48: --EXPECT--
                     49: Locale is: en_US
                     50: '4,560 monkeys on 123 trees make 37.073 monkeys per tree'
                     51: '4,560 monkeys on 123 trees make 37.073 monkeys per tree'
                     52: 
                     53: Locale is: ru_UA
                     54: '4 560 мавп на 123 деревах це 37,073 мавпи на кожному деревi'
                     55: '4 560 мавп на 123 деревах це 37,073 мавпи на кожному деревi'
                     56: 
                     57: Locale is: de
                     58: '4.560 Affen über 123 Bäume um 37,073 Affen pro Baum'
                     59: '4.560 Affen über 123 Bäume um 37,073 Affen pro Baum'
                     60: 
                     61: Locale is: en_UK
                     62: '4,560 monkeys on 123 trees make 37.073 monkeys per tree'
                     63: '4,560 monkeys on 123 trees make 37.073 monkeys per tree'
                     64: 
                     65: Locale is: root
                     66: 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
                     67: 
                     68: Locale is: fr
                     69: 'C\'est la vie!'
                     70: 'C\'est la vie!'

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