From: Kunal Marwaha Date: Mon, 5 Dec 2016 07:15:49 +0000 (-0500) Subject: Write duration-invalid tests X-Git-Tag: 2.18.0~45^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ccdc991b44a6ed1513d6455b3b32d396d4063e28;p=thirdparty%2Fmoment.git Write duration-invalid tests --- diff --git a/src/test/moment/duration_invalid.js b/src/test/moment/duration_invalid.js new file mode 100644 index 000000000..2dbe9cc3c --- /dev/null +++ b/src/test/moment/duration_invalid.js @@ -0,0 +1,67 @@ +import { module, test } from '../qunit'; +import moment from '../../moment'; + +module('invalid'); + +test('invalid', function (assert) { + var m = moment.duration(NaN); // should be invalid + assert.equal(m.isValid(), false); + assert.ok(isNaN(m.valueOf())); +}); + +// test('invalid with existing flag', function (assert) { +// var m = moment.duration({invalidMonth : 'whatchamacallit'}); +// assert.equal(m.isValid(), false); +// assert.ok(isNaN(m.valueOf())); +// }); + +test('invalid operations', function (assert) { + var invalids = [ + moment.duration(NaN) + // moment.duration({invalidMonth : 'whatchamacallit'}) + ], + i, + invalid, + valid = moment.duration(); + + for (i = 0; i < invalids.length; ++i) { + invalid = invalids[i]; + + assert.ok(!invalid.add(5, 'hours').isValid(), 'invalid.add is invalid'); + assert.ok(!invalid.subtract(30, 'days').isValid(), 'invalid.subtract is invalid'); + assert.ok(!invalid.abs().isValid(), 'invalid.abs is invalid'); + assert.ok(isNaN(invalid.as('years')), 'invalid.as is NaN'); + assert.ok(isNaN(invalid.asMilliseconds()), 'invalid.asMilliseconds is NaN'); + assert.ok(isNaN(invalid.asSeconds()), 'invalid.asSeconds is NaN'); + assert.ok(isNaN(invalid.asMinutes()), 'invalid.asMinutes is NaN'); + assert.ok(isNaN(invalid.asHours()), 'invalid.asHours is NaN'); + assert.ok(isNaN(invalid.asDays()), 'invalid.asDays is NaN'); + assert.ok(isNaN(invalid.asWeeks()), 'invalid.asWeeks is NaN'); + assert.ok(isNaN(invalid.asMonths()), 'invalid.asMonths is NaN'); + assert.ok(isNaN(invalid.asYears()), 'invalid.asYears is NaN'); + assert.ok(isNaN(invalid.valueOf()), 'invalid.valueOf is NaN'); + assert.ok(isNaN(invalid.get('hours')), 'invalid.get is NaN'); + + assert.ok(isNaN(invalid.milliseconds()), 'invalid.milliseconds is NaN'); + assert.ok(isNaN(invalid.seconds()), 'invalid.seconds is NaN'); + assert.ok(isNaN(invalid.minutes()), 'invalid.minutes is NaN'); + assert.ok(isNaN(invalid.hours()), 'invalid.hours is NaN'); + assert.ok(isNaN(invalid.days()), 'invalid.days is NaN'); + assert.ok(isNaN(invalid.weeks()), 'invalid.weeks is NaN'); + assert.ok(isNaN(invalid.months()), 'invalid.months is NaN'); + assert.ok(isNaN(invalid.years()), 'invalid.years is NaN'); + + assert.equal(invalid.humanize(), + invalid.localeData().invalidDate(), + 'invalid.humanize is localized invalid duration string'); + assert.equal(invalid.toISOString(), + invalid.localeData().invalidDate(), + 'invalid.toISOString is localized invalid duration string'); + assert.equal(invalid.toString(), + invalid.localeData().invalidDate(), + 'invalid.toString is localized invalid duration string'); + assert.equal(invalid.toJSON(), null, 'invalid.toJSON is null'); + assert.equal(invalid.locale(), 'en'); + assert.equal(invalid.localeData()._abbr, 'en'); + } +});