Annotation of embedaddon/php/ext/intl/tests/msgfmt_parse.phpt, revision 1.1.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>