Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(255)

Side by Side Diff: test/number_format_test.dart

Issue 834313003: Fix bug with percent formats with no integer part (Closed) Base URL: https://github.com/dart-lang/intl.git@master
Patch Set: Review fixes Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pubspec.yaml ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /** 1 /**
2 * Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 * Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 * for details. All rights reserved. Use of this source code is governed by a 3 * for details. All rights reserved. Use of this source code is governed by a
4 * BSD-style license that can be found in the LICENSE file. 4 * BSD-style license that can be found in the LICENSE file.
5 */ 5 */
6 6
7 library number_format_test; 7 library number_format_test;
8 8
9 import 'package:unittest/unittest.dart'; 9 import 'package:unittest/unittest.dart';
10 import 'package:intl/number_symbols_data.dart'; 10 import 'package:intl/number_symbols_data.dart';
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 test('Exponential form', () { 136 test('Exponential form', () {
137 var number = new NumberFormat("#.###E0"); 137 var number = new NumberFormat("#.###E0");
138 for (var x in testExponential.keys) { 138 for (var x in testExponential.keys) {
139 var formatted = number.format(testExponential[x]); 139 var formatted = number.format(testExponential[x]);
140 expect(formatted, x); 140 expect(formatted, x);
141 var readBack = number.parse(formatted); 141 var readBack = number.parse(formatted);
142 expect(testExponential[x], readBack); 142 expect(testExponential[x], readBack);
143 } 143 }
144 }); 144 });
145 145
146 test('Percent with no decimals and no integer part', () {
147 var number = new NumberFormat("#%");
148 var formatted = number.format(0.12);
149 expect(formatted, "12%");
150 var readBack = number.parse(formatted);
151 expect(0.12, readBack);
152 });
153
146 // We can't do these in the normal tests because those also format the 154 // We can't do these in the normal tests because those also format the
147 // numbers and we're reading them in a format where they won't print 155 // numbers and we're reading them in a format where they won't print
148 // back the same way. 156 // back the same way.
149 test('Parsing modifiers,e.g. percent, in the base format', () { 157 test('Parsing modifiers,e.g. percent, in the base format', () {
150 var number = new NumberFormat(); 158 var number = new NumberFormat();
151 var modified = { "12%" : 0.12, "12\u2030" : 0.012}; 159 var modified = { "12%" : 0.12, "12\u2030" : 0.012};
152 modified.addAll(testExponential); 160 modified.addAll(testExponential);
153 for (var x in modified.keys) { 161 for (var x in modified.keys) {
154 var parsed = number.parse(x); 162 var parsed = number.parse(x);
155 expect(parsed, modified[x]); 163 expect(parsed, modified[x]);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 }); 202 });
195 203
196 test('Unparseable', () { 204 test('Unparseable', () {
197 var format = new NumberFormat.currencyPattern(); 205 var format = new NumberFormat.currencyPattern();
198 expect(() => format.parse("abcdefg"), throwsFormatException); 206 expect(() => format.parse("abcdefg"), throwsFormatException);
199 expect(() => format.parse(""), throwsFormatException); 207 expect(() => format.parse(""), throwsFormatException);
200 expect(() => format.parse("1.0zzz"), throwsFormatException); 208 expect(() => format.parse("1.0zzz"), throwsFormatException);
201 expect(() => format.parse("-∞+1"), throwsFormatException); 209 expect(() => format.parse("-∞+1"), throwsFormatException);
202 }); 210 });
203 } 211 }
OLDNEW
« no previous file with comments | « pubspec.yaml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698