]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Fix moment creation with object of strings
authorTroy Astorino <troyastorino@gmail.com>
Sat, 31 Oct 2015 00:38:18 +0000 (17:38 -0700)
committerIskren Chernev <iskren.chernev@gmail.com>
Tue, 1 Dec 2015 17:44:44 +0000 (09:44 -0800)
src/lib/create/from-object.js
src/test/moment/create.js

index af8e082f45b5ef628169ae8f1fb230c508a7a2f9..c0bfe9f8d5d3ddaf610bb5d3ae7d9fe8009158bc 100644 (file)
@@ -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);
 }
index 42ec14dff707b1e9076490745510d6478fc856f4..969d8177d6d84126d6f09ba257fc9a25ec8826cd 100644 (file)
@@ -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');
 });