]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Changed setter check behavior to use isNaN() for checking whether an input is a valid... 3735/head
authorWill Dembinski <willdembinski@gmail.com>
Sun, 29 Jan 2017 08:57:37 +0000 (00:57 -0800)
committerWill Dembinski <willdembinski@gmail.com>
Sun, 29 Jan 2017 08:57:37 +0000 (00:57 -0800)
src/lib/moment/get-set.js
src/test/moment/getters_setters.js

index 9bbbaae279f0b9a02e403f533b3f5c00c673b47c..d583b36d34ebcea6c38c2f3f489efba2697d2337 100644 (file)
@@ -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);
     }
 }
index f50decad4c162804e81e948070fc640e154bcf4b..87bcba60b3df75a6837f70950481f625f956977c 100644 (file)
@@ -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) {