Annotation of embedaddon/php/ext/intl/tests/formatter_get_set_symbol.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: numfmt_get/set_symbol()
! 3: --SKIPIF--
! 4: <?php if( !extension_loaded( 'intl' ) ) print 'skip'; ?>
! 5: --FILE--
! 6: <?php
! 7:
! 8: /*
! 9: * Get/set symbol.
! 10: */
! 11:
! 12:
! 13: function ut_main()
! 14: {
! 15: $longstr = str_repeat("blah", 10);
! 16: $symbols = array(
! 17: 'DECIMAL_SEPARATOR_SYMBOL' => array( NumberFormatter::DECIMAL_SEPARATOR_SYMBOL, '_._', 12345.123456, NumberFormatter::DECIMAL ),
! 18: 'GROUPING_SEPARATOR_SYMBOL' => array( NumberFormatter::GROUPING_SEPARATOR_SYMBOL, '_,_', 12345.123456, NumberFormatter::DECIMAL ),
! 19: 'PATTERN_SEPARATOR_SYMBOL' => array( NumberFormatter::PATTERN_SEPARATOR_SYMBOL, '_;_', 12345.123456, NumberFormatter::DECIMAL ),
! 20: 'PERCENT_SYMBOL' => array( NumberFormatter::PERCENT_SYMBOL, '_%_', 12345.123456, NumberFormatter::PERCENT ),
! 21: 'ZERO_DIGIT_SYMBOL' => array( NumberFormatter::ZERO_DIGIT_SYMBOL, '_ZD_', 12345.123456, NumberFormatter::DECIMAL ),
! 22: 'DIGIT_SYMBOL' => array( NumberFormatter::DIGIT_SYMBOL, '_DS_', 12345.123456, NumberFormatter::DECIMAL ),
! 23: 'MINUS_SIGN_SYMBOL' => array( NumberFormatter::MINUS_SIGN_SYMBOL, '_-_', -12345.123456, NumberFormatter::DECIMAL ),
! 24: 'PLUS_SIGN_SYMBOL' => array( NumberFormatter::PLUS_SIGN_SYMBOL, '_+_', 12345.123456, NumberFormatter::SCIENTIFIC ),
! 25: 'CURRENCY_SYMBOL' => array( NumberFormatter::CURRENCY_SYMBOL, '_$_', 12345.123456, NumberFormatter::CURRENCY ),
! 26: 'INTL_CURRENCY_SYMBOL' => array( NumberFormatter::INTL_CURRENCY_SYMBOL, '_$_', 12345.123456, NumberFormatter::CURRENCY ),
! 27: 'MONETARY_SEPARATOR_SYMBOL' => array( NumberFormatter::MONETARY_SEPARATOR_SYMBOL, '_MS_', 12345.123456, NumberFormatter::CURRENCY ),
! 28: 'EXPONENTIAL_SYMBOL' => array( NumberFormatter::EXPONENTIAL_SYMBOL, '_E_', 12345.123456, NumberFormatter::SCIENTIFIC ),
! 29: 'PERMILL_SYMBOL' => array( NumberFormatter::PERMILL_SYMBOL, '_PS_', 12345.123456, NumberFormatter::DECIMAL ),
! 30: 'PAD_ESCAPE_SYMBOL' => array( NumberFormatter::PAD_ESCAPE_SYMBOL, '_PE_', 12345.123456, NumberFormatter::DECIMAL ),
! 31: 'INFINITY_SYMBOL' => array( NumberFormatter::INFINITY_SYMBOL, '_IS_', 12345.123456, NumberFormatter::DECIMAL ),
! 32: 'NAN_SYMBOL' => array( NumberFormatter::NAN_SYMBOL, '_N_', 12345.123456, NumberFormatter::DECIMAL ),
! 33: 'SIGNIFICANT_DIGIT_SYMBOL' => array( NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL, '_SD_', 12345.123456, NumberFormatter::DECIMAL ),
! 34: 'MONETARY_GROUPING_SEPARATOR_SYMBOL' => array( NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL, '_MG_', 12345.123456, NumberFormatter::CURRENCY ),
! 35: 'MONETARY_GROUPING_SEPARATOR_SYMBOL-2' => array( NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL, " ", 12345.123456, NumberFormatter::CURRENCY ),
! 36: 'MONETARY_GROUPING_SEPARATOR_SYMBOL-3' => array( NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL, $longstr, 12345.123456, NumberFormatter::CURRENCY ),
! 37: );
! 38:
! 39: $res_str = '';
! 40:
! 41: foreach( $symbols as $symb_name => $data )
! 42: {
! 43: list( $symb, $new_val, $number, $attr ) = $data;
! 44:
! 45: $fmt = ut_nfmt_create( 'en_US', $attr);
! 46:
! 47: $res_str .= "\nSymbol '$symb_name'\n";
! 48:
! 49: // Get original symbol value.
! 50: $orig_val = ut_nfmt_get_symbol( $fmt, $symb );
! 51: $res_str .= "Default symbol: [$orig_val]\n";
! 52:
! 53: // Set a new symbol value.
! 54: $res_val = ut_nfmt_set_symbol( $fmt, $symb, $new_val );
! 55: if( !$res_val )
! 56: $res_str .= "set_symbol() error: " . ut_nfmt_get_error_message( $fmt ) . "\n";
! 57:
! 58: // Get the symbol value back.
! 59: $new_val_check = ut_nfmt_get_symbol( $fmt, $symb );
! 60: if( !$new_val_check )
! 61: $res_str .= "get_symbol() error: " . ut_nfmt_get_error_message( $fmt ) . "\n";
! 62:
! 63: $res_str .= "New symbol: [$new_val_check]\n";
! 64:
! 65: // Check if the new value has been set.
! 66: if( $new_val_check !== $new_val )
! 67: $res_str .= "ERROR: New $symb_name symbol value has not been set correctly.\n";
! 68:
! 69: // Format the number using the new value.
! 70: $s = ut_nfmt_format( $fmt, $number );
! 71: $res_str .= "A number formatted with the new symbol: $s\n";
! 72:
! 73: // Restore attribute's symbol.
! 74: ut_nfmt_set_symbol( $fmt, $symb, $orig_val );
! 75: }
! 76: $badvals = array(2147483648, -2147483648, -1, 4294901761);
! 77: foreach($badvals as $badval) {
! 78: if(ut_nfmt_get_symbol( $fmt, 2147483648 )) {
! 79: $res_str .= "Bad value $badval should return false!\n";
! 80: }
! 81: }
! 82: return $res_str;
! 83: }
! 84:
! 85: include_once( 'ut_common.inc' );
! 86: ut_run();
! 87:
! 88: ?>
! 89: --EXPECT--
! 90: Symbol 'DECIMAL_SEPARATOR_SYMBOL'
! 91: Default symbol: [.]
! 92: New symbol: [_._]
! 93: A number formatted with the new symbol: 12,345_._123
! 94:
! 95: Symbol 'GROUPING_SEPARATOR_SYMBOL'
! 96: Default symbol: [,]
! 97: New symbol: [_,_]
! 98: A number formatted with the new symbol: 12_,_345.123
! 99:
! 100: Symbol 'PATTERN_SEPARATOR_SYMBOL'
! 101: Default symbol: [;]
! 102: New symbol: [_;_]
! 103: A number formatted with the new symbol: 12,345.123
! 104:
! 105: Symbol 'PERCENT_SYMBOL'
! 106: Default symbol: [%]
! 107: New symbol: [_%_]
! 108: A number formatted with the new symbol: 1,234,512_%_
! 109:
! 110: Symbol 'ZERO_DIGIT_SYMBOL'
! 111: Default symbol: [0]
! 112: New symbol: [_ZD_]
! 113: A number formatted with the new symbol: `a,bcd.`ab
! 114:
! 115: Symbol 'DIGIT_SYMBOL'
! 116: Default symbol: [#]
! 117: New symbol: [_DS_]
! 118: A number formatted with the new symbol: 12,345.123
! 119:
! 120: Symbol 'MINUS_SIGN_SYMBOL'
! 121: Default symbol: [-]
! 122: New symbol: [_-_]
! 123: A number formatted with the new symbol: _-_12,345.123
! 124:
! 125: Symbol 'PLUS_SIGN_SYMBOL'
! 126: Default symbol: [+]
! 127: New symbol: [_+_]
! 128: A number formatted with the new symbol: 1.2345123456E4
! 129:
! 130: Symbol 'CURRENCY_SYMBOL'
! 131: Default symbol: [$]
! 132: New symbol: [_$_]
! 133: A number formatted with the new symbol: _$_12,345.12
! 134:
! 135: Symbol 'INTL_CURRENCY_SYMBOL'
! 136: Default symbol: [USD]
! 137: New symbol: [_$_]
! 138: A number formatted with the new symbol: $12,345.12
! 139:
! 140: Symbol 'MONETARY_SEPARATOR_SYMBOL'
! 141: Default symbol: [.]
! 142: New symbol: [_MS_]
! 143: A number formatted with the new symbol: $12,345_MS_12
! 144:
! 145: Symbol 'EXPONENTIAL_SYMBOL'
! 146: Default symbol: [E]
! 147: New symbol: [_E_]
! 148: A number formatted with the new symbol: 1.2345123456_E_4
! 149:
! 150: Symbol 'PERMILL_SYMBOL'
! 151: Default symbol: [‰]
! 152: New symbol: [_PS_]
! 153: A number formatted with the new symbol: 12,345.123
! 154:
! 155: Symbol 'PAD_ESCAPE_SYMBOL'
! 156: Default symbol: [*]
! 157: New symbol: [_PE_]
! 158: A number formatted with the new symbol: 12,345.123
! 159:
! 160: Symbol 'INFINITY_SYMBOL'
! 161: Default symbol: [∞]
! 162: New symbol: [_IS_]
! 163: A number formatted with the new symbol: 12,345.123
! 164:
! 165: Symbol 'NAN_SYMBOL'
! 166: Default symbol: [NaN]
! 167: New symbol: [_N_]
! 168: A number formatted with the new symbol: 12,345.123
! 169:
! 170: Symbol 'SIGNIFICANT_DIGIT_SYMBOL'
! 171: Default symbol: [@]
! 172: New symbol: [_SD_]
! 173: A number formatted with the new symbol: 12,345.123
! 174:
! 175: Symbol 'MONETARY_GROUPING_SEPARATOR_SYMBOL'
! 176: Default symbol: [,]
! 177: New symbol: [_MG_]
! 178: A number formatted with the new symbol: $12_MG_345.12
! 179:
! 180: Symbol 'MONETARY_GROUPING_SEPARATOR_SYMBOL-2'
! 181: Default symbol: [,]
! 182: New symbol: [ ]
! 183: A number formatted with the new symbol: $12 345.12
! 184:
! 185: Symbol 'MONETARY_GROUPING_SEPARATOR_SYMBOL-3'
! 186: Default symbol: [,]
! 187: New symbol: [blahblahblahblahblahblahblahblahblahblah]
! 188: A number formatted with the new symbol: $12blahblahblahblahblahblahblahblahblahblah345.12
! 189:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>