Skip to content

Commit

Permalink
feat(currencyFilter): trim whitespace around an empty currency symbol
Browse files Browse the repository at this point in the history
In most locales, this won't make a difference (since they do not have
whitespace around their currency symbols). In locales where there is a
whitespace separating the currency symbol from the number, it makes
sense to also remove such whitespace if the user specified an empty
currency symbol (indicating they just want the number).

Fixes angular#15018
Closes angular#15085

Closes angular#15105
  • Loading branch information
gkalpak committed Dec 19, 2017
1 parent 22450e5 commit 62743a5
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/ng/filter/filters.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,14 @@ function currencyFilter($locale) {
fractionSize = formats.PATTERNS[1].maxFrac;
}

// If the currency symbol is empty, trim whitespace around the symbol
var currencySymbolRe = !currencySymbol ? /\s*\u00A4\s*/g : /\u00A4/g;

// if null or undefined pass it through
return (amount == null)
? amount
: formatNumber(amount, formats.PATTERNS[1], formats.GROUP_SEP, formats.DECIMAL_SEP, fractionSize).
replace(/\u00A4/g, currencySymbol);
replace(currencySymbolRe, currencySymbol);
};
}

Expand Down
13 changes: 13 additions & 0 deletions test/ng/filter/filtersSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,19 @@ describe('filters', function() {

expect(currency(1.07)).toBe('$1.1');
}));

it('should trim whitespace around the currency symbol if it is empty',
inject(function($locale) {
var pattern = $locale.NUMBER_FORMATS.PATTERNS[1];
pattern.posPre = pattern.posSuf = ' \u00A4 ';
pattern.negPre = pattern.negSuf = ' - \u00A4 - ';

expect(currency(+1.07, '$')).toBe(' $ 1.07 $ ');
expect(currency(-1.07, '$')).toBe(' - $ - 1.07 - $ - ');
expect(currency(+1.07, '')).toBe('1.07');
expect(currency(-1.07, '')).toBe(' -- 1.07 -- ');
})
);
});

describe('number', function() {
Expand Down

0 comments on commit 62743a5

Please sign in to comment.