1--TEST-- 2numfmt_get/set_pattern() 3--SKIPIF-- 4<?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?> 5--FILE-- 6<?php 7 8/* 9 * Get/set pattern. 10 */ 11 12 13function ut_main() 14{ 15 $res_str = ''; 16 $test_value = 12345.123456; 17 $fmt = ut_nfmt_create( "en_US", NumberFormatter::PATTERN_DECIMAL ); 18 19 // Get default patten. 20 $res_str .= "Default pattern: '" . ut_nfmt_get_pattern( $fmt ) . "'\n"; 21 $res_str .= "Formatting result: " . ut_nfmt_format( $fmt, $test_value ) . "\n"; 22 23 // Set a new pattern. 24 $res = ut_nfmt_set_pattern( $fmt, "0.0" ); 25 if( $res === false ) 26 $res_str .= ut_nfmt_get_error_message( $fmt ) . " (" . ut_nfmt_get_error_code( $fmt ) . ")\n"; 27 28 // Check if the pattern has been changed. 29 $res = ut_nfmt_get_pattern( $fmt ); 30 if( $res === false ) 31 $res_str .= ut_nfmt_get_error_message( $fmt ) . " (" . ut_nfmt_get_error_code( $fmt ) . ")\n"; 32 $res_str .= "New pattern: '" . ut_nfmt_get_pattern( $fmt ) . "'\n"; 33 $res_str .= "Formatted number: " . ut_nfmt_format( $fmt, $test_value ) . "\n"; 34 35 ut_nfmt_set_pattern($fmt, str_repeat('@', 200)); 36 $res_str .= "New pattern: '" . ut_nfmt_get_pattern( $fmt ) . "'\n"; 37 $res_str .= "Formatted number: " . ut_nfmt_format( $fmt, $test_value ) . "\n"; 38 39 return $res_str; 40} 41 42include_once( 'ut_common.inc' ); 43ut_run(); 44 45?> 46--EXPECTF-- 47Default pattern: '#.####################################################################################################################################################################################################################################################################################################################%s' 48Formatting result: 12345.123456 49New pattern: '#0.0' 50Formatted number: 12345.1 51New pattern: '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@' 52Formatted number: 12345.123456000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 53