diff --git a/ext/intl/tests/formatter_format6.phpt b/ext/intl/tests/formatter_format6.phpt index 80894c332ba..70703785c14 100644 --- a/ext/intl/tests/formatter_format6.phpt +++ b/ext/intl/tests/formatter_format6.phpt @@ -1,7 +1,8 @@ --TEST-- -numfmt_format() icu >= 56.1 +numfmt_format() icu >= 56.1 && icu < 61.1 --SKIPIF-- += 0) die('skip for ICU < 61.1'); ?> = 56.1'); ?> --FILE-- = 61.1 +--SKIPIF-- + += 61.1'); ?> +--FILE-- + '##.#####################', + NumberFormatter::DECIMAL => '', + NumberFormatter::CURRENCY => '', + NumberFormatter::PERCENT => '', + NumberFormatter::SCIENTIFIC => '', + NumberFormatter::SPELLOUT => '@@@@@@@', + NumberFormatter::ORDINAL => '', + NumberFormatter::DURATION => '', + NumberFormatter::PATTERN_RULEBASED => '#####.###', + 1234999, // bad one + ); + + $integer = array( + NumberFormatter::ORDINAL => '', + NumberFormatter::DURATION => '', + ); + $locales = array( + 'en_US', + 'ru_UA', + 'de', + 'fr', + 'en_UK' + ); + + $str_res = ''; + $number = 1234567.891234567890000; + + foreach( $locales as $locale ) + { + $str_res .= "\nLocale is: $locale\n"; + foreach( $styles as $style => $pattern ) + { + $fmt = ut_nfmt_create( $locale, $style, $pattern ); + + if(!$fmt) { + $str_res .= "Bad formatter!\n"; + continue; + } + $str_res .= dump( isset($integer[$style])?ut_nfmt_format( $fmt, $number, NumberFormatter::TYPE_INT32):ut_nfmt_format( $fmt, $number ) ) . "\n"; + } + } + return $str_res; +} + +include_once( 'ut_common.inc' ); + +// Run the test +ut_run(); + +?> +--EXPECTREGEX-- +Locale is: en_US +'1234567.8912345\d+' +'1,234,567.891' +'\$1,234,567.89' +'123,456,789%' +'1.2345678912345\d+E6' +'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five( six)? seven( nine)?' +'1,234,567(th|ᵗʰ)' +'342:56:07' +'#####.###' +'USD1,234,567.89' + +Locale is: ru_UA +'1234567.8912345\d+' +'1 234 567,891' +'1 234 567,89 ?(грн\.|₴)' +'123 456 789 ?%' +'1.2345678912345\d+E6' +'один миллион двести тридцать четыре тысячи пятьсот шестьдесят семь целых восемьдесят девять миллионов сто двадцать три тысячи четыреста пятьдесят семь стомиллионных' +'1 234 567.?' +'1 234 567' +'#####.###' +'1 234 567,89 UAH' + +Locale is: de +'1234567.8912345\d+' +'1.234.567,891' +'(¤ )?1.234.567,89( ¤)?' +'123\.456\.789 %' +'1.2345678912345\d+E6' +'eine Million zwei­hundert­vier­und­dreißig­tausend­fünf­hundert­sieben­und­sechzig Komma acht neun eins zwei drei vier fünf( sechs)? sieben( neun)?' +'1.234.567.?' +'1.234.567' +'#####.###' +'1.234.567,89 ¤¤' + +Locale is: fr +'1234567.8912345\d+' +'1 234 567,891' +'1 234 567,89 ¤' +'123 456 789 ?%' +'1.2345678912345\d+E6' +'un million deux cent trente-quatre mille cinq cent soixante-sept virgule huit neuf un deux trois quatre cinq( six)? sept( neuf)?' +'1 234 567e' +'1 234 567' +'#####.###' +'1 234 567,89 ¤¤' + +Locale is: en_UK +'1234567.8912345\d+' +'1,234,567.891' +'¤1,234,567.89' +'123,456,789%' +'1.2345678912345\d+E6' +'one million,? two hundred (and )?thirty-four thousand,? five hundred (and )?sixty-seven point eight nine one two three four five( six)? seven( nine)?' +'1,234,567(th|ᵗʰ)' +'342:56:07' +'#####.###' +'¤¤1,234,567.89' diff --git a/ext/intl/tests/rbbiter_getBinaryRules_basic.phpt b/ext/intl/tests/rbbiter_getBinaryRules_basic.phpt index 7d770571230..95ea3110880 100644 --- a/ext/intl/tests/rbbiter_getBinaryRules_basic.phpt +++ b/ext/intl/tests/rbbiter_getBinaryRules_basic.phpt @@ -2,6 +2,7 @@ IntlRuleBasedBreakIterator::getBinaryRules(): basic test --SKIPIF-- += 0) die('skip for ICU < 61.1'); ?> = 4.8 only'; ?> --FILE-- += 61.1 only'; ?> +--FILE-- +setText('sdfkjsdf88á.... ,;'); + +$br = $rbbi->getBinaryRules(); + +$rbbi2 = new IntlRuleBasedBreakIterator($br, true); + +var_dump($rbbi->getRules(), $rbbi2->getRules()); +var_dump($rbbi->getRules() == $rbbi2->getRules()); +?> +==DONE== +--EXPECT-- +string(137) "$LN = [[:letter:] [:number:]]; +$S = [.;,:]; +!!forward; +$LN+ {1}; +$S+ {42}; +!!reverse; +$LN+ {1}; +$S+ {42}; +!!safe_forward; +!!safe_reverse;" +string(137) "$LN = [[:letter:] [:number:]]; +$S = [.;,:]; +!!forward; +$LN+ {1}; +$S+ {42}; +!!reverse; +$LN+ {1}; +$S+ {42}; +!!safe_forward; +!!safe_reverse;" +bool(true) +==DONE== diff --git a/ext/intl/tests/rbbiter_getRules_basic.phpt b/ext/intl/tests/rbbiter_getRules_basic.phpt index 2f7a40eb716..3ad1a923115 100644 --- a/ext/intl/tests/rbbiter_getRules_basic.phpt +++ b/ext/intl/tests/rbbiter_getRules_basic.phpt @@ -1,9 +1,8 @@ --TEST-- IntlRuleBasedBreakIterator::getRules(): basic test --SKIPIF-- - += 0) die('skip for ICU < 61.1'); ?> --FILE-- getRules()); ==DONE== --EXPECT-- string(128) "$LN = [[:letter:] [:number:]];$S = [.;,:];!!forward;$LN+ {1};$S+ {42};!!reverse;$LN+ {1};$S+ {42};!!safe_forward;!!safe_reverse;" -==DONE== \ No newline at end of file +==DONE== diff --git a/ext/intl/tests/rbbiter_getRules_basic2.phpt b/ext/intl/tests/rbbiter_getRules_basic2.phpt new file mode 100644 index 00000000000..67b3831aa2f --- /dev/null +++ b/ext/intl/tests/rbbiter_getRules_basic2.phpt @@ -0,0 +1,40 @@ +--TEST-- +IntlRuleBasedBreakIterator::getRules(): basic test +--SKIPIF-- + += 61.1'); ?> +--FILE-- +getRules()); + +?> +==DONE== +--EXPECT-- +string(137) "$LN = [[:letter:] [:number:]]; +$S = [.;,:]; +!!forward; +$LN+ {1}; +$S+ {42}; +!!reverse; +$LN+ {1}; +$S+ {42}; +!!safe_forward; +!!safe_reverse;" +==DONE==