From c6ac5b1bc7115e474f0c87d88dbfa46707665e81 Mon Sep 17 00:00:00 2001 From: Anatoly Mironov Date: Thu, 16 Aug 2012 07:39:06 +0200 Subject: [PATCH] Support for Chuvash suffix changes in future fromNow --- lang/cv.js | 6 +++++- moment.js | 10 ++++++++-- test/lang/cv.js | 4 +++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lang/cv.js b/lang/cv.js index a0598f47c..a27789cf9 100644 --- a/lang/cv.js +++ b/lang/cv.js @@ -24,7 +24,11 @@ sameElse: 'L' }, relativeTime : { - future : "%sран", + future : function(output) { + var affix = /сехет$/i.exec(output) + ? "рен" : /çул$/i.exec(output) ? "тан" : "ран"; + return output + affix; + }, past : "%s каялла", s : "пĕр-ик çеккунт", m : "пĕр минут", diff --git a/moment.js b/moment.js index 95520c0dd..e89bb7899 100644 --- a/moment.js +++ b/moment.js @@ -1047,10 +1047,16 @@ humanize : function (withSuffix) { var difference = +this, rel = this.lang().relativeTime, - output = relativeTime(difference, !withSuffix, this.lang()); + output = relativeTime(difference, !withSuffix, this.lang()), + fromNow = difference <= 0 ? rel.past : rel.future; if (withSuffix) { - output = (difference <= 0 ? rel.past : rel.future).replace(/%s/i, output); + if (typeof fromNow === 'function') { + output = fromNow(output); + } + else { + output = fromNow.replace(/%s/i, output); + } } return output; diff --git a/test/lang/cv.js b/test/lang/cv.js index c42cdce17..3de0f3354 100644 --- a/test/lang/cv.js +++ b/test/lang/cv.js @@ -174,10 +174,12 @@ exports["lang:cv"] = { }, "fromNow" : function(test) { - test.expect(2); + test.expect(4); moment.lang('cv'); test.equal(moment().add({s:30}).fromNow(), "пĕр-ик çеккунтран", "in a few seconds"); test.equal(moment().add({d:5}).fromNow(), "5 кунран", "in 5 days"); + test.equal(moment().add({h:2}).fromNow(), "2 сехетрен", "in 2 hours, the right suffix!"); + test.equal(moment().add({y:3}).fromNow(), "3 çултан", "in 3 years, the right suffix!"); test.done(); }, -- 2.47.2