From 7741be140e712c26a0855e078db5bd5d0ca3163a Mon Sep 17 00:00:00 2001 From: alburthoffman Date: Wed, 19 Aug 2015 01:33:18 +0800 Subject: [PATCH] creationData for issue #2443 Make a function creationData(), that returns an object with input, format, isUTC, locale --- src/lib/moment/creation-data.js | 8 ++++++++ src/lib/moment/prototype.js | 2 ++ src/test/moment/creation-data.js | 29 +++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 src/lib/moment/creation-data.js create mode 100644 src/test/moment/creation-data.js diff --git a/src/lib/moment/creation-data.js b/src/lib/moment/creation-data.js new file mode 100644 index 000000000..47344131c --- /dev/null +++ b/src/lib/moment/creation-data.js @@ -0,0 +1,8 @@ +export function creationData() { + return { + input: this._i, + format: this._f, + locale: this._locale, + isUTC: this._isUTC + }; +} diff --git a/src/lib/moment/prototype.js b/src/lib/moment/prototype.js index 85c7e8217..fe7bc9dc6 100644 --- a/src/lib/moment/prototype.js +++ b/src/lib/moment/prototype.js @@ -16,6 +16,7 @@ import { prototypeMin, prototypeMax } from './min-max'; import { startOf, endOf } from './start-end-of'; import { valueOf, toDate, toArray, toObject, toJSON, unix } from './to-type'; import { isValid, parsingFlags, invalidAt } from './valid'; +import { creationData } from './creation-data'; proto.add = add; proto.calendar = calendar; @@ -51,6 +52,7 @@ proto.toJSON = toJSON; proto.toString = toString; proto.unix = unix; proto.valueOf = valueOf; +proto.creationData = creationData; // Year import { getSetYear, getIsLeapYear } from '../units/year'; diff --git a/src/test/moment/creation-data.js b/src/test/moment/creation-data.js new file mode 100644 index 000000000..a7e75a0a9 --- /dev/null +++ b/src/test/moment/creation-data.js @@ -0,0 +1,29 @@ +import { module, test } from '../qunit'; +import moment from '../../moment'; + +module('creation data'); + +test('valid date', function (assert) { + var dat = moment('1992-10-22'); + var orig = dat.creationData(); + + assert.equal(dat.isValid(), true, '1992-10-22 is valid'); + assert.equal(orig.input, '1992-10-22', 'original input is not correct.'); + assert.equal(orig.format, 'YYYY-MM-DD', 'original format is defined.'); + assert.equal(orig.locale._abbr, 'en', 'default locale is en'); + assert.equal(orig.isUTC, false, 'not a UTC date'); +}); + +test('valid date at fr locale', function (assert) { + var dat = moment('1992-10-22', 'YYYY-MM-DD', 'fr'); + var orig = dat.creationData(); + + assert.equal(orig.locale._abbr, 'fr', 'locale is fr'); +}); + +test('valid date with formats', function (assert) { + var dat = moment('29-06-1995', ['MM-DD-YYYY', 'DD-MM', 'DD-MM-YYYY']); + var orig = dat.creationData(); + + assert.equal(orig.format, 'DD-MM-YYYY', 'DD-MM-YYYY format is defined.'); +}); -- 2.47.2