From: Will Dembinski Date: Sun, 29 Jan 2017 08:57:37 +0000 (-0800) Subject: Changed setter check behavior to use isNaN() for checking whether an input is a valid... X-Git-Tag: 2.19.0~48^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6bcb87e58161ce752125c0d8c5ff3d0f497f2679;p=thirdparty%2Fmoment.git Changed setter check behavior to use isNaN() for checking whether an input is a valid value --- diff --git a/src/lib/moment/get-set.js b/src/lib/moment/get-set.js index 9bbbaae27..d583b36d3 100644 --- a/src/lib/moment/get-set.js +++ b/src/lib/moment/get-set.js @@ -2,7 +2,6 @@ import { normalizeUnits, normalizeObjectUnits } from '../units/aliases'; import { getPrioritizedUnits } from '../units/priorities'; import { hooks } from '../utils/hooks'; import isFunction from '../utils/is-function'; -import isNumeric from '../utils/is-numeric'; export function makeGetSet (unit, keepTime) { return function (value) { @@ -22,7 +21,7 @@ export function get (mom, unit) { } export function set (mom, unit, value) { - if (mom.isValid() && isNumeric(value)) { + if (mom.isValid() && !isNaN(value)) { mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); } } diff --git a/src/test/moment/getters_setters.js b/src/test/moment/getters_setters.js index f50decad4..87bcba60b 100644 --- a/src/test/moment/getters_setters.js +++ b/src/test/moment/getters_setters.js @@ -112,22 +112,22 @@ test('setters should handle garbage input', function (assert) { a.set('milliseconds', 9); a.year(undefined); - a.month(null); - a.date([1]); - a.day(-Infinity); - a.hours(new Date()); - a.minutes({a:1,b:2}); - a.seconds('foo'); - a.milliseconds(Infinity); - - assert.equal(a.year(), 2011, 'year'); - assert.equal(a.month(), 9, 'month'); - assert.equal(a.date(), 12, 'date'); - assert.equal(a.day(), 3, 'day'); - assert.equal(a.hours(), 6, 'hour'); - assert.equal(a.minutes(), 7, 'minute'); - assert.equal(a.seconds(), 8, 'second'); - assert.equal(a.milliseconds(), 9, 'milliseconds'); + a.month('foo'); + a.date(null); + a.day({a:2,b:3}); + a.hours('[1]'); + a.minutes(undefined); + a.seconds(null); + a.milliseconds(NaN); + + assert.equal(a.year(), 2011, 'year - provided undefined'); + assert.equal(a.month(), 9, 'month - provided null'); + assert.equal(a.date(), 12, 'date - provided [1]'); + assert.equal(a.day(), 3, 'day - provided Infinity'); + assert.equal(a.hours(), 6, 'hour - provided new Date'); + assert.equal(a.minutes(), 7, 'minute - provided {a:1,b:2}'); + assert.equal(a.seconds(), 8, 'second - provided foo'); + assert.equal(a.milliseconds(), 9, 'milliseconds - provided Infinity'); }); test('setter programmatic', function (assert) {