diff options
| -rw-r--r-- | src/filters.js | 12 | ||||
| -rw-r--r-- | 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'); + }); }); }); |
