From: Troy Astorino Date: Sat, 31 Oct 2015 00:38:18 +0000 (-0700) Subject: Fix moment creation with object of strings X-Git-Tag: 2.11.0~29^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e8ba8e7146d6968ed2c84f3ce791ad9c5ef2535;p=thirdparty%2Fmoment.git Fix moment creation with object of strings --- diff --git a/src/lib/create/from-object.js b/src/lib/create/from-object.js index af8e082f4..c0bfe9f8d 100644 --- a/src/lib/create/from-object.js +++ b/src/lib/create/from-object.js @@ -1,5 +1,6 @@ import { normalizeObjectUnits } from '../units/aliases'; import { configFromArray } from './from-array'; +import map from '../utils/map'; export function configFromObject(config) { if (config._d) { @@ -7,7 +8,9 @@ export function configFromObject(config) { } var i = normalizeObjectUnits(config._i); - config._a = [i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond]; + config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { + return obj && parseInt(obj, 10); + }); configFromArray(config); } diff --git a/src/test/moment/create.js b/src/test/moment/create.js index 42ec14dff..969d8177d 100644 --- a/src/test/moment/create.js +++ b/src/test/moment/create.js @@ -975,6 +975,10 @@ test('array with strings', function (assert) { assert.equal(moment(['2014', '7', '31']).isValid(), true, 'string array + isValid'); }); +test('object with strings', function (assert) { + assert.equal(moment({year: '2014', month: '7', day: '31'}).isValid(), true, 'string object + isValid'); +}); + test('utc with array of formats', function (assert) { assert.equal(moment.utc('2014-01-01', ['YYYY-MM-DD', 'YYYY-MM']).format(), '2014-01-01T00:00:00+00:00', 'moment.utc works with array of formats'); });