From: Iskren Chernev Date: Wed, 8 Jul 2015 10:07:52 +0000 (+0800) Subject: Mark moment as invalid if bad string weekday repr is parsed, fixes #2423 X-Git-Tag: 2.10.5~21^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=31d673080c9ea13cdb3bba8e0990fb96aa7efecd;p=thirdparty%2Fmoment.git Mark moment as invalid if bad string weekday repr is parsed, fixes #2423 --- diff --git a/src/lib/create/valid.js b/src/lib/create/valid.js index 89204f85f..ad56bfe06 100644 --- a/src/lib/create/valid.js +++ b/src/lib/create/valid.js @@ -9,6 +9,7 @@ export function isValid(m) { flags.overflow < 0 && !flags.empty && !flags.invalidMonth && + !flags.invalidWeekday && !flags.nullInput && !flags.invalidFormat && !flags.userInvalidated; diff --git a/src/test/moment/create.js b/src/test/moment/create.js index 301b6888c..0c33104d8 100644 --- a/src/test/moment/create.js +++ b/src/test/moment/create.js @@ -872,3 +872,18 @@ test('array with strings', function (assert) { 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'); }); + +test('parsing invalid string weekdays', function (assert) { + assert.equal(false, moment('a', 'dd').isValid(), + 'dd with invalid weekday, non-strict'); + assert.equal(false, moment('a', 'dd', true).isValid(), + 'dd with invalid weekday, strict'); + assert.equal(false, moment('a', 'ddd').isValid(), + 'ddd with invalid weekday, non-strict'); + assert.equal(false, moment('a', 'ddd', true).isValid(), + 'ddd with invalid weekday, strict'); + assert.equal(false, moment('a', 'dddd').isValid(), + 'dddd with invalid weekday, non-strict'); + assert.equal(false, moment('a', 'dddd', true).isValid(), + 'dddd with invalid weekday, strict'); +});