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

1.1     ! misho       1: --TEST--
        !             2: msgfmt_parse() tests
        !             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 {0,number,integer}',
        !            22:     );
        !            23:        
        !            24:        $results = array(
        !            25:                'en_US' => "4,560 monkeys on 123 trees make 37.073 monkeys per tree",
        !            26:                'ru_UA' => "4 560 мавп на 123 деревах це 37,073 мавпи на кожному деревi",
        !            27:                'de' => "4.560 Affen über 123 Bäume um 37,073 Affen pro Baum",
        !            28:                'en_UK' => "4,560 monkeys on 123 trees make 37.073 monkeys per tree",
        !            29:                'root' => "4,560 monkeys on 123 trees make 37.073 monkeys per tree",
        !            30:                'fr' => "C'est 42",
        !            31:                
        !            32:        );
        !            33: 
        !            34:        $str_res = '';
        !            35:        
        !            36:     foreach( $locales as $locale => $pattern )
        !            37:     {
        !            38:         $str_res .= "\nLocale is: $locale\n";
        !            39:         $fmt = ut_msgfmt_create( $locale, $pattern );
        !            40:                if(!$fmt) {
        !            41:                        $str_res .= dump(intl_get_error_message())."\n";
        !            42:                        continue;
        !            43:                }
        !            44:         $str_res .= dump( ut_msgfmt_parse( $fmt, $results[$locale] ) ) . "\n";
        !            45:                $str_res .= dump( ut_msgfmt_parse_message($locale, $pattern, $results[$locale])) . "\n";
        !            46:     }
        !            47:     return $str_res;
        !            48: }
        !            49: 
        !            50: include_once( 'ut_common.inc' );
        !            51: 
        !            52: // Run the test
        !            53: ut_run();
        !            54: 
        !            55: ?>
        !            56: --EXPECT--
        !            57: Locale is: en_US
        !            58: array (
        !            59:   0 => 4560,
        !            60:   1 => 123,
        !            61:   2 => 37.073,
        !            62: )
        !            63: array (
        !            64:   0 => 4560,
        !            65:   1 => 123,
        !            66:   2 => 37.073,
        !            67: )
        !            68: 
        !            69: Locale is: ru_UA
        !            70: array (
        !            71:   0 => 4560,
        !            72:   1 => 123,
        !            73:   2 => 37.073,
        !            74: )
        !            75: array (
        !            76:   0 => 4560,
        !            77:   1 => 123,
        !            78:   2 => 37.073,
        !            79: )
        !            80: 
        !            81: Locale is: de
        !            82: array (
        !            83:   0 => 4560,
        !            84:   1 => 123,
        !            85:   2 => 37.073,
        !            86: )
        !            87: array (
        !            88:   0 => 4560,
        !            89:   1 => 123,
        !            90:   2 => 37.073,
        !            91: )
        !            92: 
        !            93: Locale is: en_UK
        !            94: array (
        !            95:   0 => 4560,
        !            96:   1 => 123,
        !            97:   2 => 37.073,
        !            98: )
        !            99: array (
        !           100:   0 => 4560,
        !           101:   1 => 123,
        !           102:   2 => 37.073,
        !           103: )
        !           104: 
        !           105: Locale is: root
        !           106: 'msgfmt_create: message formatter creation failed: U_ILLEGAL_ARGUMENT_ERROR'
        !           107: 
        !           108: Locale is: fr
        !           109: array (
        !           110:   0 => 42,
        !           111: )
        !           112: array (
        !           113:   0 => 42,
        !           114: )

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