From aab3df7aeaf79908e8b6212288b283adb42b1ce6 Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Sun, 9 Jan 2011 13:41:55 +0000 Subject: Fixed filter.date, so it parses format ending with non-replaced string Closes #159 --- src/filters.js | 12 +++++++++--- test/FiltersSpec.js | 4 ++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/filters.js b/src/filters.js index 045ad61b..7fa7926d 100644 --- a/src/filters.js +++ b/src/filters.js @@ -217,10 +217,16 @@ angularFilter.date = function(date, format) { var text = date.toLocaleDateString(), fn; if (format && isString(format)) { text = ''; - var parts = []; + var parts = [], match; while(format) { - parts = concat(parts, DATE_FORMATS_SPLIT.exec(format), 1); - format = parts.pop(); + match = DATE_FORMATS_SPLIT.exec(format); + if (match) { + parts = concat(parts, match, 1); + format = parts.pop(); + } else { + parts.push(format); + format = null; + } } forEach(parts, function(value){ fn = DATE_FORMATS[value]; diff --git a/test/FiltersSpec.js b/test/FiltersSpec.js index d28cae82..7e824e0d 100644 --- a/test/FiltersSpec.js +++ b/test/FiltersSpec.js @@ -142,5 +142,9 @@ describe('filter', function() { expect(filter.date(isoString)). toEqual(angular.String.toDate(isoString).toLocaleDateString()); }); + + it('should parse format ending with non-replaced string', function() { + expect(filter.date(morning, 'yy/xxx')).toEqual('10/xxx'); + }); }); }); -- cgit v1.2.3