From 5c565df0243b16e70601c581ce67f335eefce8ee Mon Sep 17 00:00:00 2001 From: Wesley Cho Date: Mon, 1 Feb 2016 22:36:59 -0800 Subject: [PATCH] fix(dateparser): append end of format - Ensure trailing format string is appended to generated date string Closes #5385 Fixes #5387 --- src/dateparser/dateparser.js | 6 ++++-- src/dateparser/test/dateparser.spec.js | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/dateparser/dateparser.js b/src/dateparser/dateparser.js index cb4a8290c9..07df3cfa0a 100644 --- a/src/dateparser/dateparser.js +++ b/src/dateparser/dateparser.js @@ -322,11 +322,13 @@ angular.module('ui.bootstrap.dateparser', []) _format = _format.replace(match[1] + mapper.key, ''); } + var endStr = i === map.length - 1 ? _format : ''; + if (mapper.apply) { - return str + mapper.apply.call(null, date); + return str + mapper.apply.call(null, date) + endStr; } - return str; + return str + endStr; }, ''); }; diff --git a/src/dateparser/test/dateparser.spec.js b/src/dateparser/test/dateparser.spec.js index 22dff9759f..8566c7d868 100644 --- a/src/dateparser/test/dateparser.spec.js +++ b/src/dateparser/test/dateparser.spec.js @@ -261,6 +261,10 @@ describe('date parser', function() { expectFilter(new Date(-1955, 1, 5, 0), 'yyyy/MMMM/d/GGGG', '1955/February/5/Before Christ'); expectFilter(new Date(2013, 7, 11, 0), 'd-MM-yy GGGG', '11-08-13 Anno Domini'); }); + + it('should work correctly for literal text', function() { + expectFilter(new Date(2013, 10, 17, 0), 'dd.MM.yyyy foo', '17.11.2013 foo'); + }); }); describe('with custom formats', function() {