aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStein Jakob Nordbø2012-05-25 14:49:40 +0200
committerMisko Hevery2012-09-06 15:49:48 -0700
commitbaf52e902d92cee39d2e2060a49d9e740da7f0ec (patch)
tree7827c252245398c9dcda751c63870d65a3218fc5
parentdffea9e2b7775bbcb19c163e3fba3f9aa015a4cc (diff)
downloadangular.js-baf52e902d92cee39d2e2060a49d9e740da7f0ec.tar.bz2
fix(dateFilter): support sub-second precision on dateFilter
-rw-r--r--src/ng/filter/filters.js2
-rw-r--r--test/ng/filter/filtersSpec.js13
2 files changed, 14 insertions, 1 deletions
diff --git a/src/ng/filter/filters.js b/src/ng/filter/filters.js
index c56210f6..b3792171 100644
--- a/src/ng/filter/filters.js
+++ b/src/ng/filter/filters.js
@@ -320,7 +320,7 @@ dateFilter.$inject = ['$locale'];
function dateFilter($locale) {
- var R_ISO8601_STR = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d{3}))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;
+ var R_ISO8601_STR = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d)))?$/;
function jsonStringToDate(string){
var match;
if (match = string.match(R_ISO8601_STR)) {
diff --git a/test/ng/filter/filtersSpec.js b/test/ng/filter/filtersSpec.js
index 55476882..9e0a408a 100644
--- a/test/ng/filter/filtersSpec.js
+++ b/test/ng/filter/filtersSpec.js
@@ -270,5 +270,18 @@ describe('filters', function() {
//no time
expect(date('2003-09-10', format)).toEqual('2003-09 00');
});
+
+ it('should support different degrees of subsecond precision', function () {
+ var format = 'yyyy-MM-dd';
+
+ expect(date('2003-09-10T13:02:03.12345678Z', format)).toEqual('2003-09-10');
+ expect(date('2003-09-10T13:02:03.1234567Z', format)).toEqual('2003-09-10');
+ expect(date('2003-09-10T13:02:03.123456Z', format)).toEqual('2003-09-10');
+ expect(date('2003-09-10T13:02:03.12345Z', format)).toEqual('2003-09-10');
+ expect(date('2003-09-10T13:02:03.1234Z', format)).toEqual('2003-09-10');
+ expect(date('2003-09-10T13:02:03.123Z', format)).toEqual('2003-09-10');
+ expect(date('2003-09-10T13:02:03.12Z', format)).toEqual('2003-09-10');
+ expect(date('2003-09-10T13:02:03.1Z', format)).toEqual('2003-09-10');
+ });
});
});