@@ -165,6 +165,21 @@ describe('NumberParser', function () {
165
165
} ) ;
166
166
} ) ;
167
167
168
+ it ( 'should parse a percent with signs' , function ( ) {
169
+ expect ( new NumberParser ( 'en-GB' , { style : 'percent' , signDisplay : 'always' } ) . parse ( '+10%' ) ) . toBe ( 0.1 ) ;
170
+ expect ( new NumberParser ( 'en-GB' , { style : 'percent' , signDisplay : 'always' } ) . parse ( '+0%' ) ) . toBe ( 0 ) ;
171
+ expect ( new NumberParser ( 'en-GB' , { style : 'percent' , signDisplay : 'always' } ) . parse ( '-10%' ) ) . toBe ( - 0.1 ) ;
172
+ expect ( new NumberParser ( 'en-GB' , { style : 'percent' , signDisplay : 'always' } ) . parse ( '-0%' ) ) . toBe ( - 0 ) ;
173
+ expect ( new NumberParser ( 'en-US' , { style : 'percent' , signDisplay : 'exceptZero' , minimumFractionDigits : 2 } ) . parse ( '+0.50%' ) ) . toBe ( 0.005 ) ;
174
+ } ) ;
175
+
176
+ it ( 'should parse a percent with decimals and exceptZero' , function ( ) {
177
+ expect ( new NumberParser ( 'en-GB' , { style : 'percent' , signDisplay : 'exceptZero' } ) . parse ( '+0.532%' ) ) . toBe ( 0.01 ) ;
178
+ expect ( new NumberParser ( 'en-GB' , { style : 'percent' , signDisplay : 'exceptZero' } ) . parse ( '+0%' ) ) . toBe ( 0 ) ;
179
+ expect ( new NumberParser ( 'en-GB' , { style : 'percent' , signDisplay : 'exceptZero' } ) . parse ( '0.532%' ) ) . toBe ( 0.01 ) ;
180
+ expect ( new NumberParser ( 'en-GB' , { style : 'percent' , signDisplay : 'exceptZero' } ) . parse ( '-0.532%' ) ) . toBe ( - 0.01 ) ;
181
+ } ) ;
182
+
168
183
describe ( 'NumberFormat options' , function ( ) {
169
184
it ( 'supports roundingIncrement' , function ( ) {
170
185
expect ( new NumberParser ( 'en-US' , { roundingIncrement : 2 } ) . parse ( '10' ) ) . toBe ( 10 ) ;
0 commit comments