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

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

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