]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
get tests passing
authorTim Fish <tim@timfishy.co.uk>
Sun, 5 Mar 2017 14:32:17 +0000 (15:32 +0100)
committerIskren Chernev <iskren.chernev@gmail.com>
Sat, 11 Mar 2017 23:17:45 +0000 (01:17 +0200)
src/locale/be.js
src/locale/el.js
src/locale/hr.js
src/locale/hy-am.js
src/locale/ka.js
src/locale/lt.js
src/locale/pl.js
src/locale/ru.js
src/locale/uk.js

index c22c6e1e69c8a05c6bbf93e7ee6b030590607f83..86181a460eb80c4ef3c946f52ee64727c3542900 100644 (file)
@@ -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('_'),
index e157a6352dbc06f8153b5eb37bfe4cf3e73e968f..2c3270e2a30a08f3fcc2711236bc95f70656d7da 100644 (file)
@@ -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('_'),
index 84878ad094a63e118f17b13fc0684b829757268a..6216f28a38625bb60d0eba743d0f5d5532c7c115 100644 (file)
@@ -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,
index bc50205e03a5b177802a1111bfb1ae9bff437653..c8d40c89489d0feba5cf4286564c1620da647d57 100644 (file)
@@ -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('_'),
index b03175d629de11a07bc6e3983eff37a9e1e9f31b..bdb826958927553493b989526280c68043f6f994 100644 (file)
@@ -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('_'),
index 363f193609d92626aadeaf875eae26f01b629801..0e67f70df89df9ad123c0c125f6bf163f9cc5256 100644 (file)
@@ -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('_'),
index 9934a5e6873eb6ba29e2b5baba28d3ce24ebc4a8..a4d331392fb8e22dae8b74f93980866e0fd418f2 100644 (file)
@@ -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.
index 2f10d6749c1b6bc0d90a16e3ba44ee88d31277ba..73191006afb8c8ec8b296c6b7398bca417b3e651 100644 (file)
@@ -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('_'),
index f5f793cfb4f2dc55423c9116994d698547784521..f9d2675c076d65756521dbef427669391a9bd984 100644 (file)
@@ -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,