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'); +    });    });  });  | 
