]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Return invalid date for humanize if duration is invalid
authorKunal Marwaha <marwahaha@berkeley.edu>
Tue, 29 Nov 2016 07:08:30 +0000 (23:08 -0800)
committerIskren Chernev <iskren.chernev@gmail.com>
Thu, 2 Mar 2017 08:45:50 +0000 (10:45 +0200)
src/lib/duration/humanize.js
src/test/moment/duration.js

index 6120d404bcaead521c767015b299693bd4c804a9..5bae088b37147f240ab811abfa996e0129827f5c 100644 (file)
@@ -65,6 +65,10 @@ export function getSetRelativeTimeThreshold (threshold, limit) {
 }
 
 export function humanize (withSuffix) {
+    if (!this.isValid()) {
+        return this.localeData().invalidDate();
+    }
+
     var locale = this.localeData();
     var output = relativeTime(this, !withSuffix, locale);
 
index 3b8b493f85779b8412cda39801030d09a759fbb6..70fe4a43ef39003f1a5b78bb975ccb43a87af245 100644 (file)
@@ -49,21 +49,25 @@ test('object instantiation with strings', function (assert) {
 
 test('milliseconds instantiation', function (assert) {
     assert.equal(moment.duration(72).milliseconds(), 72, 'milliseconds');
+    assert.equal(moment.duration(72).humanize(), 'a few seconds', 'Duration should be valid');
 });
 
 test('undefined instantiation', function (assert) {
     assert.equal(moment.duration(undefined).milliseconds(), 0, 'milliseconds');
     assert.equal(moment.duration(undefined).isValid(), true, '_isValid');
+    assert.equal(moment.duration(undefined).humanize(), 'a few seconds', 'Duration should be valid');
 });
 
 test('null instantiation', function (assert) {
     assert.equal(moment.duration(null).milliseconds(), 0, 'milliseconds');
     assert.equal(moment.duration(null).isValid(), true, '_isValid');
+    assert.equal(moment.duration(null).humanize(), 'a few seconds', 'Duration should be valid');
 });
 
 test('NaN instantiation', function (assert) {
     assert.equal(moment.duration(NaN).milliseconds(), 0, 'milliseconds');
     assert.equal(moment.duration(NaN).isValid(), false, '_isValid');
+    assert.equal(moment.duration(NaN).humanize(), 'Invalid date', 'Duration should be invalid');
 });
 
 test('instantiation by type', function (assert) {