From 4f8246600b82e76594ba783a88b1bf59bb41a992 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wac=C5=82aw=20Jacek?= Date: Tue, 11 Jul 2017 15:57:32 +0200 Subject: [PATCH] Adding a fix for Polish next week day name declension. --- src/locale/pl.js | 19 ++++++++++++++++++- src/test/locale/pl.js | 28 +++++++++++++++++++++++++--- 2 files changed, 43 insertions(+), 4 deletions(-) mode change 100644 => 100755 src/locale/pl.js mode change 100644 => 100755 src/test/locale/pl.js diff --git a/src/locale/pl.js b/src/locale/pl.js old mode 100644 new mode 100755 index 559163405..505381a9a --- a/src/locale/pl.js +++ b/src/locale/pl.js @@ -57,7 +57,24 @@ export default moment.defineLocale('pl', { calendar : { sameDay: '[Dziś o] LT', nextDay: '[Jutro o] LT', - nextWeek: '[W] dddd [o] LT', + nextWeek: function () { + switch (this.day()) { + case 0: + return '[W niedzielę o] LT'; + + case 2: + return '[We wtorek o] LT'; + + case 3: + return '[W środę o] LT'; + + case 6: + return '[W sobotę o] LT'; + + default: + return '[W] dddd [o] LT'; + } + }, lastDay: '[Wczoraj o] LT', lastWeek: function () { switch (this.day()) { diff --git a/src/test/locale/pl.js b/src/test/locale/pl.js old mode 100644 new mode 100755 index 0211a2ef9..9ce8f19ae --- a/src/test/locale/pl.js +++ b/src/test/locale/pl.js @@ -191,13 +191,35 @@ test('calendar day', function (assert) { test('calendar next week', function (assert) { var i, m; + + function makeFormat(d) { + switch (d.day()) { + case 0: + return '[W niedzielę o] LT'; + + case 2: + return '[We wtorek o] LT'; + + case 3: + return '[W środę o] LT'; + + case 6: + return '[W sobotę o] LT'; + + default: + return '[W] dddd [o] LT'; + } + } + for (i = 2; i < 7; i++) { m = moment().add({d: i}); - assert.equal(m.calendar(), m.format('[W] dddd [o] LT'), 'Today + ' + i + ' days current time'); + assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days current time'); + m.hours(0).minutes(0).seconds(0).milliseconds(0); - assert.equal(m.calendar(), m.format('[W] dddd [o] LT'), 'Today + ' + i + ' days beginning of day'); + assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days beginning of day'); + m.hours(23).minutes(59).seconds(59).milliseconds(999); - assert.equal(m.calendar(), m.format('[W] dddd [o] LT'), 'Today + ' + i + ' days end of day'); + assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days end of day'); } }); -- 2.47.2