From: Jakub Szwacz Date: Mon, 21 Sep 2020 08:09:34 +0000 (+0200) Subject: [bugfix] fix moment.months() for PL locale (#5601) X-Git-Tag: 2.29.0~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=48aa5f1373839a14314d86d889fdfe1553baf068;p=thirdparty%2Fmoment.git [bugfix] fix moment.months() for PL locale (#5601) --- diff --git a/src/locale/pl.js b/src/locale/pl.js index 079118a8f..9f673bde3 100644 --- a/src/locale/pl.js +++ b/src/locale/pl.js @@ -9,7 +9,21 @@ var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierp ), monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( '_' - ); + ), + monthsParse = [ + /^sty/i, + /^lut/i, + /^mar/i, + /^kwi/i, + /^maj/i, + /^cze/i, + /^lip/i, + /^sie/i, + /^wrz/i, + /^paź/i, + /^lis/i, + /^gru/i, + ]; function plural(n) { return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1; } @@ -37,17 +51,6 @@ export default moment.defineLocale('pl', { months: function (momentToFormat, format) { if (!momentToFormat) { return monthsNominative; - } else if (format === '') { - // Hack: if format empty we know this is used to generate - // RegExp by moment. Give then back both valid forms of months - // in RegExp ready format. - return ( - '(' + - monthsSubjective[momentToFormat.month()] + - '|' + - monthsNominative[momentToFormat.month()] + - ')' - ); } else if (/D MMMM/.test(format)) { return monthsSubjective[momentToFormat.month()]; } else { @@ -55,6 +58,9 @@ export default moment.defineLocale('pl', { } }, monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), + monthsParse: monthsParse, + longMonthsParse: monthsParse, + shortMonthsParse: monthsParse, weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split( '_' ), diff --git a/src/test/locale/pl.js b/src/test/locale/pl.js index 98aa3507b..eab7df04c 100755 --- a/src/test/locale/pl.js +++ b/src/test/locale/pl.js @@ -3,6 +3,23 @@ import { localeModule } from '../qunit-locale'; import moment from '../../moment'; localeModule('pl'); +test('months', function (assert) { + assert.deepEqual(moment.months(), [ + 'styczeń', + 'luty', + 'marzec', + 'kwiecień', + 'maj', + 'czerwiec', + 'lipiec', + 'sierpień', + 'wrzesień', + 'październik', + 'listopad', + 'grudzień', + ]); +}); + test('parse', function (assert) { var tests = 'styczeń stycznia sty_luty lutego lut_marzec marca mar_kwiecień kwietnia kwi_maj maja maj_czerwiec czerwca cze_lipiec lipca lip_sierpień sierpnia sie_wrzesień września wrz_październik października paź_listopad listopada lis_grudzień grudnia gru'.split( '_'