| Index: third_party/pkg/angular/test/filter/currency_spec.dart
|
| diff --git a/third_party/pkg/angular/test/filter/currency_spec.dart b/third_party/pkg/angular/test/filter/currency_spec.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..12219233b8e1a40e0647a28c367c9cda01de7a43
|
| --- /dev/null
|
| +++ b/third_party/pkg/angular/test/filter/currency_spec.dart
|
| @@ -0,0 +1,30 @@
|
| +library curerncy_spec;
|
| +
|
| +import '../_specs.dart';
|
| +
|
| +main() => describe('number', () {
|
| + var currency;
|
| +
|
| + beforeEach(inject((FilterMap map, Injector injector) {
|
| + currency = injector.get(map[new NgFilter(name: 'currency')]);
|
| + }));
|
| +
|
| +
|
| + it('should do basic currency filtering', () {
|
| + expect(currency(0)).toEqual(r'$0.00');
|
| + expect(currency(-999)).toEqual(r'($999.00)');
|
| + expect(currency(1234.5678, r"USD$")).toEqual(r'USD$1,234.57');
|
| + });
|
| +
|
| +
|
| + it('should return empty string for non-numbers', () {
|
| + expect(currency(null)).toEqual(null);
|
| + });
|
| +
|
| + it('should handle zero and nearly-zero values properly', () {
|
| + // This expression is known to yield 4.440892098500626e-16 instead of 0.0.
|
| + expect(currency(1.07 + 1 - 2.07)).toEqual(r'$0.00');
|
| + expect(currency(0.008)).toEqual(r'$0.01');
|
| + expect(currency(0.003)).toEqual(r'$0.00');
|
| + });
|
| +});
|
|
|