aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStein Jakob Nordbø2012-05-25 14:49:40 +0200
committerMisko Hevery2012-09-06 16:06:19 -0700
commitf299fd512248321b426a5ab924a329aa1b691280 (patch)
treec3ca29ccc0c7e2e5ae179d166b2bc048993e3959
parent05c88b866bdcd426d09fdb070cc67af718a41557 (diff)
downloadangular.js-f299fd512248321b426a5ab924a329aa1b691280.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');
+ });
});
});