From bdab729e1c00eca31ccfae7cf1ecd7e2197563d2 Mon Sep 17 00:00:00 2001 From: Dave Anderson Date: Fri, 4 Dec 2015 23:24:56 +0000 Subject: [PATCH] fix(datepicker): alternate input formats: update the datepicker --- src/datepicker/datepicker.js | 1 + src/datepicker/test/datepicker.spec.js | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/datepicker/datepicker.js b/src/datepicker/datepicker.js index a66465147d..10eb241d73 100644 --- a/src/datepicker/datepicker.js +++ b/src/datepicker/datepicker.js @@ -817,6 +817,7 @@ function(scope, element, attrs, $compile, $parse, $document, $rootScope, $positi for (var i = 0; i < altInputFormats.length; i++) { date = dateParser.parse(viewValue, altInputFormats[i], scope.date); if (!isNaN(date)) { + ngModel.$setViewValue(date); break; } } diff --git a/src/datepicker/test/datepicker.spec.js b/src/datepicker/test/datepicker.spec.js index 972bb57a8c..b81a47c983 100644 --- a/src/datepicker/test/datepicker.spec.js +++ b/src/datepicker/test/datepicker.spec.js @@ -2343,10 +2343,10 @@ describe('datepicker', function() { describe('datepickerPopupConfig.altInputFormats', function() { var originalConfig = {}; beforeEach(inject(function(uibDatepickerPopupConfig) { + $rootScope.date = new Date('November 9, 1980'); angular.extend(originalConfig, uibDatepickerPopupConfig); uibDatepickerPopupConfig.datepickerPopup = 'MM-dd-yyyy'; uibDatepickerPopupConfig.altInputFormats = ['M!/d!/yyyy']; - var wrapElement = $compile('
')($rootScope); $rootScope.$digest(); assignElements(wrapElement); @@ -2364,6 +2364,12 @@ describe('datepicker', function() { expect($rootScope.date.getMonth()).toEqual(10); expect($rootScope.date.getDate()).toEqual(8); }); + + it('changes the datepicker', function() { + expect(selectedElementIndex()).toEqual(14); + changeInputValueTo(inputEl, '11/8/1980'); + expect(selectedElementIndex()).toEqual(13); + }); }); describe('attribute `alt-input-formats`', function() { @@ -2381,6 +2387,12 @@ describe('datepicker', function() { expect($rootScope.date.getMonth()).toEqual(10); expect($rootScope.date.getDate()).toEqual(8); }); + + it('changes the datepicker', function() { + expect(selectedElementIndex()).toEqual(14); + changeInputValueTo(inputEl, '11/8/1980'); + expect(selectedElementIndex()).toEqual(13); + }); }); });