From: Tim Fish Date: Sun, 5 Mar 2017 14:32:17 +0000 (+0100) Subject: get tests passing X-Git-Tag: 2.18.0~18^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d9ce7f0909ac93e76b137ad62cba171639f4f200;p=thirdparty%2Fmoment.git get tests passing --- diff --git a/src/locale/be.js b/src/locale/be.js index c22c6e1e6..86181a460 100644 --- a/src/locale/be.js +++ b/src/locale/be.js @@ -29,16 +29,31 @@ function relativeTimeWithPlural(number, withoutSuffix, key) { } } +var monthsStandalone = 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_'), + monthsFormat = 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'); + +var daysFormat = 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'), + daysStandalone = 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'); + export default moment.defineLocale('be', { - months : { - format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'), - standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_') + months : function (m, format) { + if (!m) { + return monthsStandalone; + } else if (/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/.test(format)) { + return monthsFormat[m.month()]; + } else { + return monthsStandalone[m.month()]; + } }, monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'), - weekdays : { - format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'), - standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'), - isFormat: /\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/ + weekdays : function (m, format) { + if (!m) { + return daysStandalone; + } else if (/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/.test(format)) { + return daysFormat[m.day()]; + } else { + return daysStandalone[m.day()]; + } }, weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'), weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'), diff --git a/src/locale/el.js b/src/locale/el.js index e157a6352..2c3270e2a 100644 --- a/src/locale/el.js +++ b/src/locale/el.js @@ -8,11 +8,13 @@ import isFunction from '../lib/utils/is-function'; export default moment.defineLocale('el', { monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'), monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'), - months : function (momentToFormat, format) { - if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM' - return this._monthsGenitiveEl[momentToFormat.month()]; + months : function (m, format) { + if (!m) { + return this._monthsNominativeEl; + } else if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM' + return this._monthsGenitiveEl[m.month()]; } else { - return this._monthsNominativeEl[momentToFormat.month()]; + return this._monthsNominativeEl[m.month()]; } }, monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'), diff --git a/src/locale/hr.js b/src/locale/hr.js index 84878ad09..6216f28a3 100644 --- a/src/locale/hr.js +++ b/src/locale/hr.js @@ -57,10 +57,18 @@ function translate(number, withoutSuffix, key) { } } +var monthsFormat = 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), + monthsStandalone = 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_'); + export default moment.defineLocale('hr', { - months : { - format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), - standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') + months: function (m, format) { + if (!m) { + return monthsStandalone; + } else if (/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/.test(format)) { + return monthsFormat[m.month()]; + } else { + return monthsStandalone[m.month()]; + } }, monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), monthsParseExact: true, diff --git a/src/locale/hy-am.js b/src/locale/hy-am.js index bc50205e0..c8d40c894 100644 --- a/src/locale/hy-am.js +++ b/src/locale/hy-am.js @@ -4,10 +4,18 @@ import moment from '../moment'; +var monthsFormat = 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'), + monthsStandalone = 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_'); + export default moment.defineLocale('hy-am', { - months : { - format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'), - standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_') + months : function (m, format) { + if (!m) { + return monthsStandalone; + } else if (/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/.test(format)) { + return monthsFormat[m.month()]; + } else { + return monthsStandalone[m.month()]; + } }, monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'), diff --git a/src/locale/ka.js b/src/locale/ka.js index b03175d62..bdb826958 100644 --- a/src/locale/ka.js +++ b/src/locale/ka.js @@ -4,16 +4,30 @@ import moment from '../moment'; +var monthsStandalone = 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'), + monthsFormat = 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_'), + daysStandalone = 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'), + daysFormat = 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'); + export default moment.defineLocale('ka', { - months : { - standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'), - format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_') + months : function (m, format) { + if (!m) { + return monthsStandalone; + } else if (/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/.test(format)) { + return monthsFormat[m.month()]; + } else { + return monthsStandalone[m.month()]; + } }, monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'), - weekdays : { - standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'), - format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'), - isFormat: /(წინა|შემდეგ)/ + weekdays : function (m, format) { + if (!m) { + return daysStandalone; + } else if (/(წინა|შემდეგ)/.test(format)) { + return daysFormat[m.day()]; + } else { + return daysStandalone[m.day()]; + } }, weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'), diff --git a/src/locale/lt.js b/src/locale/lt.js index 363f19360..0e67f70df 100644 --- a/src/locale/lt.js +++ b/src/locale/lt.js @@ -46,17 +46,31 @@ function translate(number, withoutSuffix, key, isFuture) { } } } + +var monthsFormat = 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'), + monthsStandalone = 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'), + daysFormat = 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'), + daysStandalone = 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'); + export default moment.defineLocale('lt', { - months : { - format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'), - standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'), - isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/ + months : function (m, format) { + if (!m) { + return monthsStandalone; + } else if (/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/.test(format)) { + return monthsFormat[m.month()]; + } else { + return monthsStandalone[m.month()]; + } }, monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), - weekdays : { - format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'), - standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'), - isFormat: /dddd HH:mm/ + weekdays : function (m, format) { + if (!m) { + return daysStandalone; + } else if (/dddd HH:mm/.test(format)) { + return daysFormat[m.day()]; + } else { + return daysStandalone[m.day()]; + } }, weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'), diff --git a/src/locale/pl.js b/src/locale/pl.js index 9934a5e68..a4d331392 100644 --- a/src/locale/pl.js +++ b/src/locale/pl.js @@ -29,7 +29,9 @@ function translate(number, withoutSuffix, key) { export default moment.defineLocale('pl', { months : function (momentToFormat, format) { - if (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. diff --git a/src/locale/ru.js b/src/locale/ru.js index 2f10d6749..73191006a 100644 --- a/src/locale/ru.js +++ b/src/locale/ru.js @@ -27,23 +27,43 @@ function relativeTimeWithPlural(number, withoutSuffix, key) { } var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i]; +var monthsFormat = 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'), + monthsStandalone = 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'), + monthsShortFormat = 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'), + monthsShortStandalone = 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_'), + daysStandalone = 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'), + daysFormat = 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'); + // http://new.gramota.ru/spravka/rules/139-prop : § 103 // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 export default moment.defineLocale('ru', { - months : { - format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'), - standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_') + months : function (m, format) { + if (!m) { + return monthsStandalone; + } else if (/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/.test(format)) { + return monthsFormat[m.month()]; + } else { + return monthsStandalone[m.month()]; + } }, - monthsShort : { - // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ? - format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'), - standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_') + monthsShort : function (m, format) { + if (!m) { + return monthsShortStandalone; + } else if (/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/.test(format)) { + return monthsShortFormat[m.month()]; + } else { + return monthsShortStandalone[m.month()]; + } }, - weekdays : { - standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'), - format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'), - isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/ + weekdays : function (m, format) { + if (!m) { + return daysStandalone; + } else if (/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/.test(format)) { + return daysFormat[m.day()]; + } else { + return daysStandalone[m.day()]; + } }, weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'), weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'), diff --git a/src/locale/uk.js b/src/locale/uk.js index f5f793cfb..f9d2675c0 100644 --- a/src/locale/uk.js +++ b/src/locale/uk.js @@ -32,8 +32,13 @@ function weekdaysCaseReplace(m, format) { 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'), 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'), 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_') - }, - nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ? + } + + if (!m) { + return weekdays['nominative']; + } + + var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ? 'accusative' : ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ? 'genitive' : @@ -46,10 +51,18 @@ function processHoursFunction(str) { }; } +var monthsFormat = 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'), + monthsStandalone = 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_') + export default moment.defineLocale('uk', { - months : { - 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'), - 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_') + months : function (m, format) { + if (!m) { + return monthsStandalone; + } else if (/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/.test(format)) { + return monthsFormat[m.month()]; + } else { + return monthsStandalone[m.month()]; + } }, monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'), weekdays : weekdaysCaseReplace,