]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Mark moment as invalid if bad string weekday repr is parsed, fixes #2423
authorIskren Chernev <iskren.chernev@gmail.com>
Wed, 8 Jul 2015 10:07:52 +0000 (18:07 +0800)
committerIskren Chernev <iskren.chernev@gmail.com>
Mon, 13 Jul 2015 00:38:32 +0000 (17:38 -0700)
src/lib/create/valid.js
src/test/moment/create.js

index 89204f85f1e60ef9e3e0dadad34af584ea8910bb..ad56bfe063bc6d285455268d7e6174364bbc5e08 100644 (file)
@@ -9,6 +9,7 @@ export function isValid(m) {
             flags.overflow < 0 &&
             !flags.empty &&
             !flags.invalidMonth &&
+            !flags.invalidWeekday &&
             !flags.nullInput &&
             !flags.invalidFormat &&
             !flags.userInvalidated;
index 301b6888c92fcaf86ed6453f1cf33b29200c9e76..0c33104d8c8d3f8a151ac34b70c8b34eb531fd8c 100644 (file)
@@ -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');
+});