aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKury Kruitbosch2013-02-11 14:21:15 -0700
committerIgor Minar2013-02-14 13:46:07 -0800
commit75545d4d1c59192d781bb23d8bd2f72c9be37d38 (patch)
tree359cdda4d068d0286138b386ec180dbe33a26a73
parentd67eb2f2db1545cd85286824d70d2ffd9b837d28 (diff)
downloadangular.js-75545d4d1c59192d781bb23d8bd2f72c9be37d38.tar.bz2
fix(numberFilter): fix formatting when "0" passed as fractionSize
When checking to add decimal and trialing 0s number filter used to check trueness of fractionSize. "0" evaluating to true causes "123" to return "123."
-rw-r--r--src/ng/filter/filters.js2
-rw-r--r--test/ng/filter/filtersSpec.js11
2 files changed, 12 insertions, 1 deletions
diff --git a/src/ng/filter/filters.js b/src/ng/filter/filters.js
index 4a0f1d74..9ddb0142 100644
--- a/src/ng/filter/filters.js
+++ b/src/ng/filter/filters.js
@@ -168,7 +168,7 @@ function formatNumber(number, pattern, groupSep, decimalSep, fractionSize) {
fraction += '0';
}
- if (fractionSize) formatedText += decimalSep + fraction.substr(0, fractionSize);
+ if (fractionSize && fractionSize !== "0") formatedText += decimalSep + fraction.substr(0, fractionSize);
}
parts.push(isNegative ? pattern.negPre : pattern.posPre);
diff --git a/test/ng/filter/filtersSpec.js b/test/ng/filter/filtersSpec.js
index f7e775ee..c9ed7949 100644
--- a/test/ng/filter/filtersSpec.js
+++ b/test/ng/filter/filtersSpec.js
@@ -71,6 +71,17 @@ describe('filters', function() {
var num = formatNumber(123.1116, pattern, ',', '.');
expect(num).toBe('123.112');
});
+
+ it('should format the same with string as well as numeric fractionSize', function(){
+ var num = formatNumber(123.1, pattern, ',', '.', "0");
+ expect(num).toBe('123');
+ var num = formatNumber(123.1, pattern, ',', '.', 0);
+ expect(num).toBe('123');
+ var num = formatNumber(123.1, pattern, ',', '.', "3");
+ expect(num).toBe('123.100');
+ var num = formatNumber(123.1, pattern, ',', '.', 3);
+ expect(num).toBe('123.100');
+ });
});
describe('currency', function() {