diff --git a/src/components/datepicker/dateUtil.js b/src/components/datepicker/dateUtil.js index e97b24edc2f..e355b996b7e 100644 --- a/src/components/datepicker/dateUtil.js +++ b/src/components/datepicker/dateUtil.js @@ -195,7 +195,9 @@ * @param {Date} date */ function setDateTimeToMidnight(date) { - date.setHours(0, 0, 0, 0); + if (isValidDate(date)) { + date.setHours(0, 0, 0, 0); + } } /** diff --git a/src/components/datepicker/dateUtil.spec.js b/src/components/datepicker/dateUtil.spec.js index dac1d7c86b6..b579889e02f 100644 --- a/src/components/datepicker/dateUtil.spec.js +++ b/src/components/datepicker/dateUtil.spec.js @@ -304,6 +304,12 @@ describe('$$mdDateUtil', function() { expect(dayAtMidnight.getMilliseconds()).toBe(0); }); + it('should not error when trying to set an invalid date to midnight', function() { + dateUtil.setDateTimeToMidnight(new Date(NaN)); + dateUtil.setDateTimeToMidnight(null); + dateUtil.setDateTimeToMidnight(undefined); + }); + it('should determine whether dates are valid', function() { expect(dateUtil.isValidDate(null)).toBeFalsy(); expect(dateUtil.isValidDate(undefined)).toBeFalsy();