-!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return le.apply(null,arguments)}
-// This is done to register the method called with moment()
-// without creating circular dependencies.
-function b(a){le=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){
-// IE8 will treat undefined and null as object if it wasn't for
-// input != null
-return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)
-// even if its not own property I'd still call it non-empty
-return!1;return!0}function f(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function g(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function h(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function i(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function j(a,b){for(var c in b)i(b,c)&&(a[c]=b[c]);return i(b,"toString")&&(a.toString=b.toString),i(b,"valueOf")&&(a.valueOf=b.valueOf),a}function k(a,b,c,d){return rb(a,b,c,d,!0).utc()}function l(){
-// We need to deep clone this object.
-return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function m(a){return null==a._pf&&(a._pf=l()),a._pf}function n(a){if(null==a._isValid){var b=m(a),c=ne.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function o(a){var b=k(NaN);return null!=a?j(m(b),a):m(b).userInvalidated=!0,b}function p(a){return void 0===a}function q(a,b){var c,d,e;if(p(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),p(b._i)||(a._i=b._i),p(b._f)||(a._f=b._f),p(b._l)||(a._l=b._l),p(b._strict)||(a._strict=b._strict),p(b._tzm)||(a._tzm=b._tzm),p(b._isUTC)||(a._isUTC=b._isUTC),p(b._offset)||(a._offset=b._offset),p(b._pf)||(a._pf=m(b)),p(b._locale)||(a._locale=b._locale),oe.length>0)for(c in oe)d=oe[c],e=b[d],p(e)||(a[d]=e);return a}
-// Moment prototype object
-function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),
-// Prevent infinite loop in case updateOffset creates new moment
-// objects.
-pe===!1&&(pe=!0,a.updateOffset(this),pe=!1)}function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}function t(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}
-// compare two arrays, return the number of differences
-function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;return g+f}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function x(b,c){var d=!0;return j(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),qe[b]||(w(c),qe[b]=!0)}function z(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;this._config=a,
-// Lenient ordinal parsing accepts just a number in addition to
-// number + (possibly) stuff coming from _ordinalParseLenient.
-this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function B(a,b){var c,e=j({},a);for(c in b)i(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},j(e[c],a[c]),j(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)i(a,c)&&!i(b,c)&&d(a[c])&&(
-// make sure changes to properties don't modify parent config
-e[c]=j({},e[c]));return e}function C(a){null!=a&&this.set(a)}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function F(){return this._invalidDate}function G(a){return this._ordinal.replace("%d",a)}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a)}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Ae[c]=Ae[c+"s"]=Ae[b]=a}function K(a){return"string"==typeof a?Ae[a]||Ae[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)i(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Be[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Be[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}
-// MOMENTS
-function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=K(a),z(this[a]))return this[a](b);return this}function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}
-// token: 'M'
-// padded: ['MM', 2]
-// ordinal: 'Mo'
-// callback: function () { this.month() + 1 }
-function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Fe[a]=e),b&&(Fe[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Fe[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Ce);for(b=0,c=d.length;b<c;b++)Fe[d[b]]?d[b]=Fe[d[b]]:d[b]=V(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=d[e]instanceof Function?d[e].call(b,a):d[e];return f}}
-// format date using native date object
-function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Ee[b]=Ee[b]||W(b),Ee[b](a)):a.localeData().invalidDate()}function Y(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(De.lastIndex=0;d>=0&&De.test(a);)a=a.replace(De,c),De.lastIndex=0,d-=1;return a}function Z(a,b,c){Xe[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return i(Xe,a)?Xe[a](b._strict,b._locale):new RegExp(_(a))}
-// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
-function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),f(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c<a.length;c++)Ye[a[c]]=d}function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function da(a,b,c){null!=b&&i(Ye,a)&&Ye[a](b,c._a,c,a)}function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||hf).test(b)?"format":"standalone"][a.month()]:this._months}function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[hf.test(b)?"format":"standalone"][a.month()]:this._monthsShort}function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(
-// this is not used
-this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=k([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=gf.call(this._shortMonthsParse,g),e!==-1?e:null):(e=gf.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=gf.call(this._shortMonthsParse,g),e!==-1?e:(e=gf.call(this._longMonthsParse,g),e!==-1?e:null)):(e=gf.call(this._longMonthsParse,g),e!==-1?e:(e=gf.call(this._shortMonthsParse,g),e!==-1?e:null))}function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(this,a,b,c);
-// TODO: add sorting
-// Sorting makes sure if one month (or abbr) is a prefix of another
-// see sorting in computeMonthsParse
-for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){
-// test the regex
-if(
-// make the regex if we don't have it already
-e=k([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}
-// MOMENTS
-function ja(a,b){var c;if(!a.isValid())
-// No op
-return a;if("string"==typeof b)if(/^\d+$/.test(b))b=u(b);else
-// TODO: Another silent failure?
-if(b=a.localeData().monthsParse(b),!f(b))return a;return c=Math.min(a.date(),ea(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ka(b){return null!=b?(ja(this,b),a.updateOffset(this,!0),this):P(this,"Month")}function la(){return ea(this.year(),this.month())}function ma(a){return this._monthsParseExact?(i(this,"_monthsRegex")||oa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(i(this,"_monthsShortRegex")||(this._monthsShortRegex=lf),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function na(a){return this._monthsParseExact?(i(this,"_monthsRegex")||oa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(i(this,"_monthsRegex")||(this._monthsRegex=mf),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function oa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)
-// make the regex if we don't have it already
-c=k([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(
-// Sorting makes sure if one month (or abbr) is a prefix of another it
-// will match the longer piece.
-d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=aa(d[b]),e[b]=aa(e[b]);for(b=0;b<24;b++)f[b]=aa(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}
-// HELPERS
-function pa(a){return qa(a)?366:365}function qa(a){return a%4===0&&a%100!==0||a%400===0}function ra(){return qa(this.year())}function sa(a,b,c,d,e,f,g){
-//can't just apply() to create a date:
-//http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
-var h=new Date(a,b,c,d,e,f,g);
-//the date constructor remaps years 0-99 to 1900-1999
-return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));
-//the Date.UTC function remaps years 0-99 to 1900-1999
-return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}
-// start-of-first-week - start-of-year
-function ua(a,b,c){var// first-week day -- which january is always in the first week (4 for iso, 1 for other)
-d=7+b-c,
-// first-week day local weekday -- which local weekday is fwd
-e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}
-//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
-function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}
-// HELPERS
-// LOCALES
-function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}
-// MOMENTS
-function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}
-// HELPERS
-function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:this._weekdays}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=k([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=gf.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=gf.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=gf.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=gf.call(this._weekdaysParse,g),e!==-1?e:(e=gf.call(this._shortWeekdaysParse,g),e!==-1?e:(e=gf.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=gf.call(this._shortWeekdaysParse,g),e!==-1?e:(e=gf.call(this._weekdaysParse,g),e!==-1?e:(e=gf.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=gf.call(this._minWeekdaysParse,g),e!==-1?e:(e=gf.call(this._weekdaysParse,g),e!==-1?e:(e=gf.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){
-// test the regex
-if(
-// make the regex if we don't have it already
-e=k([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}
-// MOMENTS
-function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;
-// behaves the same as moment#day except
-// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
-// as a setter, sunday should belong to the previous week.
-if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(i(this,"_weekdaysRegex")||(this._weekdaysRegex=sf),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(i(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=tf),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(i(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(i(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=uf),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)
-// make the regex if we don't have it already
-c=k([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(
-// Sorting makes sure if one weekday (or abbr) is a prefix of another it
-// will match the longer piece.
-g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}
-// FORMATTING
-function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}
-// PARSING
-function Ua(a,b){return b._meridiemParse}
-// LOCALES
-function Va(a){
-// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
-// Using charAt should be more compatible.
-return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}
-// pick the locale from the array
-// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
-// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
-function Ya(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Xa(a[f]).split("-"),b=e.length,c=Xa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)
-//the next array item is better than a shallower substring of this one
-break;b--}f++}return null}function Za(a){var b=null;
-// TODO: Find a better way to register and load all the locales in Node
-if(!zf[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=vf._abbr,require("./locale/"+a),
-// because defineLocale currently also sets the global locale, we
-// want to undo that for lazy loaded locales
-$a(b)}catch(a){}return zf[a]}
-// This function will load locale and then set the global locale. If
-// no arguments are passed in, it will simply return the current global
-// locale key.
-function $a(a,b){var c;
-// moment.duration._locale = moment._locale = data;
-return a&&(c=p(b)?bb(a):_a(a,b),c&&(vf=c)),vf._abbr}function _a(a,b){if(null!==b){var c=yf;if(b.abbr=a,null!=zf[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=zf[a]._config;else if(null!=b.parentLocale){if(null==zf[b.parentLocale])return Af[b.parentLocale]||(Af[b.parentLocale]=[]),Af[b.parentLocale].push({name:a,config:b}),null;c=zf[b.parentLocale]._config}
-// backwards compat for now: also set the locale
-// make sure we set the locale AFTER all child locales have been
-// created, so we won't end up with the child locale set.
-return zf[a]=new C(B(c,b)),Af[a]&&Af[a].forEach(function(a){_a(a.name,a.config)}),$a(a),zf[a]}
-// useful for testing
-return delete zf[a],null}function ab(a,b){if(null!=b){var c,d=yf;
-// MERGE
-null!=zf[a]&&(d=zf[a]._config),b=B(d,b),c=new C(b),c.parentLocale=zf[a],zf[a]=c,
-// backwards compat for now: also set the locale
-$a(a)}else
-// pass null for config to unupdate, useful for tests
-null!=zf[a]&&(null!=zf[a].parentLocale?zf[a]=zf[a].parentLocale:null!=zf[a]&&delete zf[a]);return zf[a]}
-// returns locale data
-function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return vf;if(!c(a)){if(
-//short-circuit everything else
-b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return te(zf)}function db(a){var b,c=a._a;return c&&m(a).overflow===-2&&(b=c[$e]<0||c[$e]>11?$e:c[_e]<1||c[_e]>ea(c[Ze],c[$e])?_e:c[af]<0||c[af]>24||24===c[af]&&(0!==c[bf]||0!==c[cf]||0!==c[df])?af:c[bf]<0||c[bf]>59?bf:c[cf]<0||c[cf]>59?cf:c[df]<0||c[df]>999?df:-1,m(a)._overflowDayOfYear&&(b<Ze||b>_e)&&(b=_e),m(a)._overflowWeeks&&b===-1&&(b=ef),m(a)._overflowWeekday&&b===-1&&(b=ff),m(a).overflow=b),a}
-// date from iso format
-function eb(a){var b,c,d,e,f,g,h=a._i,i=Bf.exec(h)||Cf.exec(h);if(i){for(m(a).iso=!0,b=0,c=Ef.length;b<c;b++)if(Ef[b][1].exec(i[1])){e=Ef[b][0],d=Ef[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Ff.length;b<c;b++)if(Ff[b][1].exec(i[3])){
-// match[2] should be 'T' or space
-f=(i[2]||" ")+Ff[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Df.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),kb(a)}else a._isValid=!1}
-// date from iso format or fallback
-function fb(b){var c=Gf.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b))))}
-// Pick the first defined of two or three arguments.
-function gb(a,b,c){return null!=a?a:null!=b?b:c}function hb(b){
-// hooks is actually the exported moment object
-var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}
-// convert an array to a date.
-// the array should mirror the parameters below
-// note: all values past the year are optional and will default to the lowest possible value.
-// [year, month, day , hour, minute, second, millisecond]
-function ib(a){var b,c,d,e,f=[];if(!a._d){
-// Default to current date.
-// * if no year, month, day of month are given, default to today
-// * if day of month is given, default month and year
-// * if month is given, default only year
-// * if year is given, don't default anything
-for(d=hb(a),
-//compute day of the year from weeks and weekdays
-a._w&&null==a._a[_e]&&null==a._a[$e]&&jb(a),
-//if the day of the year is set, figure out what it is
-a._dayOfYear&&(e=gb(a._a[Ze],d[Ze]),a._dayOfYear>pa(e)&&(m(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[$e]=c.getUTCMonth(),a._a[_e]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];
-// Zero out whatever was not defaulted, including time
-for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];
-// Check for 24:00:00.000
-24===a._a[af]&&0===a._a[bf]&&0===a._a[cf]&&0===a._a[df]&&(a._nextDay=!0,a._a[af]=0),a._d=(a._useUTC?ta:sa).apply(null,f),
-// Apply timezone offset from input. The actual utcOffset can be changed
-// with parseZone.
-null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[af]=24)}}function jb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,
-// TODO: We need to take the current isoWeekYear, but that depends on
-// how we interpret now (local, utc, fixed offset). So create
-// a now version of current config (take local/utc/offset flags, and
-// create now).
-c=gb(b.GG,a._a[Ze],wa(sb(),1,4).year),d=gb(b.W,1),e=gb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(sb(),f,g);c=gb(b.gg,a._a[Ze],j.year),
-// Default to current week.
-d=gb(b.w,j.week),null!=b.d?(
-// weekday -- low day numbers are considered next week
-e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(
-// local weekday -- counting starts from begining of week
-e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):
-// default to begining of week
-e=f}d<1||d>xa(c,f,g)?m(a)._overflowWeeks=!0:null!=i?m(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[Ze]=h.year,a._dayOfYear=h.dayOfYear)}
-// date from string and format string
-function kb(b){
-// TODO: Move this to another part of the creation flow to prevent circular deps
-if(b._f===a.ISO_8601)return void eb(b);b._a=[],m(b).empty=!0;
-// This array is used to make a Date, either with `new Date` or `Date.UTC`
-var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Ce)||[],c=0;c<e.length;c++)f=e[c],d=(h.match($(f,b))||[])[0],
-// console.log('token', token, 'parsedInput', parsedInput,
-// 'regex', getParseRegexForToken(token, config));
-d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&m(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),
-// don't parse if it's not a known token
-Fe[f]?(d?m(b).empty=!1:m(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&m(b).unusedTokens.push(f);
-// add remaining unparsed input length to the string
-m(b).charsLeftOver=i-j,h.length>0&&m(b).unusedInput.push(h),
-// clear _12h flag if hour is <= 12
-b._a[af]<=12&&m(b).bigHour===!0&&b._a[af]>0&&(m(b).bigHour=void 0),m(b).parsedDateParts=b._a.slice(0),m(b).meridiem=b._meridiem,
-// handle meridiem
-b._a[af]=lb(b._locale,b._a[af],b._meridiem),ib(b),db(b)}function lb(a,b,c){var d;
-// Fallback
-return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}
-// date from string and array of format strings
-function mb(a){var b,c,d,e,f;if(0===a._f.length)return m(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=q({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],kb(b),n(b)&&(
-// if there is any input that was not parsed add a penalty for that format
-f+=m(b).charsLeftOver,
-//or tokens
-f+=10*m(b).unusedTokens.length,m(b).score=f,(null==d||f<d)&&(d=f,c=b));j(a,c||b)}function nb(a){if(!a._d){var b=L(a._i);a._a=h([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),ib(a)}}function ob(a){var b=new r(db(pb(a)));
-// Adding is smart enough around DST
-return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function pb(a){var b=a._i,d=a._f;return a._locale=a._locale||bb(a._l),null===b||void 0===d&&""===b?o({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),s(b)?new r(db(b)):(g(b)?a._d=b:c(d)?mb(a):d?kb(a):qb(a),n(a)||(a._d=null),a))}function qb(b){var d=b._i;void 0===d?b._d=new Date(a.now()):g(d)?b._d=new Date(d.valueOf()):"string"==typeof d?fb(b):c(d)?(b._a=h(d.slice(0),function(a){return parseInt(a,10)}),ib(b)):"object"==typeof d?nb(b):f(d)?
-// from milliseconds
-b._d=new Date(d):a.createFromInputFallback(b)}function rb(a,b,f,g,h){var i={};
-// object construction must be done this way.
-// https://github.com/moment/moment/issues/1423
-return f!==!0&&f!==!1||(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,ob(i)}function sb(a,b,c,d){return rb(a,b,c,d,!1)}
-// Pick a moment m from moments so that m[fn](other) is true for all
-// other. This relies on the function fn to be transitive.
-//
-// moments should either be an array of moment objects or an array, whose
-// first element is an array of moment objects.
-function tb(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return sb();for(d=b[0],e=1;e<b.length;++e)b[e].isValid()&&!b[e][a](d)||(d=b[e]);return d}
-// TODO: Use [].sort instead?
-function ub(){var a=[].slice.call(arguments,0);return tb("isBefore",a)}function vb(){var a=[].slice.call(arguments,0);return tb("isAfter",a)}function wb(a){var b=L(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;
-// representation for dateAddRemove
-this._milliseconds=+k+1e3*j+// 1000
-6e4*i+// 1000 * 60
-1e3*h*60*60,//using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
-// Because of dateAddRemove treats 24 hours as different from a
-// day when working around DST, we need to store them separately
-this._days=+g+7*f,
-// It is impossible translate months into days without knowing
-// which months you are are talking about, so we have to store
-// it separately.
-this._months=+e+3*d+12*c,this._data={},this._locale=bb(),this._bubble()}function xb(a){return a instanceof wb}function yb(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}
-// FORMATTING
-function zb(a,b){U(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+T(~~(a/60),2)+b+T(~~a%60,2)})}function Ab(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Kf)||["-",0,0],f=+(60*e[1])+u(e[2]);return 0===f?0:"+"===e[0]?f:-f}
-// Return a moment from input, that is local/utc/zone equivalent to model.
-function Bb(b,c){var d,e;
-// Use low-level api, because this fn is low-level api.
-return c._isUTC?(d=c.clone(),e=(s(b)||g(b)?b.valueOf():sb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):sb(b).local()}function Cb(a){
-// On Firefox.24 Date#getTimezoneOffset returns a floating point.
-// https://github.com/moment/moment/pull/1871
-return 15*-Math.round(a._d.getTimezoneOffset()/15)}
-// MOMENTS
-// keepLocalTime = true means only change the timezone, without
-// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
-// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
-// +0200, so we adjust the time as needed, to be valid.
-//
-// Keeping the time actually adds/subtracts (one hour)
-// from the actual represented time. That is why we call updateOffset
-// a second time. In case it wants us to change the offset again
-// _changeInProgress == true case, then we have to adjust, because
-// there is no such time in the given timezone.
-function Db(b,c){var d,e=this._offset||0;if(!this.isValid())return null!=b?this:NaN;if(null!=b){if("string"==typeof b){if(b=Ab(Ue,b),null===b)return this}else Math.abs(b)<16&&(b=60*b);return!this._isUTC&&c&&(d=Cb(this)),this._offset=b,this._isUTC=!0,null!=d&&this.add(d,"m"),e!==b&&(!c||this._changeInProgress?Tb(this,Ob(b-e,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?e:Cb(this)}function Eb(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Fb(a){return this.utcOffset(0,a)}function Gb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Cb(this),"m")),this}function Hb(){if(null!=this._tzm)this.utcOffset(this._tzm);else if("string"==typeof this._i){var a=Ab(Te,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this}function Ib(a){return!!this.isValid()&&(a=a?sb(a).utcOffset():0,(this.utcOffset()-a)%60===0)}function Jb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Kb(){if(!p(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=pb(a),a._a){var b=a._isUTC?k(a._a):sb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Lb(){return!!this.isValid()&&!this._isUTC}function Mb(){return!!this.isValid()&&this._isUTC}function Nb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Ob(a,b){var c,d,e,g=a,
-// matching against regexp is expensive, do it on demand
-h=null;// checks for null or undefined
-return xb(a)?g={ms:a._milliseconds,d:a._days,M:a._months}:f(a)?(g={},b?g[b]=a:g.milliseconds=a):(h=Lf.exec(a))?(c="-"===h[1]?-1:1,g={y:0,d:u(h[_e])*c,h:u(h[af])*c,m:u(h[bf])*c,s:u(h[cf])*c,ms:u(yb(1e3*h[df]))*c}):(h=Mf.exec(a))?(c="-"===h[1]?-1:1,g={y:Pb(h[2],c),M:Pb(h[3],c),w:Pb(h[4],c),d:Pb(h[5],c),h:Pb(h[6],c),m:Pb(h[7],c),s:Pb(h[8],c)}):null==g?g={}:"object"==typeof g&&("from"in g||"to"in g)&&(e=Rb(sb(g.from),sb(g.to)),g={},g.ms=e.milliseconds,g.M=e.months),d=new wb(g),xb(a)&&i(a,"_locale")&&(d._locale=a._locale),d}function Pb(a,b){
-// We'd normally use ~~inp for this, but unfortunately it also
-// converts floats to ints.
-// inp may be undefined, so careful calling replace on it.
-var c=a&&parseFloat(a.replace(",","."));
-// apply sign while we're at it
-return(isNaN(c)?0:c)*b}function Qb(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Rb(a,b){var c;return a.isValid()&&b.isValid()?(b=Bb(b,a),a.isBefore(b)?c=Qb(a,b):(c=Qb(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}
-// TODO: remove 'name' arg after deprecation is removed
-function Sb(a,b){return function(c,d){var e,f;
-//invert the arguments, but complain about it
-return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Ob(c,d),Tb(this,e,a),this}}function Tb(b,c,d,e){var f=c._milliseconds,g=yb(c._days),h=yb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Ub(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Vb(b,c){
-// We want to compare the start of today, vs this.
-// Getting start-of-today depends on whether we're local/utc/offset or not.
-var d=b||sb(),e=Bb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,sb(d)))}function Wb(){return new r(this)}function Xb(a,b){var c=s(a)?a:sb(a);return!(!this.isValid()||!c.isValid())&&(b=K(p(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf())}function Yb(a,b){var c=s(a)?a:sb(a);return!(!this.isValid()||!c.isValid())&&(b=K(p(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf())}function Zb(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function $b(a,b){var c,d=s(a)?a:sb(a);return!(!this.isValid()||!d.isValid())&&(b=K(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()))}function _b(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function ac(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function bc(a,b,c){var d,e,f,g;// 1000
-// 1000 * 60
-// 1000 * 60 * 60
-// 1000 * 60 * 60 * 24, negate dst
-// 1000 * 60 * 60 * 24 * 7, negate dst
-return this.isValid()?(d=Bb(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=K(b),"year"===b||"month"===b||"quarter"===b?(g=cc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:t(g)):NaN):NaN}function cc(a,b){
-// difference in months
-var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),
-// b is in (anchor - 1 month, anchor + 1 month)
-f=a.clone().add(e,"months");
-//check for negative zero, return zero if negative zero
-// linear across the month
-// linear across the month
-return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function dc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ec(){var a=this.clone().utc();return 0<a.year()&&a.year()<=9999?z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}/**
- * Return a human readable representation of a moment that can
- * also be evaluated to get a new moment which is the same
- *
- * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
- */
-function fc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function gc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function hc(a,b){return this.isValid()&&(s(a)&&a.isValid()||sb(a).isValid())?Ob({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function ic(a){return this.from(sb(),a)}function jc(a,b){return this.isValid()&&(s(a)&&a.isValid()||sb(a).isValid())?Ob({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function kc(a){return this.to(sb(),a)}
-// If passed a locale key, it will set the locale for this
-// instance. Otherwise, it will return the locale configuration
-// variables for this instance.
-function lc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function mc(){return this._locale}function nc(a){
-// the following switch intentionally omits break keywords
-// to utilize falling through the cases.
-switch(a=K(a)){case"year":this.month(0);/* falls through */
-case"quarter":case"month":this.date(1);/* falls through */
-case"week":case"isoWeek":case"day":case"date":this.hours(0);/* falls through */
-case"hour":this.minutes(0);/* falls through */
-case"minute":this.seconds(0);/* falls through */
-case"second":this.milliseconds(0)}
-// weeks are a special case
-// quarters are also special
-return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function oc(a){
-// 'date' is an alias for 'day', so it should be considered as such.
-return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function pc(){return this._d.valueOf()-6e4*(this._offset||0)}function qc(){return Math.floor(this.valueOf()/1e3)}function rc(){return new Date(this.valueOf())}function sc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function tc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function uc(){
-// new Date(NaN).toJSON() === null
-return this.isValid()?this.toISOString():null}function vc(){return n(this)}function wc(){return j({},m(this))}function xc(){return m(this).overflow}function yc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function zc(a,b){U(0,[a,a.length],0,b)}
-// MOMENTS
-function Ac(a){return Ec.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Bc(a){return Ec.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Cc(){return xa(this.year(),1,4)}function Dc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ec(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Fc.call(this,a,b,c,d,e))}function Fc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}
-// MOMENTS
-function Gc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}
-// HELPERS
-// MOMENTS
-function Hc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Ic(a,b){b[df]=u(1e3*("0."+a))}
-// MOMENTS
-function Jc(){return this._isUTC?"UTC":""}function Kc(){return this._isUTC?"Coordinated Universal Time":""}function Lc(a){return sb(1e3*a)}function Mc(){return sb.apply(null,arguments).parseZone()}function Nc(a){return a}function Oc(a,b,c,d){var e=bb(),f=k().set(d,b);return e[c](f,a)}function Pc(a,b,c){if(f(a)&&(b=a,a=void 0),a=a||"",null!=b)return Oc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Oc(a,d,c,"month");return e}
-// ()
-// (5)
-// (fmt, 5)
-// (fmt)
-// (true)
-// (true, 5)
-// (true, fmt, 5)
-// (true, fmt)
-function Qc(a,b,c,d){"boolean"==typeof a?(f(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,f(b)&&(c=b,b=void 0),b=b||"");var e=bb(),g=a?e._week.dow:0;if(null!=c)return Oc(b,(c+g)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Oc(b,(h+g)%7,d,"day");return i}function Rc(a,b){return Pc(a,b,"months")}function Sc(a,b){return Pc(a,b,"monthsShort")}function Tc(a,b,c){return Qc(a,b,c,"weekdays")}function Uc(a,b,c){return Qc(a,b,c,"weekdaysShort")}function Vc(a,b,c){return Qc(a,b,c,"weekdaysMin")}function Wc(){var a=this._data;return this._milliseconds=Xf(this._milliseconds),this._days=Xf(this._days),this._months=Xf(this._months),a.milliseconds=Xf(a.milliseconds),a.seconds=Xf(a.seconds),a.minutes=Xf(a.minutes),a.hours=Xf(a.hours),a.months=Xf(a.months),a.years=Xf(a.years),this}function Xc(a,b,c,d){var e=Ob(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}
-// supports only 2.0-style add(1, 's') or add(duration)
-function Yc(a,b){return Xc(this,a,b,1)}
-// supports only 2.0-style subtract(1, 's') or subtract(duration)
-function Zc(a,b){return Xc(this,a,b,-1)}function $c(a){return a<0?Math.floor(a):Math.ceil(a)}function _c(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;
-// if we have a mix of positive and negative values, bubble down first
-// check: https://github.com/moment/moment/issues/2166
-// The following code bubbles up values, see the tests for
-// examples of what that means.
-// convert days to months
-// 12 months -> 1 year
-return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*$c(bd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ad(g)),h+=e,g-=$c(bd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ad(a){
-// 400 years have 146097 days (taking into account leap year rules)
-// 400 years have 12 months === 4800
-return 4800*a/146097}function bd(a){
-// the reverse of daysToMonths
-return 146097*a/4800}function cd(a){var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ad(b),"month"===a?c:c/12;switch(
-// handle milliseconds separately because of floating point math errors (issue #1867)
-b=this._days+Math.round(bd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;
-// Math.floor prevents floating point math errors here
-case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}
-// TODO: Use this.as('ms')?
-function dd(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12)}function ed(a){return function(){return this.as(a)}}function fd(a){return a=K(a),this[a+"s"]()}function gd(a){return function(){return this._data[a]}}function hd(){return t(this.days()/7)}
-// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
-function id(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function jd(a,b,c){var d=Ob(a).abs(),e=lg(d.as("s")),f=lg(d.as("m")),g=lg(d.as("h")),h=lg(d.as("d")),i=lg(d.as("M")),j=lg(d.as("y")),k=e<mg.s&&["s",e]||f<=1&&["m"]||f<mg.m&&["mm",f]||g<=1&&["h"]||g<mg.h&&["hh",g]||h<=1&&["d"]||h<mg.d&&["dd",h]||i<=1&&["M"]||i<mg.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,id.apply(null,k)}
-// This function allows you to set the rounding function for relative time strings
-function kd(a){return void 0===a?lg:"function"==typeof a&&(lg=a,!0)}
-// This function allows you to set a threshold for relative time strings
-function ld(a,b){return void 0!==mg[a]&&(void 0===b?mg[a]:(mg[a]=b,!0))}function md(a){var b=this.localeData(),c=jd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function nd(){
-// for ISO strings we do not use the normal bubbling rules:
-// * milliseconds bubble up until they become hours
-// * days do not bubble at all
-// * months bubble up until they become years
-// This is because there is no context-free conversion between hours and days
-// (think of clock changes)
-// and also not between days and months (28-31 days per month)
-var a,b,c,d=ng(this._milliseconds)/1e3,e=ng(this._days),f=ng(this._months);
-// 3600 seconds -> 60 minutes -> 1 hour
-a=t(d/60),b=t(a/60),d%=60,a%=60,
-// 12 months -> 1 year
-c=t(f/12),f%=12;
-// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
-var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}
+!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return re.apply(null,arguments)}function b(a){re=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)return!1;return!0}function f(a){return void 0===a}function g(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function h(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function i(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function j(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function k(a,b){for(var c in b)j(b,c)&&(a[c]=b[c]);return j(b,"toString")&&(a.toString=b.toString),j(b,"valueOf")&&(a.valueOf=b.valueOf),a}function l(a,b,c,d){return sb(a,b,c,d,!0).utc()}function m(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function n(a){return null==a._pf&&(a._pf=m()),a._pf}function o(a){if(null==a._isValid){var b=n(a),c=te.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function p(a){var b=l(NaN);return null!=a?k(n(b),a):n(b).userInvalidated=!0,b}function q(a,b){var c,d,e;if(f(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),f(b._i)||(a._i=b._i),f(b._f)||(a._f=b._f),f(b._l)||(a._l=b._l),f(b._strict)||(a._strict=b._strict),f(b._tzm)||(a._tzm=b._tzm),f(b._isUTC)||(a._isUTC=b._isUTC),f(b._offset)||(a._offset=b._offset),f(b._pf)||(a._pf=n(b)),f(b._locale)||(a._locale=b._locale),ue.length>0)for(c=0;c<ue.length;c++)d=ue[c],e=b[d],f(e)||(a[d]=e);return a}function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),ve===!1&&(ve=!0,a.updateOffset(this),ve=!1)}function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}function t(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;return g+f}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function x(b,c){var d=!0;return k(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),we[b]||(w(c),we[b]=!0)}function z(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;this._config=a,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function B(a,b){var c,e=k({},a);for(c in b)j(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},k(e[c],a[c]),k(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)j(a,c)&&!j(b,c)&&d(a[c])&&(e[c]=k({},e[c]));return e}function C(a){null!=a&&this.set(a)}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function F(){return this._invalidDate}function G(a){return this._ordinal.replace("%d",a)}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a)}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Ge[c]=Ge[c+"s"]=Ge[b]=a}function K(a){return"string"==typeof a?Ge[a]||Ge[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){He[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:He[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=K(a),z(this[a]))return this[a](b);return this}function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Le[a]=e),b&&(Le[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Le[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Ie);for(b=0,c=d.length;b<c;b++)Le[d[b]]?d[b]=Le[d[b]]:d[b]=V(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=z(d[e])?d[e].call(b,a):d[e];return f}}function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Ke[b]=Ke[b]||W(b),Ke[b](a)):a.localeData().invalidDate()}function Y(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Je.lastIndex=0;d>=0&&Je.test(a);)a=a.replace(Je,c),Je.lastIndex=0,d-=1;return a}function Z(a,b,c){bf[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return j(bf,a)?bf[a](b._strict,b._locale):new RegExp(_(a))}function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c<a.length;c++)cf[a[c]]=d}function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function da(a,b,c){null!=b&&j(cf,a)&&cf[a](b,c._a,c,a)}function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||of).test(b)?"format":"standalone"][a.month()]:c(this._months)?this._months:this._months.standalone}function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[of.test(b)?"format":"standalone"][a.month()]:c(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=l([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=nf.call(this._shortMonthsParse,g),e!==-1?e:null):(e=nf.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=nf.call(this._shortMonthsParse,g),e!==-1?e:(e=nf.call(this._longMonthsParse,g),e!==-1?e:null)):(e=nf.call(this._longMonthsParse,g),e!==-1?e:(e=nf.call(this._shortMonthsParse,g),e!==-1?e:null))}function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(this,a,b,c);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){if(e=l([2e3,d]),c&&!this._longMonthsParse[d]&&(this._longMonthsParse[d]=new RegExp("^"+this.months(e,"").replace(".","")+"$","i"),this._shortMonthsParse[d]=new RegExp("^"+this.monthsShort(e,"").replace(".","")+"$","i")),c||this._monthsParse[d]||(f="^"+this.months(e,"")+"|^"+this.monthsShort(e,""),this._monthsParse[d]=new RegExp(f.replace(".",""),"i")),c&&"MMMM"===b&&this._longMonthsParse[d].test(a))return d;if(c&&"MMM"===b&&this._shortMonthsParse[d].test(a))return d;if(!c&&this._monthsParse[d].test(a))return d}}function ja(a,b){var c;if(!a.isValid())return a;if("string"==typeof b)if(/^\d+$/.test(b))b=u(b);else if(b=a.localeData().monthsParse(b),!g(b))return a;return c=Math.min(a.date(),ea(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a}function ka(b){return null!=b?(ja(this,b),a.updateOffset(this,!0),this):P(this,"Month")}function la(){return ea(this.year(),this.month())}function ma(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(j(this,"_monthsShortRegex")||(this._monthsShortRegex=rf),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)}function na(a){return this._monthsParseExact?(j(this,"_monthsRegex")||oa.call(this),a?this._monthsStrictRegex:this._monthsRegex):(j(this,"_monthsRegex")||(this._monthsRegex=sf),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)}function oa(){function a(a,b){return b.length-a.length}var b,c,d=[],e=[],f=[];for(b=0;b<12;b++)c=l([2e3,b]),d.push(this.monthsShort(c,"")),e.push(this.months(c,"")),f.push(this.months(c,"")),f.push(this.monthsShort(c,""));for(d.sort(a),e.sort(a),f.sort(a),b=0;b<12;b++)d[b]=aa(d[b]),e[b]=aa(e[b]);for(b=0;b<24;b++)f[b]=aa(f[b]);this._monthsRegex=new RegExp("^("+f.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+e.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+d.join("|")+")","i")}function pa(a){return qa(a)?366:365}function qa(a){return a%4===0&&a%100!==0||a%400===0}function ra(){return qa(this.year())}function sa(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return a<100&&a>=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=nf.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=nf.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=nf.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=nf.call(this._weekdaysParse,g),e!==-1?e:(e=nf.call(this._shortWeekdaysParse,g),e!==-1?e:(e=nf.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=nf.call(this._shortWeekdaysParse,g),e!==-1?e:(e=nf.call(this._weekdaysParse,g),e!==-1?e:(e=nf.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=nf.call(this._minWeekdaysParse,g),e!==-1?e:(e=nf.call(this._weekdaysParse,g),e!==-1?e:(e=nf.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=yf),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=zf),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Af),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Ua(a,b){return b._meridiemParse}function Va(a){return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}function Ya(a){for(var b,c,d,e,f=0;f<a.length;){for(e=Xa(a[f]).split("-"),b=e.length,c=Xa(a[f+1]),c=c?c.split("-"):null;b>0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function Za(a){var b=null;if(!Ff[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Bf._abbr,require("./locale/"+a),$a(b)}catch(a){}return Ff[a]}function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Bf=c)),Bf._abbr}function _a(a,b){if(null!==b){var c=Ef;if(b.abbr=a,null!=Ff[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Ff[a]._config;else if(null!=b.parentLocale){if(null==Ff[b.parentLocale])return Gf[b.parentLocale]||(Gf[b.parentLocale]=[]),Gf[b.parentLocale].push({name:a,config:b}),null;c=Ff[b.parentLocale]._config}return Ff[a]=new C(B(c,b)),Gf[a]&&Gf[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Ff[a]}return delete Ff[a],null}function ab(a,b){if(null!=b){var c,d=Ef;null!=Ff[a]&&(d=Ff[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Ff[a],Ff[a]=c,$a(a)}else null!=Ff[a]&&(null!=Ff[a].parentLocale?Ff[a]=Ff[a].parentLocale:null!=Ff[a]&&delete Ff[a]);return Ff[a]}function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Bf;if(!c(a)){if(b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return ze(Ff)}function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[ef]<0||c[ef]>11?ef:c[ff]<1||c[ff]>ea(c[df],c[ef])?ff:c[gf]<0||c[gf]>24||24===c[gf]&&(0!==c[hf]||0!==c[jf]||0!==c[kf])?gf:c[hf]<0||c[hf]>59?hf:c[jf]<0||c[jf]>59?jf:c[kf]<0||c[kf]>999?kf:-1,n(a)._overflowDayOfYear&&(b<df||b>ff)&&(b=ff),n(a)._overflowWeeks&&b===-1&&(b=lf),n(a)._overflowWeekday&&b===-1&&(b=mf),n(a).overflow=b),a}function eb(a){var b,c,d,e,f,g,h=a._i,i=Hf.exec(h)||If.exec(h);if(i){for(n(a).iso=!0,b=0,c=Kf.length;b<c;b++)if(Kf[b][1].exec(i[1])){e=Kf[b][0],d=Kf[b][2]!==!1;break}if(null==e)return void(a._isValid=!1);if(i[3]){for(b=0,c=Lf.length;b<c;b++)if(Lf[b][1].exec(i[3])){f=(i[2]||" ")+Lf[b][0];break}if(null==f)return void(a._isValid=!1)}if(!d&&null!=f)return void(a._isValid=!1);if(i[4]){if(!Jf.exec(i[4]))return void(a._isValid=!1);g="Z"}a._f=e+(f||"")+(g||""),lb(a)}else a._isValid=!1}function fb(a){var b,c,d,e,f,g,h,i,j={" GMT":" +0000"," EDT":" -0400"," EST":" -0500"," CDT":" -0500"," CST":" -0600"," MDT":" -0600"," MST":" -0700"," PDT":" -0700"," PST":" -0800"},k="YXWVUTSRQPONZABCDEFGHIKLM";if(b=a._i.replace(/\([^\)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s|\s$/g,""),c=Nf.exec(b)){if(d=c[1]?"ddd"+(5===c[1].length?", ":" "):"",e="D MMM "+(c[2].length>10?"YYYY ":"YY "),f="HH:mm"+(c[4]?":ss":""),c[1]){var l=new Date(c[2]),m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][l.getDay()];if(c[1].substr(0,3)!==m)return n(a).weekdayMismatch=!0,void(a._isValid=!1)}switch(c[5].length){case 2:0===i?h=" +0000":(i=k.indexOf(c[5][1].toUpperCase())-12,h=(i<0?" -":" +")+(""+i).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:h=j[c[5]];break;default:h=j[" GMT"]}c[5]=h,a._i=c.splice(1).join(""),g=" ZZ",a._f=d+e+f+g,lb(a),n(a).rfc2822=!0}else a._isValid=!1}function gb(b){var c=Mf.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,fb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))))}function hb(a,b,c){return null!=a?a:null!=b?b:c}function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[ff]&&null==a._a[ef]&&kb(a),null!=a._dayOfYear&&(e=hb(a._a[df],d[df]),(a._dayOfYear>pa(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[ef]=c.getUTCMonth(),a._a[ff]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[gf]&&0===a._a[hf]&&0===a._a[jf]&&0===a._a[kf]&&(a._nextDay=!0,a._a[gf]=0),a._d=(a._useUTC?ta:sa).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[gf]=24)}}function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=hb(b.GG,a._a[df],wa(tb(),1,4).year),d=hb(b.W,1),e=hb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(tb(),f,g);c=hb(b.gg,a._a[df],j.year),d=hb(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}d<1||d>xa(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[df]=h.year,a._dayOfYear=h.dayOfYear)}function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_2822)return void fb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Ie)||[],c=0;c<e.length;c++)f=e[c],d=(h.match($(f,b))||[])[0],d&&(g=h.substr(0,h.indexOf(d)),g.length>0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Le[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[gf]<=12&&n(b).bigHour===!0&&b._a[gf]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[gf]=mb(b._locale,b._a[gf],b._meridiem),jb(b),db(b)}function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;e<a._f.length;e++)f=0,b=q({},a),null!=a._useUTC&&(b._useUTC=a._useUTC),b._f=a._f[e],lb(b),o(b)&&(f+=n(b).charsLeftOver,f+=10*n(b).unusedTokens.length,n(b).score=f,(null==d||f<d)&&(d=f,c=b));k(a,c||b)}function ob(a){if(!a._d){var b=L(a._i);a._a=i([b.year,b.month,b.day||b.date,b.hour,b.minute,b.second,b.millisecond],function(a){return a&&parseInt(a,10)}),jb(a)}}function pb(a){var b=new r(db(qb(a)));return b._nextDay&&(b.add(1,"d"),b._nextDay=void 0),b}function qb(a){var b=a._i,d=a._f;return a._locale=a._locale||bb(a._l),null===b||void 0===d&&""===b?p({nullInput:!0}):("string"==typeof b&&(a._i=b=a._locale.preparse(b)),s(b)?new r(db(b)):(h(b)?a._d=b:c(d)?nb(a):d?lb(a):rb(a),o(a)||(a._d=null),a))}function rb(b){var e=b._i;f(e)?b._d=new Date(a.now()):h(e)?b._d=new Date(e.valueOf()):"string"==typeof e?gb(b):c(e)?(b._a=i(e.slice(0),function(a){return parseInt(a,10)}),jb(b)):d(e)?ob(b):g(e)?b._d=new Date(e):a.createFromInputFallback(b)}function sb(a,b,f,g,h){var i={};return f!==!0&&f!==!1||(g=f,f=void 0),(d(a)&&e(a)||c(a)&&0===a.length)&&(a=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=h,i._l=f,i._i=a,i._f=b,i._strict=g,pb(i)}function tb(a,b,c,d){return sb(a,b,c,d,!1)}function ub(a,b){var d,e;if(1===b.length&&c(b[0])&&(b=b[0]),!b.length)return tb();for(d=b[0],e=1;e<b.length;++e)b[e].isValid()&&!b[e][a](d)||(d=b[e]);return d}function vb(){var a=[].slice.call(arguments,0);return ub("isBefore",a)}function wb(){var a=[].slice.call(arguments,0);return ub("isAfter",a)}function xb(a){for(var b in a)if(Rf.indexOf(b)===-1||null!=a[b]&&isNaN(a[b]))return!1;for(var c=!1,d=0;d<Rf.length;++d)if(a[Rf[d]]){if(c)return!1;parseFloat(a[Rf[d]])!==u(a[Rf[d]])&&(c=!0)}return!0}function yb(){return this._isValid}function zb(){return Sb(NaN)}function Ab(a){var b=L(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._isValid=xb(b),this._milliseconds=+k+1e3*j+6e4*i+1e3*h*60*60,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._locale=bb(),this._bubble()}function Bb(a){return a instanceof Ab}function Cb(a){return a<0?Math.round(-1*a)*-1:Math.round(a)}function Db(a,b){U(a,0,0,function(){var a=this.utcOffset(),c="+";return a<0&&(a=-a,c="-"),c+T(~~(a/60),2)+b+T(~~a%60,2)})}function Eb(a,b){var c=(b||"").match(a);if(null===c)return null;var d=c[c.length-1]||[],e=(d+"").match(Sf)||["-",0,0],f=+(60*e[1])+u(e[2]);return 0===f?0:"+"===e[0]?f:-f}function Fb(b,c){var d,e;return c._isUTC?(d=c.clone(),e=(s(b)||h(b)?b.valueOf():tb(b).valueOf())-d.valueOf(),d._d.setTime(d._d.valueOf()+e),a.updateOffset(d,!1),d):tb(b).local()}function Gb(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Hb(b,c,d){var e,f=this._offset||0;if(!this.isValid())return null!=b?this:NaN;if(null!=b){if("string"==typeof b){if(b=Eb($e,b),null===b)return this}else Math.abs(b)<16&&!d&&(b=60*b);return!this._isUTC&&c&&(e=Gb(this)),this._offset=b,this._isUTC=!0,null!=e&&this.add(e,"m"),f!==b&&(!c||this._changeInProgress?Xb(this,Sb(b-f,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,a.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?f:Gb(this)}function Ib(a,b){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,b),this):-this.utcOffset()}function Jb(a){return this.utcOffset(0,a)}function Kb(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(Gb(this),"m")),this}function Lb(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var a=Eb(Ze,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this}function Mb(a){return!!this.isValid()&&(a=a?tb(a).utcOffset():0,(this.utcOffset()-a)%60===0)}function Nb(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=qb(a),a._a){var b=a._isUTC?l(a._a):tb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Pb(){return!!this.isValid()&&!this._isUTC}function Qb(){return!!this.isValid()&&this._isUTC}function Rb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Tf.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[ff])*c,h:u(h[gf])*c,m:u(h[hf])*c,s:u(h[jf])*c,ms:u(Cb(1e3*h[kf]))*c}):(h=Uf.exec(a))?(c="-"===h[1]?-1:1,f={y:Tb(h[2],c),M:Tb(h[3],c),w:Tb(h[4],c),d:Tb(h[5],c),h:Tb(h[6],c),m:Tb(h[7],c),s:Tb(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Vb(tb(f.from),tb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ab(f),Bb(a)&&j(a,"_locale")&&(d._locale=a._locale),d}function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBefore(b)?c=Ub(a,b):(c=Ub(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Sb(c,d),Xb(this,e,a),this}}function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,tb(d)))}function $b(){return new r(this)}function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()<this.clone().startOf(b).valueOf())}function ac(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()<c.valueOf():this.clone().endOf(b).valueOf()<c.valueOf())}function bc(a,b,c,d){return d=d||"()",("("===d[0]?this.isAfter(a,c):!this.isBefore(a,c))&&(")"===d[1]?this.isBefore(b,c):!this.isAfter(b,c))}function cc(a,b){var c,d=s(a)?a:tb(a);return!(!this.isValid()||!d.isValid())&&(b=K(b||"millisecond"),"millisecond"===b?this.valueOf()===d.valueOf():(c=d.valueOf(),this.clone().startOf(b).valueOf()<=c&&c<=this.clone().endOf(b).valueOf()))}function dc(a,b){return this.isSame(a,b)||this.isAfter(a,b)}function ec(a,b){return this.isSame(a,b)||this.isBefore(a,b)}function fc(a,b,c){var d,e,f,g;return this.isValid()?(d=Fb(a,this),d.isValid()?(e=6e4*(d.utcOffset()-this.utcOffset()),b=K(b),"year"===b||"month"===b||"quarter"===b?(g=gc(this,d),"quarter"===b?g/=3:"year"===b&&(g/=12)):(f=this-d,g="second"===b?f/1e3:"minute"===b?f/6e4:"hour"===b?f/36e5:"day"===b?(f-e)/864e5:"week"===b?(f-e)/6048e5:f),c?g:t(g)):NaN):NaN}function gc(a,b){var c,d,e=12*(b.year()-a.year())+(b.month()-a.month()),f=a.clone().add(e,"months");return b-f<0?(c=a.clone().add(e-1,"months"),d=(b-f)/(f-c)):(c=a.clone().add(e+1,"months"),d=(b-f)/(c-f)),-(e+d)||0}function hc(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function ic(){if(!this.isValid())return null;var a=this.clone().utc();return a.year()<0||a.year()>9999?X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mc(a){return this.from(tb(),a)}function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function oc(a){return this.to(tb(),a)}function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function qc(){return this._locale}function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function tc(){return this._d.valueOf()-6e4*(this._offset||0)}function uc(){return Math.floor(this.valueOf()/1e3)}function vc(){return new Date(this.valueOf())}function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function yc(){return this.isValid()?this.toISOString():null}function zc(){return o(this)}function Ac(){
+return k({},n(this))}function Bc(){return n(this).overflow}function Cc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Dc(a,b){U(0,[a,a.length],0,b)}function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Gc(){return xa(this.year(),1,4)}function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Jc.call(this,a,b,c,d,e))}function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Mc(a,b){b[kf]=u(1e3*("0."+a))}function Nc(){return this._isUTC?"UTC":""}function Oc(){return this._isUTC?"Coordinated Universal Time":""}function Pc(a){return tb(1e3*a)}function Qc(){return tb.apply(null,arguments).parseZone()}function Rc(a){return a}function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a)}function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Sc(a,d,c,"month");return e}function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=bb(),f=a?e._week.dow:0;if(null!=c)return Sc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Sc(b,(h+f)%7,d,"day");return i}function Vc(a,b){return Tc(a,b,"months")}function Wc(a,b){return Tc(a,b,"monthsShort")}function Xc(a,b,c){return Uc(a,b,c,"weekdays")}function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort")}function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin")}function $c(){var a=this._data;return this._milliseconds=dg(this._milliseconds),this._days=dg(this._days),this._months=dg(this._months),a.milliseconds=dg(a.milliseconds),a.seconds=dg(a.seconds),a.minutes=dg(a.minutes),a.hours=dg(a.hours),a.months=dg(a.months),a.years=dg(a.years),this}function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function ad(a,b){return _c(this,a,b,1)}function bd(a,b){return _c(this,a,b,-1)}function cd(a){return a<0?Math.floor(a):Math.ceil(a)}function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*cd(fd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ed(g)),h+=e,g-=cd(fd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ed(a){return 4800*a/146097}function fd(a){return 146097*a/4800}function gd(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ed(b),"month"===a?c:c/12;switch(b=this._days+Math.round(fd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function hd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN}function id(a){return function(){return this.as(a)}}function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}function kd(a){return function(){return this.isValid()?this._data[a]:NaN}}function ld(){return t(this.days()/7)}function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function nd(a,b,c){var d=Sb(a).abs(),e=tg(d.as("s")),f=tg(d.as("m")),g=tg(d.as("h")),h=tg(d.as("d")),i=tg(d.as("M")),j=tg(d.as("y")),k=e<=ug.ss&&["s",e]||e<ug.s&&["ss",e]||f<=1&&["m"]||f<ug.m&&["mm",f]||g<=1&&["h"]||g<ug.h&&["hh",g]||h<=1&&["d"]||h<ug.d&&["dd",h]||i<=1&&["M"]||i<ug.M&&["MM",i]||j<=1&&["y"]||["yy",j];return k[2]=b,k[3]=+a>0,k[4]=c,md.apply(null,k)}function od(a){return void 0===a?tg:"function"==typeof a&&(tg=a,!0)}function pd(a,b){return void 0!==ug[a]&&(void 0===b?ug[a]:(ug[a]=b,"s"===a&&(ug.ss=b-1),!0))}function qd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=nd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function rd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=vg(this._milliseconds)/1e3,e=vg(this._days),f=vg(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}
//! moment.js locale configuration
//! locale : Belarusian [be]
//! author : Dmitry Demidov : https://github.com/demidov91
//! author: Praleska: http://praleska.pro/
//! Author : Menelion Elensúle : https://github.com/Oire
-function od(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&b%10<=4&&(b%100<10||b%100>=20)?c[1]:c[2]}function pd(a,b,c){var d={mm:b?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:b?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===c?b?"хвіліна":"хвіліну":"h"===c?b?"гадзіна":"гадзіну":a+" "+od(d[c],+a)}
+function sd(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&b%10<=4&&(b%100<10||b%100>=20)?c[1]:c[2]}function td(a,b,c){var d={mm:b?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:b?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"};return"m"===c?b?"хвіліна":"хвіліну":"h"===c?b?"гадзіна":"гадзіну":a+" "+sd(d[c],+a)}
//! moment.js locale configuration
//! locale : Breton [br]
//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
-function qd(a,b,c){var d={mm:"munutenn",MM:"miz",dd:"devezh"};return a+" "+td(d[c],a)}function rd(a){switch(sd(a)){case 1:case 3:case 4:case 5:case 9:return a+" bloaz";default:return a+" vloaz"}}function sd(a){return a>9?sd(a%10):a}function td(a,b){return 2===b?ud(a):a}function ud(a){var b={m:"v",b:"v",d:"z"};return void 0===b[a.charAt(0)]?a:b[a.charAt(0)]+a.substring(1)}
+function ud(a,b,c){var d={mm:"munutenn",MM:"miz",dd:"devezh"};return a+" "+xd(d[c],a)}function vd(a){switch(wd(a)){case 1:case 3:case 4:case 5:case 9:return a+" bloaz";default:return a+" vloaz"}}function wd(a){return a>9?wd(a%10):a}function xd(a,b){return 2===b?yd(a):a}function yd(a){var b={m:"v",b:"v",d:"z"};return void 0===b[a.charAt(0)]?a:b[a.charAt(0)]+a.substring(1)}
//! moment.js locale configuration
//! locale : Bosnian [bs]
//! author : Nedim Cholich : https://github.com/frontyard
//! based on (hr) translation by Bojan Marković
-function vd(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function wd(a){return a>1&&a<5&&1!==~~(a/10)}function xd(a,b,c,d){var e=a+" ";switch(c){case"s":// a few seconds / in a few seconds / a few seconds ago
-return b||d?"pár sekund":"pár sekundami";case"m":// a minute / in a minute / a minute ago
-return b?"minuta":d?"minutu":"minutou";case"mm":// 9 minutes / in 9 minutes / 9 minutes ago
-// 9 minutes / in 9 minutes / 9 minutes ago
-return b||d?e+(wd(a)?"minuty":"minut"):e+"minutami";break;case"h":// an hour / in an hour / an hour ago
-return b?"hodina":d?"hodinu":"hodinou";case"hh":// 9 hours / in 9 hours / 9 hours ago
-// 9 hours / in 9 hours / 9 hours ago
-return b||d?e+(wd(a)?"hodiny":"hodin"):e+"hodinami";break;case"d":// a day / in a day / a day ago
-return b||d?"den":"dnem";case"dd":// 9 days / in 9 days / 9 days ago
-// 9 days / in 9 days / 9 days ago
-return b||d?e+(wd(a)?"dny":"dní"):e+"dny";break;case"M":// a month / in a month / a month ago
-return b||d?"měsíc":"měsícem";case"MM":// 9 months / in 9 months / 9 months ago
-// 9 months / in 9 months / 9 months ago
-return b||d?e+(wd(a)?"měsíce":"měsíců"):e+"měsíci";break;case"y":// a year / in a year / a year ago
-return b||d?"rok":"rokem";case"yy":// 9 years / in 9 years / 9 years ago
-// 9 years / in 9 years / 9 years ago
-return b||d?e+(wd(a)?"roky":"let"):e+"lety"}}
+function zd(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function Ad(a){return a>1&&a<5&&1!==~~(a/10)}function Bd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"pár sekund":"pár sekundami";case"m":return b?"minuta":d?"minutu":"minutou";case"mm":return b||d?e+(Ad(a)?"minuty":"minut"):e+"minutami";break;case"h":return b?"hodina":d?"hodinu":"hodinou";case"hh":return b||d?e+(Ad(a)?"hodiny":"hodin"):e+"hodinami";break;case"d":return b||d?"den":"dnem";case"dd":return b||d?e+(Ad(a)?"dny":"dní"):e+"dny";break;case"M":return b||d?"měsíc":"měsícem";case"MM":return b||d?e+(Ad(a)?"měsíce":"měsíců"):e+"měsíci";break;case"y":return b||d?"rok":"rokem";case"yy":return b||d?e+(Ad(a)?"roky":"let"):e+"lety"}}
//! moment.js locale configuration
//! locale : German (Austria) [de-at]
//! author : lluchs : https://github.com/lluchs
//! author: Menelion Elensúle: https://github.com/Oire
//! author : Martin Groller : https://github.com/MadMG
//! author : Mikolaj Dadela : https://github.com/mik01aj
-function yd(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}
+function Cd(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}
+//! moment.js locale configuration
+//! locale : German (Switzerland) [de-ch]
+//! author : sschueller : https://github.com/sschueller
+function Dd(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}
//! moment.js locale configuration
//! locale : German [de]
//! author : lluchs : https://github.com/lluchs
//! author: Menelion Elensúle: https://github.com/Oire
//! author : Mikolaj Dadela : https://github.com/mik01aj
-function zd(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}
+function Ed(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}
//! moment.js locale configuration
//! locale : Estonian [et]
//! author : Henry Kehlmann : https://github.com/madhenry
//! improvements : Illimar Tambek : https://github.com/ragulka
-function Ad(a,b,c,d){var e={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[a+" minuti",a+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[a+" tunni",a+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[a+" kuu",a+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[a+" aasta",a+" aastat"]};return b?e[c][2]?e[c][2]:e[c][1]:d?e[c][0]:e[c][1]}function Bd(a,b,c,d){var e="";switch(c){case"s":return d?"muutaman sekunnin":"muutama sekunti";case"m":return d?"minuutin":"minuutti";case"mm":e=d?"minuutin":"minuuttia";break;case"h":return d?"tunnin":"tunti";case"hh":e=d?"tunnin":"tuntia";break;case"d":return d?"päivän":"päivä";case"dd":e=d?"päivän":"päivää";break;case"M":return d?"kuukauden":"kuukausi";case"MM":e=d?"kuukauden":"kuukautta";break;case"y":return d?"vuoden":"vuosi";case"yy":e=d?"vuoden":"vuotta"}return e=Cd(a,d)+" "+e}function Cd(a,b){return a<10?b?Sg[a]:Rg[a]:a}
+function Fd(a,b,c,d){var e={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[a+" minuti",a+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[a+" tunni",a+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[a+" kuu",a+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[a+" aasta",a+" aastat"]};return b?e[c][2]?e[c][2]:e[c][1]:d?e[c][0]:e[c][1]}function Gd(a,b,c,d){var e="";switch(c){case"s":return d?"muutaman sekunnin":"muutama sekunti";case"m":return d?"minuutin":"minuutti";case"mm":e=d?"minuutin":"minuuttia";break;case"h":return d?"tunnin":"tunti";case"hh":e=d?"tunnin":"tuntia";break;case"d":return d?"päivän":"päivä";case"dd":e=d?"päivän":"päivää";break;case"M":return d?"kuukauden":"kuukausi";case"MM":e=d?"kuukauden":"kuukautta";break;case"y":return d?"vuoden":"vuosi";case"yy":e=d?"vuoden":"vuotta"}return e=Hd(a,d)+" "+e}function Hd(a,b){return a<10?b?$g[a]:Zg[a]:a}
+//! moment.js locale configuration
+//! locale : Konkani Latin script [gom-latn]
+//! author : The Discoverer : https://github.com/WikiDiscoverer
+function Id(a,b,c,d){var e={s:["thodde secondanim","thodde second"],m:["eka mintan","ek minute"],mm:[a+" mintanim",a+" mintam"],h:["eka horan","ek hor"],hh:[a+" horanim",a+" hor"],d:["eka disan","ek dis"],dd:[a+" disanim",a+" dis"],M:["eka mhoinean","ek mhoino"],MM:[a+" mhoineanim",a+" mhoine"],y:["eka vorsan","ek voros"],yy:[a+" vorsanim",a+" vorsam"]};return b?e[c][0]:e[c][1]}
//! moment.js locale configuration
//! locale : Croatian [hr]
//! author : Bojan Marković : https://github.com/bmarkovic
-function Dd(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function Ed(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function Fd(a){return(a?"":"[múlt] ")+"["+ah[this.day()]+"] LT[-kor]"}
+function Jd(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}function Kd(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function Ld(a){return(a?"":"[múlt] ")+"["+ih[this.day()]+"] LT[-kor]"}
//! moment.js locale configuration
//! locale : Icelandic [is]
//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
-function Gd(a){return a%100===11||a%10!==1}function Hd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return b?"mínúta":"mínútu";case"mm":return Gd(a)?e+(b||d?"mínútur":"mínútum"):b?e+"mínúta":e+"mínútu";case"hh":return Gd(a)?e+(b||d?"klukkustundir":"klukkustundum"):e+"klukkustund";case"d":return b?"dagur":d?"dag":"degi";case"dd":return Gd(a)?b?e+"dagar":e+(d?"daga":"dögum"):b?e+"dagur":e+(d?"dag":"degi");case"M":return b?"mánuður":d?"mánuð":"mánuði";case"MM":return Gd(a)?b?e+"mánuðir":e+(d?"mánuði":"mánuðum"):b?e+"mánuður":e+(d?"mánuð":"mánuði");case"y":return b||d?"ár":"ári";case"yy":return Gd(a)?e+(b||d?"ár":"árum"):e+(b||d?"ár":"ári")}}
+function Md(a){return a%100===11||a%10!==1}function Nd(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return b?"mínúta":"mínútu";case"mm":return Md(a)?e+(b||d?"mínútur":"mínútum"):b?e+"mínúta":e+"mínútu";case"hh":return Md(a)?e+(b||d?"klukkustundir":"klukkustundum"):e+"klukkustund";case"d":return b?"dagur":d?"dag":"degi";case"dd":return Md(a)?b?e+"dagar":e+(d?"daga":"dögum"):b?e+"dagur":e+(d?"dag":"degi");case"M":return b?"mánuður":d?"mánuð":"mánuði";case"MM":return Md(a)?b?e+"mánuðir":e+(d?"mánuði":"mánuðum"):b?e+"mánuður":e+(d?"mánuð":"mánuði");case"y":return b||d?"ár":"ári";case"yy":return Md(a)?e+(b||d?"ár":"árum"):e+(b||d?"ár":"ári")}}
//! moment.js locale configuration
//! locale : Luxembourgish [lb]
//! author : mweimerskirch : https://github.com/mweimerskirch
//! author : David Raison : https://github.com/kwisatz
-function Id(a,b,c,d){var e={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return b?e[c][0]:e[c][1]}function Jd(a){var b=a.substr(0,a.indexOf(" "));return Ld(b)?"a "+a:"an "+a}function Kd(a){var b=a.substr(0,a.indexOf(" "));return Ld(b)?"viru "+a:"virun "+a}/**
- * Returns true if the word before the given number loses the '-n' ending.
- * e.g. 'an 10 Deeg' but 'a 5 Deeg'
- *
- * @param number {integer}
- * @returns {boolean}
- */
-function Ld(a){if(a=parseInt(a,10),isNaN(a))return!1;if(a<0)
-// Negative Number --> always true
-return!0;if(a<10)
-// Only 1 digit
-return 4<=a&&a<=7;if(a<100){
-// 2 digits
-var b=a%10,c=a/10;return Ld(0===b?c:b)}if(a<1e4){
-// 3 or 4 digits --> recursively check first digit
-for(;a>=10;)a/=10;return Ld(a)}
-// Anything larger than 4 digits: recursively check first n-3 digits
-return a/=1e3,Ld(a)}function Md(a,b,c,d){return b?"kelios sekundės":d?"kelių sekundžių":"kelias sekundes"}function Nd(a,b,c,d){return b?Pd(c)[0]:d?Pd(c)[1]:Pd(c)[2]}function Od(a){return a%10===0||a>10&&a<20}function Pd(a){return dh[a].split("_")}function Qd(a,b,c,d){var e=a+" ";return 1===a?e+Nd(a,b,c[0],d):b?e+(Od(a)?Pd(c)[1]:Pd(c)[0]):d?e+Pd(c)[1]:e+(Od(a)?Pd(c)[1]:Pd(c)[2])}/**
- * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
- */
-function Rd(a,b,c){return c?b%10===1&&b%100!==11?a[2]:a[3]:b%10===1&&b%100!==11?a[0]:a[1]}function Sd(a,b,c){return a+" "+Rd(eh[c],a,b)}function Td(a,b,c){return Rd(eh[c],a,b)}function Ud(a,b){return b?"dažas sekundes":"dažām sekundēm"}function Vd(a,b,c,d){var e="";if(b)switch(c){case"s":e="काही सेकंद";break;case"m":e="एक मिनिट";break;case"mm":e="%d मिनिटे";break;case"h":e="एक तास";break;case"hh":e="%d तास";break;case"d":e="एक दिवस";break;case"dd":e="%d दिवस";break;case"M":e="एक महिना";break;case"MM":e="%d महिने";break;case"y":e="एक वर्ष";break;case"yy":e="%d वर्षे"}else switch(c){case"s":e="काही सेकंदां";break;case"m":e="एका मिनिटा";break;case"mm":e="%d मिनिटां";break;case"h":e="एका तासा";break;case"hh":e="%d तासां";break;case"d":e="एका दिवसा";break;case"dd":e="%d दिवसां";break;case"M":e="एका महिन्या";break;case"MM":e="%d महिन्यां";break;case"y":e="एका वर्षा";break;case"yy":e="%d वर्षां"}return e.replace(/%d/i,a)}function Wd(a){return a%10<5&&a%10>1&&~~(a/10)%10!==1}function Xd(a,b,c){var d=a+" ";switch(c){case"m":return b?"minuta":"minutę";case"mm":return d+(Wd(a)?"minuty":"minut");case"h":return b?"godzina":"godzinę";case"hh":return d+(Wd(a)?"godziny":"godzin");case"MM":return d+(Wd(a)?"miesiące":"miesięcy");case"yy":return d+(Wd(a)?"lata":"lat")}}
+function Od(a,b,c,d){var e={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return b?e[c][0]:e[c][1]}function Pd(a){var b=a.substr(0,a.indexOf(" "));return Rd(b)?"a "+a:"an "+a}function Qd(a){var b=a.substr(0,a.indexOf(" "));return Rd(b)?"viru "+a:"virun "+a}function Rd(a){if(a=parseInt(a,10),isNaN(a))return!1;if(a<0)return!0;if(a<10)return 4<=a&&a<=7;if(a<100){var b=a%10,c=a/10;return Rd(0===b?c:b)}if(a<1e4){for(;a>=10;)a/=10;return Rd(a)}return a/=1e3,Rd(a)}function Sd(a,b,c,d){return b?"kelios sekundės":d?"kelių sekundžių":"kelias sekundes"}function Td(a,b,c,d){return b?Vd(c)[0]:d?Vd(c)[1]:Vd(c)[2]}function Ud(a){return a%10===0||a>10&&a<20}function Vd(a){return nh[a].split("_")}function Wd(a,b,c,d){var e=a+" ";return 1===a?e+Td(a,b,c[0],d):b?e+(Ud(a)?Vd(c)[1]:Vd(c)[0]):d?e+Vd(c)[1]:e+(Ud(a)?Vd(c)[1]:Vd(c)[2])}function Xd(a,b,c){return c?b%10===1&&b%100!==11?a[2]:a[3]:b%10===1&&b%100!==11?a[0]:a[1]}function Yd(a,b,c){return a+" "+Xd(oh[c],a,b)}function Zd(a,b,c){return Xd(oh[c],a,b)}function $d(a,b){return b?"dažas sekundes":"dažām sekundēm"}function _d(a,b,c,d){var e="";if(b)switch(c){case"s":e="काही सेकंद";break;case"m":e="एक मिनिट";break;case"mm":e="%d मिनिटे";break;case"h":e="एक तास";break;case"hh":e="%d तास";break;case"d":e="एक दिवस";break;case"dd":e="%d दिवस";break;case"M":e="एक महिना";break;case"MM":e="%d महिने";break;case"y":e="एक वर्ष";break;case"yy":e="%d वर्षे"}else switch(c){case"s":e="काही सेकंदां";break;case"m":e="एका मिनिटा";break;case"mm":e="%d मिनिटां";break;case"h":e="एका तासा";break;case"hh":e="%d तासां";break;case"d":e="एका दिवसा";break;case"dd":e="%d दिवसां";break;case"M":e="एका महिन्या";break;case"MM":e="%d महिन्यां";break;case"y":e="एका वर्षा";break;case"yy":e="%d वर्षां"}return e.replace(/%d/i,a)}function ae(a){return a%10<5&&a%10>1&&~~(a/10)%10!==1}function be(a,b,c){var d=a+" ";switch(c){case"m":return b?"minuta":"minutę";case"mm":return d+(ae(a)?"minuty":"minut");case"h":return b?"godzina":"godzinę";case"hh":return d+(ae(a)?"godziny":"godzin");case"MM":return d+(ae(a)?"miesiące":"miesięcy");case"yy":return d+(ae(a)?"lata":"lat")}}
//! moment.js locale configuration
//! locale : Romanian [ro]
//! author : Vlad Gurdiga : https://github.com/gurdiga
//! author : Valentin Agachi : https://github.com/avaly
-function Yd(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}
+function ce(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}
//! moment.js locale configuration
//! locale : Russian [ru]
//! author : Viktorminator : https://github.com/Viktorminator
//! Author : Menelion Elensúle : https://github.com/Oire
//! author : Коренберг Марк : https://github.com/socketpair
-function Zd(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&b%10<=4&&(b%100<10||b%100>=20)?c[1]:c[2]}function $d(a,b,c){var d={mm:b?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===c?b?"минута":"минуту":a+" "+Zd(d[c],+a)}function _d(a){return a>1&&a<5}function ae(a,b,c,d){var e=a+" ";switch(c){case"s":// a few seconds / in a few seconds / a few seconds ago
-return b||d?"pár sekúnd":"pár sekundami";case"m":// a minute / in a minute / a minute ago
-return b?"minúta":d?"minútu":"minútou";case"mm":// 9 minutes / in 9 minutes / 9 minutes ago
-// 9 minutes / in 9 minutes / 9 minutes ago
-return b||d?e+(_d(a)?"minúty":"minút"):e+"minútami";break;case"h":// an hour / in an hour / an hour ago
-return b?"hodina":d?"hodinu":"hodinou";case"hh":// 9 hours / in 9 hours / 9 hours ago
-// 9 hours / in 9 hours / 9 hours ago
-return b||d?e+(_d(a)?"hodiny":"hodín"):e+"hodinami";break;case"d":// a day / in a day / a day ago
-return b||d?"deň":"dňom";case"dd":// 9 days / in 9 days / 9 days ago
-// 9 days / in 9 days / 9 days ago
-return b||d?e+(_d(a)?"dni":"dní"):e+"dňami";break;case"M":// a month / in a month / a month ago
-return b||d?"mesiac":"mesiacom";case"MM":// 9 months / in 9 months / 9 months ago
-// 9 months / in 9 months / 9 months ago
-return b||d?e+(_d(a)?"mesiace":"mesiacov"):e+"mesiacmi";break;case"y":// a year / in a year / a year ago
-return b||d?"rok":"rokom";case"yy":// 9 years / in 9 years / 9 years ago
-// 9 years / in 9 years / 9 years ago
-return b||d?e+(_d(a)?"roky":"rokov"):e+"rokmi"}}
+function de(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&b%10<=4&&(b%100<10||b%100>=20)?c[1]:c[2]}function ee(a,b,c){var d={mm:b?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===c?b?"минута":"минуту":a+" "+de(d[c],+a)}function fe(a){return a>1&&a<5}function ge(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"pár sekúnd":"pár sekundami";case"m":return b?"minúta":d?"minútu":"minútou";case"mm":return b||d?e+(fe(a)?"minúty":"minút"):e+"minútami";break;case"h":return b?"hodina":d?"hodinu":"hodinou";case"hh":return b||d?e+(fe(a)?"hodiny":"hodín"):e+"hodinami";break;case"d":return b||d?"deň":"dňom";case"dd":return b||d?e+(fe(a)?"dni":"dní"):e+"dňami";break;case"M":return b||d?"mesiac":"mesiacom";case"MM":return b||d?e+(fe(a)?"mesiace":"mesiacov"):e+"mesiacmi";break;case"y":return b||d?"rok":"rokom";case"yy":return b||d?e+(fe(a)?"roky":"rokov"):e+"rokmi"}}
//! moment.js locale configuration
//! locale : Slovenian [sl]
//! author : Robert Sedovšek : https://github.com/sedovsek
-function be(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nekaj sekund":"nekaj sekundami";case"m":return b?"ena minuta":"eno minuto";case"mm":return e+=1===a?b?"minuta":"minuto":2===a?b||d?"minuti":"minutama":a<5?b||d?"minute":"minutami":b||d?"minut":"minutami";case"h":return b?"ena ura":"eno uro";case"hh":return e+=1===a?b?"ura":"uro":2===a?b||d?"uri":"urama":a<5?b||d?"ure":"urami":b||d?"ur":"urami";case"d":return b||d?"en dan":"enim dnem";case"dd":return e+=1===a?b||d?"dan":"dnem":2===a?b||d?"dni":"dnevoma":b||d?"dni":"dnevi";case"M":return b||d?"en mesec":"enim mesecem";case"MM":return e+=1===a?b||d?"mesec":"mesecem":2===a?b||d?"meseca":"mesecema":a<5?b||d?"mesece":"meseci":b||d?"mesecev":"meseci";case"y":return b||d?"eno leto":"enim letom";case"yy":return e+=1===a?b||d?"leto":"letom":2===a?b||d?"leti":"letoma":a<5?b||d?"leta":"leti":b||d?"let":"leti"}}function ce(a){var b=a;return b=a.indexOf("jaj")!==-1?b.slice(0,-3)+"leS":a.indexOf("jar")!==-1?b.slice(0,-3)+"waQ":a.indexOf("DIS")!==-1?b.slice(0,-3)+"nem":b+" pIq"}function de(a){var b=a;return b=a.indexOf("jaj")!==-1?b.slice(0,-3)+"Hu’":a.indexOf("jar")!==-1?b.slice(0,-3)+"wen":a.indexOf("DIS")!==-1?b.slice(0,-3)+"ben":b+" ret"}function ee(a,b,c,d){var e=fe(a);switch(c){case"mm":return e+" tup";case"hh":return e+" rep";case"dd":return e+" jaj";case"MM":return e+" jar";case"yy":return e+" DIS"}}function fe(a){var b=Math.floor(a%1e3/100),c=Math.floor(a%100/10),d=a%10,e="";return b>0&&(e+=Fh[b]+"vatlh"),c>0&&(e+=(""!==e?" ":"")+Fh[c]+"maH"),d>0&&(e+=(""!==e?" ":"")+Fh[d]),""===e?"pagh":e}function ge(a,b,c,d){var e={s:["viensas secunds","'iensas secunds"],m:["'n míut","'iens míut"],mm:[a+" míuts",""+a+" míuts"],h:["'n þora","'iensa þora"],hh:[a+" þoras",""+a+" þoras"],d:["'n ziua","'iensa ziua"],dd:[a+" ziuas",""+a+" ziuas"],M:["'n mes","'iens mes"],MM:[a+" mesen",""+a+" mesen"],y:["'n ar","'iens ar"],yy:[a+" ars",""+a+" ars"]};return d?e[c][0]:b?e[c][0]:e[c][1]}
+function he(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nekaj sekund":"nekaj sekundami";case"m":return b?"ena minuta":"eno minuto";case"mm":return e+=1===a?b?"minuta":"minuto":2===a?b||d?"minuti":"minutama":a<5?b||d?"minute":"minutami":b||d?"minut":"minutami";case"h":return b?"ena ura":"eno uro";case"hh":return e+=1===a?b?"ura":"uro":2===a?b||d?"uri":"urama":a<5?b||d?"ure":"urami":b||d?"ur":"urami";case"d":return b||d?"en dan":"enim dnem";case"dd":return e+=1===a?b||d?"dan":"dnem":2===a?b||d?"dni":"dnevoma":b||d?"dni":"dnevi";case"M":return b||d?"en mesec":"enim mesecem";case"MM":return e+=1===a?b||d?"mesec":"mesecem":2===a?b||d?"meseca":"mesecema":a<5?b||d?"mesece":"meseci":b||d?"mesecev":"meseci";case"y":return b||d?"eno leto":"enim letom";case"yy":return e+=1===a?b||d?"leto":"letom":2===a?b||d?"leti":"letoma":a<5?b||d?"leta":"leti":b||d?"let":"leti"}}function ie(a){var b=a;return b=a.indexOf("jaj")!==-1?b.slice(0,-3)+"leS":a.indexOf("jar")!==-1?b.slice(0,-3)+"waQ":a.indexOf("DIS")!==-1?b.slice(0,-3)+"nem":b+" pIq"}function je(a){var b=a;return b=a.indexOf("jaj")!==-1?b.slice(0,-3)+"Hu’":a.indexOf("jar")!==-1?b.slice(0,-3)+"wen":a.indexOf("DIS")!==-1?b.slice(0,-3)+"ben":b+" ret"}function ke(a,b,c,d){var e=le(a);switch(c){case"mm":return e+" tup";case"hh":return e+" rep";case"dd":return e+" jaj";case"MM":return e+" jar";case"yy":return e+" DIS"}}function le(a){var b=Math.floor(a%1e3/100),c=Math.floor(a%100/10),d=a%10,e="";return b>0&&(e+=Rh[b]+"vatlh"),c>0&&(e+=(""!==e?" ":"")+Rh[c]+"maH"),d>0&&(e+=(""!==e?" ":"")+Rh[d]),""===e?"pagh":e}function me(a,b,c,d){var e={s:["viensas secunds","'iensas secunds"],m:["'n míut","'iens míut"],mm:[a+" míuts",""+a+" míuts"],h:["'n þora","'iensa þora"],hh:[a+" þoras",""+a+" þoras"],d:["'n ziua","'iensa ziua"],dd:[a+" ziuas",""+a+" ziuas"],M:["'n mes","'iens mes"],MM:[a+" mesen",""+a+" mesen"],y:["'n ar","'iens ar"],yy:[a+" ars",""+a+" ars"]};return d?e[c][0]:b?e[c][0]:e[c][1]}
//! moment.js locale configuration
//! locale : Ukrainian [uk]
//! author : zemlanin : https://github.com/zemlanin
//! Author : Menelion Elensúle : https://github.com/Oire
-function he(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&b%10<=4&&(b%100<10||b%100>=20)?c[1]:c[2]}function ie(a,b,c){var d={mm:b?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:b?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===c?b?"хвилина":"хвилину":"h"===c?b?"година":"годину":a+" "+he(d[c],+a)}function je(a,b){var c={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function ke(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}var le,me;me=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var ne=me,oe=a.momentProperties=[],pe=!1,qe={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var re;re=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)i(a,b)&&c.push(b);return c};var se,te=re,ue={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},ve={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},we="Invalid date",xe="%d",ye=/\d{1,2}/,ze={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Ae={},Be={},Ce=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,De=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ee={},Fe={},Ge=/\d/,He=/\d\d/,Ie=/\d{3}/,Je=/\d{4}/,Ke=/[+-]?\d{6}/,Le=/\d\d?/,Me=/\d\d\d\d?/,Ne=/\d\d\d\d\d\d?/,Oe=/\d{1,3}/,Pe=/\d{1,4}/,Qe=/[+-]?\d{1,6}/,Re=/\d+/,Se=/[+-]?\d+/,Te=/Z|[+-]\d\d:?\d\d/gi,Ue=/Z|[+-]\d\d(?::?\d\d)?/gi,Ve=/[+-]?\d+(\.\d{1,3})?/,We=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Xe={},Ye={},Ze=0,$e=1,_e=2,af=3,bf=4,cf=5,df=6,ef=7,ff=8;se=Array.prototype.indexOf?Array.prototype.indexOf:function(a){
-// I know
-var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1};var gf=se;
-// FORMATTING
-U("M",["MM",2],"Mo",function(){return this.month()+1}),U("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),U("MMMM",0,0,function(a){return this.localeData().months(this,a)}),
-// ALIASES
-J("month","M"),
-// PRIORITY
-M("month",8),
-// PARSING
-Z("M",Le),Z("MM",Le,He),Z("MMM",function(a,b){return b.monthsShortRegex(a)}),Z("MMMM",function(a,b){return b.monthsRegex(a)}),ba(["M","MM"],function(a,b){b[$e]=u(a)-1}),ba(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);
-// if we didn't find a month name, mark the date as invalid.
-null!=e?b[$e]=e:m(c).invalidMonth=a});
-// LOCALES
-var hf=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,jf="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),kf="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),lf=We,mf=We;
-// FORMATTING
-U("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),U(0,["YY",2],0,function(){return this.year()%100}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),
-// ALIASES
-J("year","y"),
-// PRIORITIES
-M("year",1),
-// PARSING
-Z("Y",Se),Z("YY",Le,He),Z("YYYY",Pe,Je),Z("YYYYY",Qe,Ke),Z("YYYYYY",Qe,Ke),ba(["YYYYY","YYYYYY"],Ze),ba("YYYY",function(b,c){c[Ze]=2===b.length?a.parseTwoDigitYear(b):u(b)}),ba("YY",function(b,c){c[Ze]=a.parseTwoDigitYear(b)}),ba("Y",function(a,b){b[Ze]=parseInt(a,10)}),
-// HOOKS
-a.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3)};
-// MOMENTS
-var nf=O("FullYear",!0);
-// FORMATTING
-U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),
-// ALIASES
-J("week","w"),J("isoWeek","W"),
-// PRIORITIES
-M("week",5),M("isoWeek",5),
-// PARSING
-Z("w",Le),Z("ww",Le,He),Z("W",Le),Z("WW",Le,He),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var of={dow:0,// Sunday is the first day of the week.
-doy:6};
-// FORMATTING
-U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),
-// ALIASES
-J("day","d"),J("weekday","e"),J("isoWeekday","E"),
-// PRIORITY
-M("day",11),M("weekday",11),M("isoWeekday",11),
-// PARSING
-Z("d",Le),Z("e",Le),Z("E",Le),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);
-// if we didn't get a weekday name, mark the date as invalid
-null!=e?b.d=e:m(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});
-// LOCALES
-var pf="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),qf="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),rf="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),sf=We,tf=We,uf=We;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),
-// ALIASES
-J("hour","h"),
-// PRIORITY
-M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Le),Z("h",Le),Z("HH",Le,He),Z("hh",Le,He),Z("hmm",Me),Z("hmmss",Ne),Z("Hmm",Me),Z("Hmmss",Ne),ba(["H","HH"],af),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[af]=u(a),m(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[af]=u(a.substr(0,d)),b[bf]=u(a.substr(d)),m(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[af]=u(a.substr(0,d)),b[bf]=u(a.substr(d,2)),b[cf]=u(a.substr(e)),m(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[af]=u(a.substr(0,d)),b[bf]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[af]=u(a.substr(0,d)),b[bf]=u(a.substr(d,2)),b[cf]=u(a.substr(e))});var vf,wf=/[ap]\.?m?\.?/i,xf=O("Hours",!0),yf={calendar:ue,longDateFormat:ve,invalidDate:we,ordinal:xe,ordinalParse:ye,relativeTime:ze,months:jf,monthsShort:kf,week:of,weekdays:pf,weekdaysMin:rf,weekdaysShort:qf,meridiemParse:wf},zf={},Af={},Bf=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Cf=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Df=/Z|[+-]\d\d(?::?\d\d)?/,Ef=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],
-// YYYYMM is NOT allowed by the standard
-["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Ff=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Gf=/^\/?Date\((\-?\d+)/i;a.createFromInputFallback=x("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),
-// constant that refers to the ISO standard
-a.ISO_8601=function(){};var Hf=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=sb.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:o()}),If=x("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=sb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:o()}),Jf=function(){return Date.now?Date.now():+new Date};zb("Z",":"),zb("ZZ",""),
-// PARSING
-Z("Z",Ue),Z("ZZ",Ue),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Ab(Ue,a)});
-// HELPERS
-// timezone chunker
-// '+10:00' > ['10', '00']
-// '-1530' > ['-15', '30']
-var Kf=/([\+\-]|\d\d)/gi;
-// HOOKS
-// This function will be called whenever a moment is mutated.
-// It is intended to keep the offset in sync with the timezone.
-a.updateOffset=function(){};
-// ASP.NET json date format regex
-var Lf=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Mf=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ob.fn=wb.prototype;var Nf=Sb(1,"add"),Of=Sb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Pf=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});
-// FORMATTING
-U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),zc("gggg","weekYear"),zc("ggggg","weekYear"),zc("GGGG","isoWeekYear"),zc("GGGGG","isoWeekYear"),
-// ALIASES
-J("weekYear","gg"),J("isoWeekYear","GG"),
-// PRIORITY
-M("weekYear",1),M("isoWeekYear",1),
-// PARSING
-Z("G",Se),Z("g",Se),Z("GG",Le,He),Z("gg",Le,He),Z("GGGG",Pe,Je),Z("gggg",Pe,Je),Z("GGGGG",Qe,Ke),Z("ggggg",Qe,Ke),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),
-// FORMATTING
-U("Q",0,"Qo","quarter"),
-// ALIASES
-J("quarter","Q"),
-// PRIORITY
-M("quarter",7),
-// PARSING
-Z("Q",Ge),ba("Q",function(a,b){b[$e]=3*(u(a)-1)}),
-// FORMATTING
-U("D",["DD",2],"Do","date"),
-// ALIASES
-J("date","D"),
-// PRIOROITY
-M("date",9),
-// PARSING
-Z("D",Le),Z("DD",Le,He),Z("Do",function(a,b){return a?b._ordinalParse:b._ordinalParseLenient}),ba(["D","DD"],_e),ba("Do",function(a,b){b[_e]=u(a.match(Le)[0],10)});
-// MOMENTS
-var Qf=O("Date",!0);
-// FORMATTING
-U("DDD",["DDDD",3],"DDDo","dayOfYear"),
-// ALIASES
-J("dayOfYear","DDD"),
-// PRIORITY
-M("dayOfYear",4),
-// PARSING
-Z("DDD",Oe),Z("DDDD",Ie),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),
-// FORMATTING
-U("m",["mm",2],0,"minute"),
-// ALIASES
-J("minute","m"),
-// PRIORITY
-M("minute",14),
-// PARSING
-Z("m",Le),Z("mm",Le,He),ba(["m","mm"],bf);
-// MOMENTS
-var Rf=O("Minutes",!1);
-// FORMATTING
-U("s",["ss",2],0,"second"),
-// ALIASES
-J("second","s"),
-// PRIORITY
-M("second",15),
-// PARSING
-Z("s",Le),Z("ss",Le,He),ba(["s","ss"],cf);
-// MOMENTS
-var Sf=O("Seconds",!1);
-// FORMATTING
-U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),
-// ALIASES
-J("millisecond","ms"),
-// PRIORITY
-M("millisecond",16),
-// PARSING
-Z("S",Oe,Ge),Z("SS",Oe,He),Z("SSS",Oe,Ie);var Tf;for(Tf="SSSS";Tf.length<=9;Tf+="S")Z(Tf,Re);for(Tf="S";Tf.length<=9;Tf+="S")ba(Tf,Ic);
-// MOMENTS
-var Uf=O("Milliseconds",!1);
-// FORMATTING
-U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var Vf=r.prototype;Vf.add=Nf,Vf.calendar=Vb,Vf.clone=Wb,Vf.diff=bc,Vf.endOf=oc,Vf.format=gc,Vf.from=hc,Vf.fromNow=ic,Vf.to=jc,Vf.toNow=kc,Vf.get=R,Vf.invalidAt=xc,Vf.isAfter=Xb,Vf.isBefore=Yb,Vf.isBetween=Zb,Vf.isSame=$b,Vf.isSameOrAfter=_b,Vf.isSameOrBefore=ac,Vf.isValid=vc,Vf.lang=Pf,Vf.locale=lc,Vf.localeData=mc,Vf.max=If,Vf.min=Hf,Vf.parsingFlags=wc,Vf.set=S,Vf.startOf=nc,Vf.subtract=Of,Vf.toArray=sc,Vf.toObject=tc,Vf.toDate=rc,Vf.toISOString=ec,Vf.inspect=fc,Vf.toJSON=uc,Vf.toString=dc,Vf.unix=qc,Vf.valueOf=pc,Vf.creationData=yc,
-// Year
-Vf.year=nf,Vf.isLeapYear=ra,
-// Week Year
-Vf.weekYear=Ac,Vf.isoWeekYear=Bc,
-// Quarter
-Vf.quarter=Vf.quarters=Gc,
-// Month
-Vf.month=ka,Vf.daysInMonth=la,
-// Week
-Vf.week=Vf.weeks=Ba,Vf.isoWeek=Vf.isoWeeks=Ca,Vf.weeksInYear=Dc,Vf.isoWeeksInYear=Cc,
-// Day
-Vf.date=Qf,Vf.day=Vf.days=Ka,Vf.weekday=La,Vf.isoWeekday=Ma,Vf.dayOfYear=Hc,
-// Hour
-Vf.hour=Vf.hours=xf,
-// Minute
-Vf.minute=Vf.minutes=Rf,
-// Second
-Vf.second=Vf.seconds=Sf,
-// Millisecond
-Vf.millisecond=Vf.milliseconds=Uf,
-// Offset
-Vf.utcOffset=Db,Vf.utc=Fb,Vf.local=Gb,Vf.parseZone=Hb,Vf.hasAlignedHourOffset=Ib,Vf.isDST=Jb,Vf.isLocal=Lb,Vf.isUtcOffset=Mb,Vf.isUtc=Nb,Vf.isUTC=Nb,
-// Timezone
-Vf.zoneAbbr=Jc,Vf.zoneName=Kc,
-// Deprecations
-Vf.dates=x("dates accessor is deprecated. Use date instead.",Qf),Vf.months=x("months accessor is deprecated. Use month instead",ka),Vf.years=x("years accessor is deprecated. Use year instead",nf),Vf.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Eb),Vf.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Kb);var Wf=C.prototype;Wf.calendar=D,Wf.longDateFormat=E,Wf.invalidDate=F,Wf.ordinal=G,Wf.preparse=Nc,Wf.postformat=Nc,Wf.relativeTime=H,Wf.pastFuture=I,Wf.set=A,
-// Month
-Wf.months=fa,Wf.monthsShort=ga,Wf.monthsParse=ia,Wf.monthsRegex=na,Wf.monthsShortRegex=ma,
-// Week
-Wf.week=ya,Wf.firstDayOfYear=Aa,Wf.firstDayOfWeek=za,
-// Day of Week
-Wf.weekdays=Fa,Wf.weekdaysMin=Ha,Wf.weekdaysShort=Ga,Wf.weekdaysParse=Ja,Wf.weekdaysRegex=Na,Wf.weekdaysShortRegex=Oa,Wf.weekdaysMinRegex=Pa,
-// Hours
-Wf.isPM=Va,Wf.meridiem=Wa,$a("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),
-// Side effect imports
-a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var Xf=Math.abs,Yf=ed("ms"),Zf=ed("s"),$f=ed("m"),_f=ed("h"),ag=ed("d"),bg=ed("w"),cg=ed("M"),dg=ed("y"),eg=gd("milliseconds"),fg=gd("seconds"),gg=gd("minutes"),hg=gd("hours"),ig=gd("days"),jg=gd("months"),kg=gd("years"),lg=Math.round,mg={s:45,// seconds to minute
-m:45,// minutes to hour
-h:22,// hours to day
-d:26,// days to month
-M:11},ng=Math.abs,og=wb.prototype;og.abs=Wc,og.add=Yc,og.subtract=Zc,og.as=cd,og.asMilliseconds=Yf,og.asSeconds=Zf,og.asMinutes=$f,og.asHours=_f,og.asDays=ag,og.asWeeks=bg,og.asMonths=cg,og.asYears=dg,og.valueOf=dd,og._bubble=_c,og.get=fd,og.milliseconds=eg,og.seconds=fg,og.minutes=gg,og.hours=hg,og.days=ig,og.weeks=hd,og.months=jg,og.years=kg,og.humanize=md,og.toISOString=nd,og.toString=nd,og.toJSON=nd,og.locale=lc,og.localeData=mc,
-// Deprecations
-og.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",nd),og.lang=Pf,
-// Side effect imports
-// FORMATTING
-U("X",0,0,"unix"),U("x",0,0,"valueOf"),
-// PARSING
-Z("x",Se),Z("X",Ve),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),
-// Side effect imports
+function ne(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&b%10<=4&&(b%100<10||b%100>=20)?c[1]:c[2]}function oe(a,b,c){var d={mm:b?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:b?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===c?b?"хвилина":"хвилину":"h"===c?b?"година":"годину":a+" "+ne(d[c],+a)}function pe(a,b){var c={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};if(!a)return c.nominative;var d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function qe(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}var re,se;se=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d<c;d++)if(d in b&&a.call(this,b[d],d,b))return!0;return!1};var te=se,ue=a.momentProperties=[],ve=!1,we={};a.suppressDeprecationWarnings=!1,a.deprecationHandler=null;var xe;xe=Object.keys?Object.keys:function(a){var b,c=[];for(b in a)j(a,b)&&c.push(b);return c};var ye,ze=xe,Ae={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},Be={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},Ce="Invalid date",De="%d",Ee=/\d{1,2}/,Fe={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},Ge={},He={},Ie=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Je=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Ke={},Le={},Me=/\d/,Ne=/\d\d/,Oe=/\d{3}/,Pe=/\d{4}/,Qe=/[+-]?\d{6}/,Re=/\d\d?/,Se=/\d\d\d\d?/,Te=/\d\d\d\d\d\d?/,Ue=/\d{1,3}/,Ve=/\d{1,4}/,We=/[+-]?\d{1,6}/,Xe=/\d+/,Ye=/[+-]?\d+/,Ze=/Z|[+-]\d\d:?\d\d/gi,$e=/Z|[+-]\d\d(?::?\d\d)?/gi,_e=/[+-]?\d+(\.\d{1,3})?/,af=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,bf={},cf={},df=0,ef=1,ff=2,gf=3,hf=4,jf=5,kf=6,lf=7,mf=8;ye=Array.prototype.indexOf?Array.prototype.indexOf:function(a){var b;for(b=0;b<this.length;++b)if(this[b]===a)return b;return-1};var nf=ye;U("M",["MM",2],"Mo",function(){return this.month()+1}),U("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),U("MMMM",0,0,function(a){return this.localeData().months(this,a)}),J("month","M"),M("month",8),Z("M",Re),Z("MM",Re,Ne),Z("MMM",function(a,b){return b.monthsShortRegex(a)}),Z("MMMM",function(a,b){return b.monthsRegex(a)}),ba(["M","MM"],function(a,b){b[ef]=u(a)-1}),ba(["MMM","MMMM"],function(a,b,c,d){var e=c._locale.monthsParse(a,d,c._strict);null!=e?b[ef]=e:n(c).invalidMonth=a});var of=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,pf="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),qf="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),rf=af,sf=af;U("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),U(0,["YY",2],0,function(){return this.year()%100}),U(0,["YYYY",4],0,"year"),U(0,["YYYYY",5],0,"year"),U(0,["YYYYYY",6,!0],0,"year"),J("year","y"),M("year",1),Z("Y",Ye),Z("YY",Re,Ne),Z("YYYY",Ve,Pe),Z("YYYYY",We,Qe),Z("YYYYYY",We,Qe),ba(["YYYYY","YYYYYY"],df),ba("YYYY",function(b,c){c[df]=2===b.length?a.parseTwoDigitYear(b):u(b)}),ba("YY",function(b,c){c[df]=a.parseTwoDigitYear(b)}),ba("Y",function(a,b){b[df]=parseInt(a,10)}),a.parseTwoDigitYear=function(a){return u(a)+(u(a)>68?1900:2e3)};var tf=O("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),Z("w",Re),Z("ww",Re,Ne),Z("W",Re),Z("WW",Re,Ne),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var uf={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),Z("d",Re),Z("e",Re),Z("E",Re),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});var vf="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),wf="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xf="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),yf=af,zf=af,Af=af;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),J("hour","h"),M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Re),Z("h",Re),Z("k",Re),Z("HH",Re,Ne),Z("hh",Re,Ne),Z("kk",Re,Ne),Z("hmm",Se),Z("hmmss",Te),Z("Hmm",Se),Z("Hmmss",Te),ba(["H","HH"],gf),ba(["k","kk"],function(a,b,c){var d=u(a);b[gf]=24===d?0:d}),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[gf]=u(a),n(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[gf]=u(a.substr(0,d)),b[hf]=u(a.substr(d)),n(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[gf]=u(a.substr(0,d)),b[hf]=u(a.substr(d,2)),b[jf]=u(a.substr(e)),n(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[gf]=u(a.substr(0,d)),b[hf]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[gf]=u(a.substr(0,d)),b[hf]=u(a.substr(d,2)),b[jf]=u(a.substr(e))});var Bf,Cf=/[ap]\.?m?\.?/i,Df=O("Hours",!0),Ef={calendar:Ae,longDateFormat:Be,invalidDate:Ce,ordinal:De,dayOfMonthOrdinalParse:Ee,relativeTime:Fe,months:pf,monthsShort:qf,week:uf,weekdays:vf,weekdaysMin:xf,weekdaysShort:wf,meridiemParse:Cf},Ff={},Gf={},Hf=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,If=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Jf=/Z|[+-]\d\d(?::?\d\d)?/,Kf=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Lf=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Mf=/^\/?Date\((\-?\d+)/i,Nf=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Of=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:p()}),Pf=x("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?a>this?this:a:p()}),Qf=function(){return Date.now?Date.now():+new Date},Rf=["year","quarter","month","week","day","hour","minute","second","millisecond"];Db("Z",":"),Db("ZZ",""),Z("Z",$e),Z("ZZ",$e),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Eb($e,a)});var Sf=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Tf=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Uf=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Sb.fn=Ab.prototype,Sb.invalid=zb;var Vf=Wb(1,"add"),Wf=Wb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xf=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Dc("gggg","weekYear"),Dc("ggggg","weekYear"),Dc("GGGG","isoWeekYear"),Dc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),Z("G",Ye),Z("g",Ye),Z("GG",Re,Ne),Z("gg",Re,Ne),Z("GGGG",Ve,Pe),Z("gggg",Ve,Pe),Z("GGGGG",We,Qe),Z("ggggg",We,Qe),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),U("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),Z("Q",Me),ba("Q",function(a,b){b[ef]=3*(u(a)-1)}),U("D",["DD",2],"Do","date"),J("date","D"),M("date",9),Z("D",Re),Z("DD",Re,Ne),Z("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient}),ba(["D","DD"],ff),ba("Do",function(a,b){b[ff]=u(a.match(Re)[0],10)});var Yf=O("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),Z("DDD",Ue),Z("DDDD",Oe),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),U("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),Z("m",Re),Z("mm",Re,Ne),ba(["m","mm"],hf);var Zf=O("Minutes",!1);U("s",["ss",2],0,"second"),J("second","s"),M("second",15),Z("s",Re),Z("ss",Re,Ne),ba(["s","ss"],jf);var $f=O("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),J("millisecond","ms"),M("millisecond",16),Z("S",Ue,Me),Z("SS",Ue,Ne),Z("SSS",Ue,Oe);var _f;for(_f="SSSS";_f.length<=9;_f+="S")Z(_f,Xe);for(_f="S";_f.length<=9;_f+="S")ba(_f,Mc);var ag=O("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var bg=r.prototype;bg.add=Vf,bg.calendar=Zb,bg.clone=$b,bg.diff=fc,bg.endOf=sc,bg.format=kc,bg.from=lc,bg.fromNow=mc,bg.to=nc,bg.toNow=oc,bg.get=R,bg.invalidAt=Bc,bg.isAfter=_b,bg.isBefore=ac,bg.isBetween=bc,bg.isSame=cc,bg.isSameOrAfter=dc,bg.isSameOrBefore=ec,bg.isValid=zc,bg.lang=Xf,bg.locale=pc,bg.localeData=qc,bg.max=Pf,bg.min=Of,bg.parsingFlags=Ac,bg.set=S,bg.startOf=rc,bg.subtract=Wf,bg.toArray=wc,bg.toObject=xc,bg.toDate=vc,bg.toISOString=ic,bg.inspect=jc,bg.toJSON=yc,bg.toString=hc,bg.unix=uc,bg.valueOf=tc,bg.creationData=Cc,bg.year=tf,bg.isLeapYear=ra,bg.weekYear=Ec,bg.isoWeekYear=Fc,bg.quarter=bg.quarters=Kc,bg.month=ka,bg.daysInMonth=la,bg.week=bg.weeks=Ba,bg.isoWeek=bg.isoWeeks=Ca,bg.weeksInYear=Hc,bg.isoWeeksInYear=Gc,bg.date=Yf,bg.day=bg.days=Ka,bg.weekday=La,bg.isoWeekday=Ma,bg.dayOfYear=Lc,bg.hour=bg.hours=Df,bg.minute=bg.minutes=Zf,bg.second=bg.seconds=$f,bg.millisecond=bg.milliseconds=ag,bg.utcOffset=Hb,bg.utc=Jb,bg.local=Kb,bg.parseZone=Lb,bg.hasAlignedHourOffset=Mb,bg.isDST=Nb,bg.isLocal=Pb,bg.isUtcOffset=Qb,bg.isUtc=Rb,bg.isUTC=Rb,bg.zoneAbbr=Nc,bg.zoneName=Oc,bg.dates=x("dates accessor is deprecated. Use date instead.",Yf),bg.months=x("months accessor is deprecated. Use month instead",ka),bg.years=x("years accessor is deprecated. Use year instead",tf),bg.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ib),bg.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ob);var cg=C.prototype;cg.calendar=D,cg.longDateFormat=E,cg.invalidDate=F,cg.ordinal=G,cg.preparse=Rc,cg.postformat=Rc,cg.relativeTime=H,cg.pastFuture=I,cg.set=A,cg.months=fa,cg.monthsShort=ga,cg.monthsParse=ia,cg.monthsRegex=na,cg.monthsShortRegex=ma,cg.week=ya,cg.firstDayOfYear=Aa,cg.firstDayOfWeek=za,cg.weekdays=Fa,cg.weekdaysMin=Ha,cg.weekdaysShort=Ga,cg.weekdaysParse=Ja,cg.weekdaysRegex=Na,cg.weekdaysShortRegex=Oa,cg.weekdaysMinRegex=Pa,cg.isPM=Va,cg.meridiem=Wa,$a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var dg=Math.abs,eg=id("ms"),fg=id("s"),gg=id("m"),hg=id("h"),ig=id("d"),jg=id("w"),kg=id("M"),lg=id("y"),mg=kd("milliseconds"),ng=kd("seconds"),og=kd("minutes"),pg=kd("hours"),qg=kd("days"),rg=kd("months"),sg=kd("years"),tg=Math.round,ug={ss:44,s:45,m:45,h:22,d:26,M:11},vg=Math.abs,wg=Ab.prototype;wg.isValid=yb,wg.abs=$c,wg.add=ad,wg.subtract=bd,wg.as=gd,wg.asMilliseconds=eg,wg.asSeconds=fg,wg.asMinutes=gg,wg.asHours=hg,wg.asDays=ig,wg.asWeeks=jg,wg.asMonths=kg,wg.asYears=lg,wg.valueOf=hd,wg._bubble=dd,wg.get=jd,wg.milliseconds=mg,wg.seconds=ng,wg.minutes=og,wg.hours=pg,wg.days=qg,wg.weeks=ld,wg.months=rg,wg.years=sg,wg.humanize=qd,wg.toISOString=rd,wg.toString=rd,wg.toJSON=rd,wg.locale=pc,wg.localeData=qc,wg.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",rd),wg.lang=Xf,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Ye),Z("X",_e),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),
//! moment.js
-//! version : 2.17.1
+//! version : 2.18.0
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
-a.version="2.17.1",b(sb),a.fn=Vf,a.min=ub,a.max=vb,a.now=Jf,a.utc=k,a.unix=Lc,a.months=Rc,a.isDate=g,a.locale=$a,a.invalid=o,a.duration=Ob,a.isMoment=s,a.weekdays=Tc,a.parseZone=Mc,a.localeData=bb,a.isDuration=xb,a.monthsShort=Sc,a.weekdaysMin=Vc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Uc,a.normalizeUnits=K,a.relativeTimeRounding=kd,a.relativeTimeThreshold=ld,a.calendarFormat=Ub,a.prototype=Vf,
+a.version="2.18.0",b(tb),a.fn=bg,a.min=vb,a.max=wb,a.now=Qf,a.utc=l,a.unix=Pc,a.months=Vc,a.isDate=h,a.locale=$a,a.invalid=p,a.duration=Sb,a.isMoment=s,a.weekdays=Xc,a.parseZone=Qc,a.localeData=bb,a.isDuration=Bb,a.monthsShort=Wc,a.weekdaysMin=Zc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Yc,a.normalizeUnits=K,a.relativeTimeRounding=od,a.relativeTimeThreshold=pd,a.calendarFormat=Yb,a.prototype=bg,
//! moment.js locale configuration
//! locale : Afrikaans [af]
//! author : Werner Mollentze : https://github.com/wernerm
-a.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(a){return/^nm$/i.test(a)},meridiem:function(a,b,c){return a<12?c?"vm":"VM":c?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,// Maandag is die eerste dag van die week.
-doy:4}}),
+a.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(a){return/^nm$/i.test(a)},meridiem:function(a,b,c){return a<12?c?"vm":"VM":c?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Arabic (Algeria) [ar-dz]
//! author : Noureddine LOUAHEDJ : https://github.com/noureddineme
-a.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,// Sunday is the first day of the week.
-doy:4}});
+a.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}}),
+//! moment.js locale configuration
+//! locale : Arabic (Kuwait) [ar-kw]
+//! author : Nusret Parlak: https://github.com/nusretparlak
+a.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}});
//! moment.js locale configuration
//! locale : Arabic (Lybia) [ar-ly]
//! author : Ali Hmer: https://github.com/kikoanis
-var pg={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},qg=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&a%100<=10?3:a%100>=11?4:5},rg={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},sg=function(a){return function(b,c,d,e){var f=qg(b),g=rg[a][qg(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},tg=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];a.defineLocale("ar-ly",{months:tg,monthsShort:tg,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return a<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:sg("s"),m:sg("m"),mm:sg("m"),h:sg("h"),hh:sg("h"),d:sg("d"),dd:sg("d"),M:sg("M"),MM:sg("M"),y:sg("y"),yy:sg("y")},preparse:function(a){return a.replace(/\u200f/g,"").replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return pg[a]}).replace(/,/g,"،")},week:{dow:6,// Saturday is the first day of the week.
-doy:12}}),
+var xg={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},yg=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&a%100<=10?3:a%100>=11?4:5},zg={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},Ag=function(a){return function(b,c,d,e){var f=yg(b),g=zg[a][yg(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},Bg=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];a.defineLocale("ar-ly",{months:Bg,monthsShort:Bg,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return a<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:Ag("s"),m:Ag("m"),mm:Ag("m"),h:Ag("h"),hh:Ag("h"),d:Ag("d"),dd:Ag("d"),M:Ag("M"),MM:Ag("M"),y:Ag("y"),yy:Ag("y")},preparse:function(a){return a.replace(/\u200f/g,"").replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return xg[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}}),
//! moment.js locale configuration
//! locale : Arabic (Morocco) [ar-ma]
//! author : ElFadili Yassine : https://github.com/ElFadiliY
//! author : Abdel Said : https://github.com/abdelsaid
-a.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,// Saturday is the first day of the week.
-doy:12}});
+a.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}});
//! moment.js locale configuration
//! locale : Arabic (Saudi Arabia) [ar-sa]
//! author : Suhail Alkowaileet : https://github.com/xsoh
-var ug={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},vg={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};a.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return a<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return vg[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return ug[a]}).replace(/,/g,"،")},week:{dow:0,// Sunday is the first day of the week.
-doy:6}}),
+var Cg={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},Dg={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};a.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return a<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return Dg[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Cg[a]}).replace(/,/g,"،")},week:{dow:0,doy:6}}),
//! moment.js locale configuration
//! locale : Arabic (Tunisia) [ar-tn]
//! author : Nader Toukabri : https://github.com/naderio
-a.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+a.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Arabic [ar]
//! author : Abdel Said: https://github.com/abdelsaid
//! author : Ahmed Elkhatib
//! author : forabi https://github.com/forabi
-var wg={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},xg={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},yg=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&a%100<=10?3:a%100>=11?4:5},zg={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},Ag=function(a){return function(b,c,d,e){var f=yg(b),g=zg[a][yg(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},Bg=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"];a.defineLocale("ar",{months:Bg,monthsShort:Bg,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return a<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:Ag("s"),m:Ag("m"),mm:Ag("m"),h:Ag("h"),hh:Ag("h"),d:Ag("d"),dd:Ag("d"),M:Ag("M"),MM:Ag("M"),y:Ag("y"),yy:Ag("y")},preparse:function(a){return a.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return xg[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return wg[a]}).replace(/,/g,"،")},week:{dow:6,// Saturday is the first day of the week.
-doy:12}});
+var Eg={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},Fg={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},Gg=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&a%100<=10?3:a%100>=11?4:5},Hg={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},Ig=function(a){return function(b,c,d,e){var f=Gg(b),g=Hg[a][Gg(b)];return 2===f&&(g=g[c?0:1]),g.replace(/%d/i,b)}},Jg=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"];a.defineLocale("ar",{months:Jg,monthsShort:Jg,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return a<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:Ig("s"),m:Ig("m"),mm:Ig("m"),h:Ig("h"),hh:Ig("h"),d:Ig("d"),dd:Ig("d"),M:Ig("M"),MM:Ig("M"),y:Ig("y"),yy:Ig("y")},preparse:function(a){return a.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return Fg[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Eg[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}});
//! moment.js locale configuration
//! locale : Azerbaijani [az]
//! author : topchiyev : https://github.com/topchiyev
-var Cg={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};a.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(a){return/^(gündüz|axşam)$/.test(a)},meridiem:function(a,b,c){return a<4?"gecə":a<12?"səhər":a<17?"gündüz":"axşam"},ordinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(a){if(0===a)// special case for zero
-return a+"-ıncı";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(Cg[b]||Cg[c]||Cg[d])},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),a.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:pd,mm:pd,h:pd,hh:pd,d:"дзень",dd:pd,M:"месяц",MM:pd,y:"год",yy:pd},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(a){return/^(дня|вечара)$/.test(a)},meridiem:function(a,b,c){return a<4?"ночы":a<12?"раніцы":a<17?"дня":"вечара"},ordinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a%10!==2&&a%10!==3||a%100===12||a%100===13?a+"-ы":a+"-і";case"D":return a+"-га";default:return a}},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+var Kg={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};a.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(a){return/^(gündüz|axşam)$/.test(a)},meridiem:function(a,b,c){return a<4?"gecə":a<12?"səhər":a<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(a){if(0===a)return a+"-ıncı";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(Kg[b]||Kg[c]||Kg[d])},week:{dow:1,doy:7}}),a.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:td,mm:td,h:td,hh:td,d:"дзень",dd:td,M:"месяц",MM:td,y:"год",yy:td},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(a){return/^(дня|вечара)$/.test(a)},meridiem:function(a,b,c){return a<4?"ночы":a<12?"раніцы":a<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a%10!==2&&a%10!==3||a%100===12||a%100===13?a+"-ы":a+"-і";case"D":return a+"-га";default:return a}},week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Bulgarian [bg]
//! author : Krasen Borisov : https://github.com/kraz
-a.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&c<20?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,// Monday is the first day of the week.
-doy:7}});
+a.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&c<20?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}});
//! moment.js locale configuration
//! locale : Bengali [bn]
//! author : Kaushik Gandhi : https://github.com/kaushikgandhi
-var Dg={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},Eg={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};a.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(a){return a.replace(/[১২৩৪৫৬৭৮৯০]/g,function(a){return Eg[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Dg[a]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(a,b){return 12===a&&(a=0),"রাত"===b&&a>=4||"দুপুর"===b&&a<5||"বিকাল"===b?a+12:a},meridiem:function(a,b,c){return a<4?"রাত":a<10?"সকাল":a<17?"দুপুর":a<20?"বিকাল":"রাত"},week:{dow:0,// Sunday is the first day of the week.
-doy:6}});
+var Lg={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},Mg={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};a.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(a){return a.replace(/[১২৩৪৫৬৭৮৯০]/g,function(a){return Mg[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Lg[a]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(a,b){return 12===a&&(a=0),"রাত"===b&&a>=4||"দুপুর"===b&&a<5||"বিকাল"===b?a+12:a},meridiem:function(a,b,c){return a<4?"রাত":a<10?"সকাল":a<17?"দুপুর":a<20?"বিকাল":"রাত"},week:{dow:0,doy:6}});
//! moment.js locale configuration
//! locale : Tibetan [bo]
//! author : Thupten N. Chakrishar : https://github.com/vajradog
-var Fg={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},Gg={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};a.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(a){return a.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(a){return Gg[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Fg[a]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(a,b){return 12===a&&(a=0),"མཚན་མོ"===b&&a>=4||"ཉིན་གུང"===b&&a<5||"དགོང་དག"===b?a+12:a},meridiem:function(a,b,c){return a<4?"མཚན་མོ":a<10?"ཞོགས་ཀས":a<17?"ཉིན་གུང":a<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,// Sunday is the first day of the week.
-doy:6}}),a.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:qd,h:"un eur",hh:"%d eur",d:"un devezh",dd:qd,M:"ur miz",MM:qd,y:"ur bloaz",yy:rd},ordinalParse:/\d{1,2}(añ|vet)/,ordinal:function(a){var b=1===a?"añ":"vet";return a+b},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:vd,mm:vd,h:vd,hh:vd,d:"dan",dd:vd,M:"mjesec",MM:vd,y:"godinu",yy:vd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+var Ng={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},Og={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};a.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(a){return a.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(a){return Og[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Ng[a]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(a,b){return 12===a&&(a=0),"མཚན་མོ"===b&&a>=4||"ཉིན་གུང"===b&&a<5||"དགོང་དག"===b?a+12:a},meridiem:function(a,b,c){return a<4?"མཚན་མོ":a<10?"ཞོགས་ཀས":a<17?"ཉིན་གུང":a<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}}),a.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:ud,h:"un eur",hh:"%d eur",d:"un devezh",dd:ud,M:"ur miz",MM:ud,y:"ur bloaz",yy:vd},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(a){var b=1===a?"añ":"vet";return a+b},week:{dow:1,doy:4}}),a.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:zd,mm:zd,h:zd,hh:zd,d:"dan",dd:zd,M:"mjesec",MM:zd,y:"godinu",yy:zd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Catalan [ca]
//! author : Juan G. Hurtado : https://github.com/juanghurtado
-a.defineLocale("ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return"w"!==b&&"W"!==b||(c="a"),a+c},week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+a.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"[el] D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"[el] D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"[el] dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return"w"!==b&&"W"!==b||(c="a"),a+c},week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Czech [cs]
//! author : petrbela : https://github.com/petrbela
-var Hg="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),Ig="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");a.defineLocale("cs",{months:Hg,monthsShort:Ig,monthsParse:function(a,b){var c,d=[];for(c=0;c<12;c++)
-// use custom parser to solve problem with July (červenec)
-d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(Hg,Ig),shortMonthsParse:function(a){var b,c=[];for(b=0;b<12;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(Ig),longMonthsParse:function(a){var b,c=[];for(b=0;b<12;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(Hg),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:xd,m:xd,mm:xd,h:xd,hh:xd,d:xd,dd:xd,M:xd,MM:xd,y:xd,yy:xd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+var Pg="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),Qg="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");a.defineLocale("cs",{months:Pg,monthsShort:Qg,monthsParse:function(a,b){var c,d=[];for(c=0;c<12;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(Pg,Qg),shortMonthsParse:function(a){var b,c=[];for(b=0;b<12;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(Qg),longMonthsParse:function(a){var b,c=[];for(b=0;b<12;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(Pg),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:Bd,m:Bd,mm:Bd,h:Bd,hh:Bd,d:Bd,dd:Bd,M:Bd,MM:Bd,y:Bd,yy:Bd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Chuvash [cv]
//! author : Anatoly Mironov : https://github.com/mirontoli
-a.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(a){var b=/сехет$/i.exec(a)?"рен":/ҫул$/i.exec(a)?"тан":"ран";return a+b},past:"%s каялла",s:"пӗр-ик ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},ordinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+a.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(a){var b=/сехет$/i.exec(a)?"рен":/ҫул$/i.exec(a)?"тан":"ран";return a+b},past:"%s каялла",s:"пӗр-ик ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Welsh [cy]
//! author : Robert Allen : https://github.com/robgallen
//! author : https://github.com/ryangreaves
-a.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,
-// time formats are the same as en-gb
-longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},ordinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
-// traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
-ordinal:function(a){var b=a,c="",d=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed",// 1af to 10fed
-"eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return b>20?c=40===b||50===b||60===b||80===b||100===b?"fed":"ain":b>0&&(c=d[b]),a+c},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(a){var b=a,c="",d=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return b>20?c=40===b||50===b||60===b||80===b||100===b?"fed":"ain":b>0&&(c=d[b]),a+c},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Danish [da]
//! author : Ulrik Nielsen : https://github.com/mrbase
-a.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I går kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:yd,mm:"%d Minuten",h:yd,hh:"%d Stunden",d:yd,dd:yd,M:yd,MM:yd,y:yd,yy:yd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:zd,mm:"%d Minuten",h:zd,hh:"%d Stunden",d:zd,dd:zd,M:zd,MM:zd,y:zd,yy:zd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+a.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:Cd,mm:"%d Minuten",h:Cd,hh:"%d Stunden",d:Cd,dd:Cd,M:Cd,MM:Cd,y:Cd,yy:Cd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._März_April_Mai_Juni_Juli_Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH.mm",LLLL:"dddd, D. MMMM YYYY HH.mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:Dd,mm:"%d Minuten",h:Dd,hh:"%d Stunden",d:Dd,dd:Dd,M:Dd,MM:Dd,y:Dd,yy:Dd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:Ed,mm:"%d Minuten",h:Ed,hh:"%d Stunden",d:Ed,dd:Ed,M:Ed,MM:Ed,y:Ed,yy:Ed},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Maldivian [dv]
//! author : Jawish Hameed : https://github.com/jawish
-var Jg=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],Kg=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];a.defineLocale("dv",{months:Jg,monthsShort:Jg,weekdays:Kg,weekdaysShort:Kg,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(a){return"މފ"===a},meridiem:function(a,b,c){return a<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(a){return a.replace(/،/g,",")},postformat:function(a){return a.replace(/,/g,"،")},week:{dow:7,// Sunday is the first day of the week.
-doy:12}}),
+var Rg=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],Sg=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];a.defineLocale("dv",{months:Rg,monthsShort:Rg,weekdays:Sg,weekdaysShort:Sg,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(a){return"މފ"===a},meridiem:function(a,b,c){return a<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(a){return a.replace(/،/g,",")},postformat:function(a){return a.replace(/,/g,"،")},week:{dow:7,doy:12}}),
//! moment.js locale configuration
//! locale : Greek [el]
//! author : Aggelos Karalias : https://github.com/mehiel
-a.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ΜΜ":c?"πμ":"ΠΜ"},isPM:function(a){return"μ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return z(c)&&(c=c.apply(b)),c.replace("{}",d%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(a,b){return a?/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ΜΜ":c?"πμ":"ΠΜ"},isPM:function(a){return"μ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return z(c)&&(c=c.apply(b)),c.replace("{}",d%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : English (Australia) [en-au]
//! author : Jared Morse : https://github.com/jarcoal
-a.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : English (Canada) [en-ca]
//! author : Jonathan Abourbih : https://github.com/jonbca
-a.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),
+a.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),
//! moment.js locale configuration
//! locale : English (United Kingdom) [en-gb]
//! author : Chris Gedrim : https://github.com/chrisgedrim
-a.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : English (Ireland) [en-ie]
//! author : Chris Cartlidge : https://github.com/chriscartlidge
-a.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : English (New Zealand) [en-nz]
//! author : Luke McGregor : https://github.com/lukemcgregor
-a.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Esperanto [eo]
//! author : Colin Dean : https://github.com/colindean
-//! komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko.
-//! Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni!
-a.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Ĵa_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-an de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(a){return"p"===a.charAt(0).toLowerCase()},meridiem:function(a,b,c){return a>11?c?"p.t.m.":"P.T.M.":c?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",//ne 'diurno', ĉar estas uzita por proksimumo
-dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,// Monday is the first day of the week.
-doy:7}});
+//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia
+//! comment : miestasmia corrected the translation by colindean
+a.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(a){return"p"===a.charAt(0).toLowerCase()},meridiem:function(a,b,c){return a>11?c?"p.t.m.":"P.T.M.":c?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});
//! moment.js locale configuration
//! locale : Spanish (Dominican Republic) [es-do]
-var Lg="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Mg="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");a.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Mg[a.month()]:Lg[a.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+var Tg="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Ug="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");a.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?Ug[a.month()]:Tg[a.month()]:Tg},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Spanish [es]
//! author : Julio Napurí : https://github.com/julionc
-var Ng="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Og="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");a.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Og[a.month()]:Ng[a.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:Ad,m:Ad,mm:Ad,h:Ad,hh:Ad,d:Ad,dd:"%d päeva",M:Ad,MM:Ad,y:Ad,yy:Ad},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+var Vg="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Wg="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");a.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?Wg[a.month()]:Vg[a.month()]:Vg},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),a.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:Fd,m:Fd,mm:Fd,h:Fd,hh:Fd,d:Fd,dd:"%d päeva",M:Fd,MM:Fd,y:Fd,yy:Fd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Basque [eu]
//! author : Eneko Illarramendi : https://github.com/eillarra
-a.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:7}});
+a.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});
//! moment.js locale configuration
//! locale : Persian [fa]
//! author : Ebrahim Byagowi : https://github.com/ebraminio
-var Pg={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},Qg={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};a.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysShort:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(a){return/بعد از ظهر/.test(a)},meridiem:function(a,b,c){return a<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return Qg[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Pg[a]}).replace(/,/g,"،")},ordinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,// Saturday is the first day of the week.
-doy:12}});
+var Xg={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},Yg={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};a.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysShort:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(a){return/بعد از ظهر/.test(a)},meridiem:function(a,b,c){return a<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return Yg[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return Xg[a]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}});
//! moment.js locale configuration
//! locale : Finnish [fi]
//! author : Tarmo Aidantausta : https://github.com/bleadof
-var Rg="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),Sg=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",Rg[7],Rg[8],Rg[9]];a.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:Bd,m:Bd,mm:Bd,h:Bd,hh:Bd,d:Bd,dd:Bd,M:Bd,MM:Bd,y:Bd,yy:Bd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+var Zg="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),$g=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",Zg[7],Zg[8],Zg[9]];a.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:Gd,m:Gd,mm:Gd,h:Gd,hh:Gd,d:Gd,dd:Gd,M:Gd,MM:Gd,y:Gd,yy:Gd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Faroese [fo]
//! author : Ragnar Johannesen : https://github.com/ragnar123
-a.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : French (Canada) [fr-ca]
//! author : Jonathan Abourbih : https://github.com/jonbca
-a.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")}}),
+a.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(a,b){switch(b){default:case"M":case"Q":case"D":case"DDD":case"d":return a+(1===a?"er":"e");case"w":case"W":return a+(1===a?"re":"e")}}}),
//! moment.js locale configuration
//! locale : French (Switzerland) [fr-ch]
//! author : Gaspard Bucher : https://github.com/gaspard
-a.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(a,b){switch(b){default:case"M":case"Q":case"D":case"DDD":case"d":return a+(1===a?"er":"e");case"w":case"W":return a+(1===a?"re":"e")}},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : French [fr]
//! author : John Fischer : https://github.com/jfroffice
-a.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+a.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(a,b){switch(b){case"D":return a+(1===a?"er":"");default:case"M":case"Q":case"DDD":case"d":return a+(1===a?"er":"e");case"w":case"W":return a+(1===a?"re":"e")}},week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Frisian [fy]
//! author : Robin van der Vliet : https://github.com/robin0van0der0v
-var Tg="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),Ug="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");a.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?Ug[a.month()]:Tg[a.month()]},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+var _g="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),ah="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");a.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?ah[a.month()]:_g[a.month()]:_g},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Scottish Gaelic [gd]
//! author : Jon Ashdown : https://github.com/jonashdown
-var Vg=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],Wg=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],Xg=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],Yg=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],Zg=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"];a.defineLocale("gd",{months:Vg,monthsShort:Wg,monthsParseExact:!0,weekdays:Xg,weekdaysShort:Yg,weekdaysMin:Zg,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},ordinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(a){var b=1===a?"d":a%10===2?"na":"mh";return a+b},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+var bh=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],ch=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],dh=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],eh=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],fh=["Dò","Lu","Mà","Ci","Ar","Ha","Sa"];a.defineLocale("gd",{months:bh,monthsShort:ch,monthsParseExact:!0,weekdays:dh,weekdaysShort:eh,weekdaysMin:fh,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(a){var b=1===a?"d":a%10===2?"na":"mh";return a+b},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Galician [gl]
//! author : Juan G. Hurtado : https://github.com/juanghurtado
-a.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(a){return 0===a.indexOf("un")?"n"+a:"en "+a},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(a){return 0===a.indexOf("un")?"n"+a:"en "+a},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),a.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:Id,m:Id,mm:Id,h:Id,hh:Id,d:Id,dd:Id,M:Id,MM:Id,y:Id,yy:Id},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(a,b){switch(b){case"D":return a+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return a}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(a,b){return 12===a&&(a=0),"rati"===b?a<4?a:a+12:"sokalli"===b?a:"donparam"===b?a>12?a:a+12:"sanje"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"rati":a<12?"sokalli":a<16?"donparam":a<20?"sanje":"rati"}}),
//! moment.js locale configuration
//! locale : Hebrew [he]
//! author : Tomer Cohen : https://github.com/tomer
//! moment.js locale configuration
//! locale : Hindi [hi]
//! author : Mayank Singhal : https://github.com/mayanksinghal
-var $g={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},_g={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};a.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return _g[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return $g[a]})},
-// Hindi notation for meridiems are quite fuzzy in practice. While there exists
-// a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
-meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात"===b?a<4?a:a+12:"सुबह"===b?a:"दोपहर"===b?a>=10?a:a+12:"शाम"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"रात":a<10?"सुबह":a<17?"दोपहर":a<20?"शाम":"रात"},week:{dow:0,// Sunday is the first day of the week.
-doy:6}}),a.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("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:Dd,mm:Dd,h:Dd,hh:Dd,d:"dan",dd:Dd,M:"mjesec",MM:Dd,y:"godinu",yy:Dd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:7}});
+var gh={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},hh={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};a.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return hh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return gh[a]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात"===b?a<4?a:a+12:"सुबह"===b?a:"दोपहर"===b?a>=10?a:a+12:"शाम"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"रात":a<10?"सुबह":a<17?"दोपहर":a<20?"शाम":"रात"},week:{dow:0,doy:6}}),a.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("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:Jd,mm:Jd,h:Jd,hh:Jd,d:"dan",dd:Jd,M:"mjesec",MM:Jd,y:"godinu",yy:Jd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});
//! moment.js locale configuration
//! locale : Hungarian [hu]
//! author : Adam Brunner : https://github.com/adambrunner
-var ah="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");a.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return a<12?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return Fd.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return Fd.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:Ed,m:Ed,mm:Ed,h:Ed,hh:Ed,d:Ed,dd:Ed,M:Ed,MM:Ed,y:Ed,yy:Ed},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+var ih="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");a.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return a<12?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return Ld.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return Ld.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:Kd,m:Kd,mm:Kd,h:Kd,hh:Kd,d:Kd,dd:Kd,M:Kd,MM:Kd,y:Kd,yy:Kd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Armenian [hy-am]
//! author : Armendarabyan : https://github.com/armendarabyan
-a.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(a){return/^(ցերեկվա|երեկոյան)$/.test(a)},meridiem:function(a){return a<4?"գիշերվա":a<12?"առավոտվա":a<17?"ցերեկվա":"երեկոյան"},ordinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(a,b){switch(b){case"DDD":case"w":case"W":case"DDDo":return 1===a?a+"-ին":a+"-րդ";default:return a}},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+a.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(a){return/^(ցերեկվա|երեկոյան)$/.test(a)},meridiem:function(a){return a<4?"գիշերվա":a<12?"առավոտվա":a<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(a,b){switch(b){case"DDD":case"w":case"W":case"DDDo":return 1===a?a+"-ին":a+"-րդ";default:return a}},week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Indonesian [id]
//! author : Mohammad Satrio Utomo : https://github.com/tyok
//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
-a.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return a<11?"pagi":a<15?"siang":a<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),a.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:Hd,m:Hd,mm:Hd,h:"klukkustund",hh:Hd,d:Hd,dd:Hd,M:Hd,MM:Hd,y:Hd,yy:Hd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return a<11?"pagi":a<15?"siang":a<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),a.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:Nd,m:Nd,mm:Nd,h:"klukkustund",hh:Nd,d:Nd,dd:Nd,M:Nd,MM:Nd,y:Nd,yy:Nd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Italian [it]
//! author : Lorenzo : https://github.com/aliem
//! author: Mattia Larentis: https://github.com/nostalgiaz
-a.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"Do_Lu_Ma_Me_Gi_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Japanese [ja]
//! author : LI Long : https://github.com/baryon
-a.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"Ah時m分s秒",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah時m分",LLLL:"YYYY年M月D日Ah時m分 dddd"},meridiemParse:/午前|午後/i,isPM:function(a){return"午後"===a},meridiem:function(a,b,c){return a<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},ordinalParse:/\d{1,2}日/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";default:return a}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}}),
+a.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(a){return"午後"===a},meridiem:function(a,b,c){return a<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";default:return a}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}}),
//! moment.js locale configuration
//! locale : Javanese [jv]
//! author : Rony Lantip : https://github.com/lantip
//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
-a.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(a,b){return 12===a&&(a=0),"enjing"===b?a:"siyang"===b?a>=11?a:a+12:"sonten"===b||"ndalu"===b?a+12:void 0},meridiem:function(a,b,c){return a<11?"enjing":a<15?"siyang":a<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+a.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(a,b){return 12===a&&(a=0),"enjing"===b?a:"siyang"===b?a>=11?a:a+12:"sonten"===b||"ndalu"===b?a+12:void 0},meridiem:function(a,b,c){return a<11?"enjing":a<15?"siyang":a<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Georgian [ka]
//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili
-a.defineLocale("ka",{months:{standalone:"á\83\98á\83\90á\83\9cá\83\95á\83\90á\83 á\83\98_á\83\97á\83\94á\83\91á\83\94á\83 á\83\95á\83\90á\83\9aá\83\98_á\83\9bá\83\90á\83 á\83¢á\83\98_á\83\90á\83\9eá\83 á\83\98á\83\9aá\83\98_á\83\9bá\83\90á\83\98á\83¡á\83\98_á\83\98á\83\95á\83\9cá\83\98á\83¡á\83\98_á\83\98á\83\95á\83\9aá\83\98á\83¡á\83\98_á\83\90á\83\92á\83\95á\83\98á\83¡á\83¢á\83\9d_á\83¡á\83\94á\83¥á\83¢á\83\94á\83\9bá\83\91á\83\94á\83 á\83\98_á\83\9dá\83¥á\83¢á\83\9dá\83\9bá\83\91á\83\94á\83 á\83\98_á\83\9cá\83\9dá\83\94á\83\9bá\83\91á\83\94á\83 á\83\98_á\83\93á\83\94á\83\99á\83\94á\83\9bá\83\91á\83\94á\83 á\83\98".split("_"),format:"á\83\98á\83\90á\83\9cá\83\95á\83\90á\83 á\83¡_á\83\97á\83\94á\83\91á\83\94á\83 á\83\95á\83\90á\83\9aá\83¡_á\83\9bá\83\90á\83 á\83¢á\83¡_á\83\90á\83\9eá\83 á\83\98á\83\9aá\83\98á\83¡_á\83\9bá\83\90á\83\98á\83¡á\83¡_á\83\98á\83\95á\83\9cá\83\98á\83¡á\83¡_á\83\98á\83\95á\83\9aá\83\98á\83¡á\83¡_á\83\90á\83\92á\83\95á\83\98á\83¡á\83¢á\83¡_á\83¡á\83\94á\83¥á\83¢á\83\94á\83\9bá\83\91á\83\94á\83 á\83¡_á\83\9dá\83¥á\83¢á\83\9dá\83\9bá\83\91á\83\94á\83 á\83¡_á\83\9cá\83\9dá\83\94á\83\9bá\83\91á\83\94á\83 á\83¡_á\83\93á\83\94á\83\99á\83\94á\83\9bá\83\91á\83\94á\83 á\83¡".split("_")},monthsShort:"á\83\98á\83\90á\83\9c_á\83\97á\83\94á\83\91_á\83\9bá\83\90á\83 _á\83\90á\83\9eá\83 _á\83\9bá\83\90á\83\98_á\83\98á\83\95á\83\9c_á\83\98á\83\95á\83\9a_á\83\90á\83\92á\83\95_á\83¡á\83\94á\83¥_á\83\9dá\83¥á\83¢_á\83\9cá\83\9dá\83\94_á\83\93á\83\94á\83\99".split("_"),weekdays:{standalone:"á\83\99á\83\95á\83\98á\83 á\83\90_á\83\9dá\83 á\83¨á\83\90á\83\91á\83\90á\83\97á\83\98_á\83¡á\83\90á\83\9bá\83¨á\83\90á\83\91á\83\90á\83\97á\83\98_á\83\9dá\83\97á\83®á\83¨á\83\90á\83\91á\83\90á\83\97á\83\98_á\83®á\83£á\83\97á\83¨á\83\90á\83\91á\83\90á\83\97á\83\98_á\83\9eá\83\90á\83 á\83\90á\83¡á\83\99á\83\94á\83\95á\83\98_á\83¨á\83\90á\83\91á\83\90á\83\97á\83\98".split("_"),format:"á\83\99á\83\95á\83\98á\83 á\83\90á\83¡_á\83\9dá\83 á\83¨á\83\90á\83\91á\83\90á\83\97á\83¡_á\83¡á\83\90á\83\9bá\83¨á\83\90á\83\91á\83\90á\83\97á\83¡_á\83\9dá\83\97á\83®á\83¨á\83\90á\83\91á\83\90á\83\97á\83¡_á\83®á\83£á\83\97á\83¨á\83\90á\83\91á\83\90á\83\97á\83¡_á\83\9eá\83\90á\83 á\83\90á\83¡á\83\99á\83\94á\83\95á\83¡_á\83¨á\83\90á\83\91á\83\90á\83\97á\83¡".split("_"),isFormat:/(á\83¬á\83\98á\83\9cá\83\90|á\83¨á\83\94á\83\9bá\83\93á\83\94á\83\92)/},weekdaysShort:"á\83\99á\83\95á\83\98_á\83\9dá\83 á\83¨_á\83¡á\83\90á\83\9b_á\83\9dá\83\97á\83®_á\83®á\83£á\83\97_á\83\9eá\83\90á\83 _á\83¨á\83\90á\83\91".split("_"),weekdaysMin:"á\83\99á\83\95_á\83\9dá\83 _á\83¡á\83\90_á\83\9dá\83\97_á\83®á\83£_á\83\9eá\83\90_á\83¨á\83\90".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[á\83\93á\83¦á\83\94á\83¡] LT[-á\83\96á\83\94]",nextDay:"[á\83®á\83\95á\83\90á\83\9a] LT[-á\83\96á\83\94]",lastDay:"[á\83\92á\83£á\83¨á\83\98á\83\9c] LT[-á\83\96á\83\94]",nextWeek:"[á\83¨á\83\94á\83\9bá\83\93á\83\94á\83\92] dddd LT[-á\83\96á\83\94]",lastWeek:"[á\83¬á\83\98á\83\9cá\83\90] dddd LT-á\83\96á\83\94",sameElse:"L"},relativeTime:{future:function(a){return/(á\83¬á\83\90á\83\9bá\83\98|á\83¬á\83£á\83\97á\83\98|á\83¡á\83\90á\83\90á\83\97á\83\98|á\83¬á\83\94á\83\9aá\83\98)/.test(a)?a.replace(/á\83\98$/,"á\83¨á\83\98"):a+"á\83¨á\83\98"},past:function(a){return/(á\83¬á\83\90á\83\9bá\83\98|á\83¬á\83£á\83\97á\83\98|á\83¡á\83\90á\83\90á\83\97á\83\98|á\83\93á\83¦á\83\94|á\83\97á\83\95á\83\94)/.test(a)?a.replace(/(á\83\98|á\83\94)$/,"á\83\98á\83¡ á\83¬á\83\98á\83\9c"):/á\83¬á\83\94á\83\9aá\83\98/.test(a)?a.replace(/á\83¬á\83\94á\83\9aá\83\98$/,"á\83¬á\83\9aá\83\98á\83¡ á\83¬á\83\98á\83\9c"):void 0},s:"á\83 á\83\90á\83\9bá\83\93á\83\94á\83\9cá\83\98á\83\9bá\83\94 á\83¬á\83\90á\83\9bá\83\98",m:"á\83¬á\83£á\83\97á\83\98",mm:"%d á\83¬á\83£á\83\97á\83\98",h:"á\83¡á\83\90á\83\90á\83\97á\83\98",hh:"%d á\83¡á\83\90á\83\90á\83\97á\83\98",d:"á\83\93á\83¦á\83\94",dd:"%d á\83\93á\83¦á\83\94",M:"á\83\97á\83\95á\83\94",MM:"%d á\83\97á\83\95á\83\94",y:"á\83¬á\83\94á\83\9aá\83\98",yy:"%d á\83¬á\83\94á\83\9aá\83\98"},ordinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(a){return 0===a?a:1===a?a+"-ლი":a<20||a<=100&&a%20===0||a%100===0?"მე-"+a:a+"-ე"},week:{dow:1,doy:7}});
+a.defineLocale("ka",{months:{standalone:"á\83\98á\83\90á\83\9cá\83\95á\83\90á\83 á\83\98_á\83\97á\83\94á\83\91á\83\94á\83 á\83\95á\83\90á\83\9aá\83\98_á\83\9bá\83\90á\83 á\83¢á\83\98_á\83\90á\83\9eá\83 á\83\98á\83\9aá\83\98_á\83\9bá\83\90á\83\98á\83¡á\83\98_á\83\98á\83\95á\83\9cá\83\98á\83¡á\83\98_á\83\98á\83\95á\83\9aá\83\98á\83¡á\83\98_á\83\90á\83\92á\83\95á\83\98á\83¡á\83¢á\83\9d_á\83¡á\83\94á\83¥á\83¢á\83\94á\83\9bá\83\91á\83\94á\83 á\83\98_á\83\9dá\83¥á\83¢á\83\9dá\83\9bá\83\91á\83\94á\83 á\83\98_á\83\9cá\83\9dá\83\94á\83\9bá\83\91á\83\94á\83 á\83\98_á\83\93á\83\94á\83\99á\83\94á\83\9bá\83\91á\83\94á\83 á\83\98".split("_"),format:"á\83\98á\83\90á\83\9cá\83\95á\83\90á\83 á\83¡_á\83\97á\83\94á\83\91á\83\94á\83 á\83\95á\83\90á\83\9aá\83¡_á\83\9bá\83\90á\83 á\83¢á\83¡_á\83\90á\83\9eá\83 á\83\98á\83\9aá\83\98á\83¡_á\83\9bá\83\90á\83\98á\83¡á\83¡_á\83\98á\83\95á\83\9cá\83\98á\83¡á\83¡_á\83\98á\83\95á\83\9aá\83\98á\83¡á\83¡_á\83\90á\83\92á\83\95á\83\98á\83¡á\83¢á\83¡_á\83¡á\83\94á\83¥á\83¢á\83\94á\83\9bá\83\91á\83\94á\83 á\83¡_á\83\9dá\83¥á\83¢á\83\9dá\83\9bá\83\91á\83\94á\83 á\83¡_á\83\9cá\83\9dá\83\94á\83\9bá\83\91á\83\94á\83 á\83¡_á\83\93á\83\94á\83\99á\83\94á\83\9bá\83\91á\83\94á\83 á\83¡".split("_")},monthsShort:"á\83\98á\83\90á\83\9c_á\83\97á\83\94á\83\91_á\83\9bá\83\90á\83 _á\83\90á\83\9eá\83 _á\83\9bá\83\90á\83\98_á\83\98á\83\95á\83\9c_á\83\98á\83\95á\83\9a_á\83\90á\83\92á\83\95_á\83¡á\83\94á\83¥_á\83\9dá\83¥á\83¢_á\83\9cá\83\9dá\83\94_á\83\93á\83\94á\83\99".split("_"),weekdays:{standalone:"á\83\99á\83\95á\83\98á\83 á\83\90_á\83\9dá\83 á\83¨á\83\90á\83\91á\83\90á\83\97á\83\98_á\83¡á\83\90á\83\9bá\83¨á\83\90á\83\91á\83\90á\83\97á\83\98_á\83\9dá\83\97á\83®á\83¨á\83\90á\83\91á\83\90á\83\97á\83\98_á\83®á\83£á\83\97á\83¨á\83\90á\83\91á\83\90á\83\97á\83\98_á\83\9eá\83\90á\83 á\83\90á\83¡á\83\99á\83\94á\83\95á\83\98_á\83¨á\83\90á\83\91á\83\90á\83\97á\83\98".split("_"),format:"á\83\99á\83\95á\83\98á\83 á\83\90á\83¡_á\83\9dá\83 á\83¨á\83\90á\83\91á\83\90á\83\97á\83¡_á\83¡á\83\90á\83\9bá\83¨á\83\90á\83\91á\83\90á\83\97á\83¡_á\83\9dá\83\97á\83®á\83¨á\83\90á\83\91á\83\90á\83\97á\83¡_á\83®á\83£á\83\97á\83¨á\83\90á\83\91á\83\90á\83\97á\83¡_á\83\9eá\83\90á\83 á\83\90á\83¡á\83\99á\83\94á\83\95á\83¡_á\83¨á\83\90á\83\91á\83\90á\83\97á\83¡".split("_"),isFormat:/(á\83¬á\83\98á\83\9cá\83\90|á\83¨á\83\94á\83\9bá\83\93á\83\94á\83\92)/},weekdaysShort:"á\83\99á\83\95á\83\98_á\83\9dá\83 á\83¨_á\83¡á\83\90á\83\9b_á\83\9dá\83\97á\83®_á\83®á\83£á\83\97_á\83\9eá\83\90á\83 _á\83¨á\83\90á\83\91".split("_"),weekdaysMin:"á\83\99á\83\95_á\83\9dá\83 _á\83¡á\83\90_á\83\9dá\83\97_á\83®á\83£_á\83\9eá\83\90_á\83¨á\83\90".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[á\83\93á\83¦á\83\94á\83¡] LT[-á\83\96á\83\94]",nextDay:"[á\83®á\83\95á\83\90á\83\9a] LT[-á\83\96á\83\94]",lastDay:"[á\83\92á\83£á\83¨á\83\98á\83\9c] LT[-á\83\96á\83\94]",nextWeek:"[á\83¨á\83\94á\83\9bá\83\93á\83\94á\83\92] dddd LT[-á\83\96á\83\94]",lastWeek:"[á\83¬á\83\98á\83\9cá\83\90] dddd LT-á\83\96á\83\94",sameElse:"L"},relativeTime:{future:function(a){return/(á\83¬á\83\90á\83\9bá\83\98|á\83¬á\83£á\83\97á\83\98|á\83¡á\83\90á\83\90á\83\97á\83\98|á\83¬á\83\94á\83\9aá\83\98)/.test(a)?a.replace(/á\83\98$/,"á\83¨á\83\98"):a+"á\83¨á\83\98"},past:function(a){return/(á\83¬á\83\90á\83\9bá\83\98|á\83¬á\83£á\83\97á\83\98|á\83¡á\83\90á\83\90á\83\97á\83\98|á\83\93á\83¦á\83\94|á\83\97á\83\95á\83\94)/.test(a)?a.replace(/(á\83\98|á\83\94)$/,"á\83\98á\83¡ á\83£á\83\99á\83\90á\83\9c"):/á\83¬á\83\94á\83\9aá\83\98/.test(a)?a.replace(/á\83¬á\83\94á\83\9aá\83\98$/,"á\83¬á\83\9aá\83\98á\83¡ á\83£á\83\99á\83\90á\83\9c"):void 0},s:"á\83 á\83\90á\83\9bá\83\93á\83\94á\83\9cá\83\98á\83\9bá\83\94 á\83¬á\83\90á\83\9bá\83\98",m:"á\83¬á\83£á\83\97á\83\98",mm:"%d á\83¬á\83£á\83\97á\83\98",h:"á\83¡á\83\90á\83\90á\83\97á\83\98",hh:"%d á\83¡á\83\90á\83\90á\83\97á\83\98",d:"á\83\93á\83¦á\83\94",dd:"%d á\83\93á\83¦á\83\94",M:"á\83\97á\83\95á\83\94",MM:"%d á\83\97á\83\95á\83\94",y:"á\83¬á\83\94á\83\9aá\83\98",yy:"%d á\83¬á\83\94á\83\9aá\83\98"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(a){return 0===a?a:1===a?a+"-ლი":a<20||a<=100&&a%20===0||a%100===0?"მე-"+a:a+"-ე"},week:{dow:1,doy:7}});
//! moment.js locale configuration
//! locale : Kazakh [kk]
//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
-var bh={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};a.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},ordinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(a){var b=a%10,c=a>=100?100:null;return a+(bh[a]||bh[b]||bh[c])},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+var jh={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};a.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(a){var b=a%10,c=a>=100?100:null;return a+(jh[a]||jh[b]||jh[c])},week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Cambodian [km]
//! author : Kruy Vanna : https://github.com/kruyvanna
-a.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}});
+//! moment.js locale configuration
+//! locale : Kannada [kn]
+//! author : Rajeev Naik : https://github.com/rajeevnaikte
+var kh={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},lh={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};a.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂಬ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(a){return a.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(a){return lh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return kh[a]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(a,b){return 12===a&&(a=0),"ರಾತ್ರಿ"===b?a<4?a:a+12:"ಬೆಳಿಗ್ಗೆ"===b?a:"ಮಧ್ಯಾಹ್ನ"===b?a>=10?a:a+12:"ಸಂಜೆ"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"ರಾತ್ರಿ":a<10?"ಬೆಳಿಗ್ಗೆ":a<17?"ಮಧ್ಯಾಹ್ನ":a<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(a){return a+"ನೇ"},week:{dow:0,doy:6}}),
//! moment.js locale configuration
//! locale : Korean [ko]
//! author : Kyungwook, Park : https://github.com/kyungw00k
//! author : Jeeeyul Lee <jeeeyul@gmail.com>
-a.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h시 m분",LTS:"A h시 m분 s초",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h시 m분",LLLL:"YYYY년 MMMM D일 dddd A h시 m분"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"일분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},ordinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(a){return"오후"===a},meridiem:function(a,b,c){return a<12?"오전":"오후"}});
+a.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(a){return"오후"===a},meridiem:function(a,b,c){return a<12?"오전":"오후"}});
//! moment.js locale configuration
//! locale : Kyrgyz [ky]
//! author : Chyngyz Arystan uulu : https://github.com/chyngyz
-var ch={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};a.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},ordinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(a){var b=a%10,c=a>=100?100:null;return a+(ch[a]||ch[b]||ch[c])},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),a.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){
-// Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
-switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:Jd,past:Kd,s:"e puer Sekonnen",m:Id,mm:"%d Minutten",h:Id,hh:"%d Stonnen",d:Id,dd:"%d Deeg",M:Id,MM:"%d Méint",y:Id,yy:"%d Joer"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+var mh={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};a.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(a){var b=a%10,c=a>=100?100:null;return a+(mh[a]||mh[b]||mh[c])},week:{dow:1,doy:7}}),a.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:Pd,past:Qd,s:"e puer Sekonnen",m:Od,mm:"%d Minutten",h:Od,hh:"%d Stonnen",d:Od,dd:"%d Deeg",M:Od,MM:"%d Méint",y:Od,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Lao [lo]
//! author : Ryan Hart : https://github.com/ryanhart2
-a.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(a){return"ຕອນແລງ"===a},meridiem:function(a,b,c){return a<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},ordinalParse:/(ທີ່)\d{1,2}/,ordinal:function(a){return"ທີ່"+a}});
+a.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(a){return"ຕອນແລງ"===a},meridiem:function(a,b,c){return a<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(a){return"ທີ່"+a}});
//! moment.js locale configuration
//! locale : Lithuanian [lt]
//! author : Mindaugas Mozūras : https://github.com/mmozuras
-var dh={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};a.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]?/},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/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:Md,m:Nd,mm:Qd,h:Nd,hh:Qd,d:Nd,dd:Qd,M:Nd,MM:Qd,y:Nd,yy:Qd},ordinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+var nh={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};a.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]?/},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/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:Sd,m:Td,mm:Wd,h:Td,hh:Wd,d:Td,dd:Wd,M:Td,MM:Wd,y:Td,yy:Wd},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Latvian [lv]
//! author : Kristaps Karlsons : https://github.com/skakri
//! author : Jānis Elmeris : https://github.com/JanisE
-var eh={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};a.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:Ud,m:Td,mm:Sd,h:Td,hh:Sd,d:Td,dd:Sd,M:Td,MM:Sd,y:Td,yy:Sd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+var oh={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};a.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:$d,m:Zd,mm:Yd,h:Zd,hh:Yd,d:Zd,dd:Yd,M:Zd,MM:Yd,y:Zd,yy:Yd},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Montenegrin [me]
//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
-var fh={words:{//Different grammatical cases
-m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&a<=4?b[1]:b[2]},translate:function(a,b,c){var d=fh.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+fh.correctGrammaticalCase(a,d)}};a.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:fh.translate,mm:fh.translate,h:fh.translate,hh:fh.translate,d:"dan",dd:fh.translate,M:"mjesec",MM:fh.translate,y:"godinu",yy:fh.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+var ph={words:{m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&a<=4?b[1]:b[2]},translate:function(a,b,c){var d=ph.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+ph.correctGrammaticalCase(a,d)}};a.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",m:ph.translate,mm:ph.translate,h:ph.translate,hh:ph.translate,d:"dan",dd:ph.translate,M:"mjesec",MM:ph.translate,y:"godinu",yy:ph.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Maori [mi]
//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal
-a.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Macedonian [mk]
//! author : Borislav Mickov : https://github.com/B0k0
-a.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&c<20?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+a.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&c<20?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Malayalam [ml]
//! author : Floyd Pink : https://github.com/floydpink
//! locale : Marathi [mr]
//! author : Harshad Kale : https://github.com/kalehv
//! author : Vivek Athalye : https://github.com/vnathalye
-var gh={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},hh={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};a.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:Vd,m:Vd,mm:Vd,h:Vd,hh:Vd,d:Vd,dd:Vd,M:Vd,MM:Vd,y:Vd,yy:Vd},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return hh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return gh[a]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात्री"===b?a<4?a:a+12:"सकाळी"===b?a:"दुपारी"===b?a>=10?a:a+12:"सायंकाळी"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"रात्री":a<10?"सकाळी":a<17?"दुपारी":a<20?"सायंकाळी":"रात्री"},week:{dow:0,// Sunday is the first day of the week.
-doy:6}}),
+var qh={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},rh={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};a.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:_d,m:_d,mm:_d,h:_d,hh:_d,d:_d,dd:_d,M:_d,MM:_d,y:_d,yy:_d},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return rh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return qh[a]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात्री"===b?a<4?a:a+12:"सकाळी"===b?a:"दुपारी"===b?a>=10?a:a+12:"सायंकाळी"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"रात्री":a<10?"सकाळी":a<17?"दुपारी":a<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}}),
//! moment.js locale configuration
//! locale : Malay [ms-my]
//! note : DEPRECATED, the correct one is [ms]
//! author : Weldan Jamili : https://github.com/weldan
-a.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return a<11?"pagi":a<15?"tengahari":a<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+a.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return a<11?"pagi":a<15?"tengahari":a<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Malay [ms]
//! author : Weldan Jamili : https://github.com/weldan
-a.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return a<11?"pagi":a<15?"tengahari":a<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,// Monday is the first day of the week.
-doy:7}});
+a.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"tengahari"===b?a>=11?a:a+12:"petang"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return a<11?"pagi":a<15?"tengahari":a<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});
//! moment.js locale configuration
//! locale : Burmese [my]
//! author : Squar team, mysquar.com
//! author : David Rossellat : https://github.com/gholadr
//! author : Tin Aung Lin : https://github.com/thanyawzinmin
-var ih={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},jh={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};a.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(a){return a.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(a){return jh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return ih[a]})},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+var sh={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},th={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};a.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(a){return a.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(a){return th[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return sh[a]})},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Norwegian Bokmål [nb]
//! authors : Espen Hovlandsdal : https://github.com/rexxars
//! Sigurd Gartmann : https://github.com/sigurdga
-a.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+a.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Nepalese [ne]
//! author : suvash : https://github.com/suvash
-var kh={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},lh={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};a.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return lh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return kh[a]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(a,b){return 12===a&&(a=0),"राति"===b?a<4?a:a+12:"बिहान"===b?a:"दिउँसो"===b?a>=10?a:a+12:"साँझ"===b?a+12:void 0},meridiem:function(a,b,c){return a<3?"राति":a<12?"बिहान":a<16?"दिउँसो":a<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,// Sunday is the first day of the week.
-doy:6}});
+var uh={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},vh={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};a.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return vh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return uh[a]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(a,b){return 12===a&&(a=0),"राति"===b?a<4?a:a+12:"बिहान"===b?a:"दिउँसो"===b?a>=10?a:a+12:"साँझ"===b?a+12:void 0},meridiem:function(a,b,c){return a<3?"राति":a<12?"बिहान":a<16?"दिउँसो":a<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}});
//! moment.js locale configuration
//! locale : Dutch (Belgium) [nl-be]
//! author : Joris Röling : https://github.com/jorisroling
//! author : Jacob Middag : https://github.com/middagj
-var mh="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),nh="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),oh=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],ph=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;a.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?nh[a.month()]:mh[a.month()]},monthsRegex:ph,monthsShortRegex:ph,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:oh,longMonthsParse:oh,shortMonthsParse:oh,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+var wh="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),xh="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),yh=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],zh=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;a.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?xh[a.month()]:wh[a.month()]:wh},monthsRegex:zh,monthsShortRegex:zh,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:yh,longMonthsParse:yh,shortMonthsParse:yh,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Dutch [nl]
//! author : Joris Röling : https://github.com/jorisroling
//! author : Jacob Middag : https://github.com/middagj
-var qh="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),rh="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),sh=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],th=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;a.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return/-MMM-/.test(b)?rh[a.month()]:qh[a.month()]},monthsRegex:th,monthsShortRegex:th,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:sh,longMonthsParse:sh,shortMonthsParse:sh,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+var Ah="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Bh="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Ch=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Dh=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;a.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,b){return a?/-MMM-/.test(b)?Bh[a.month()]:Ah[a.month()]:Ah},monthsRegex:Dh,monthsShortRegex:Dh,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Ch,longMonthsParse:Ch,shortMonthsParse:Ch,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Nynorsk [nn]
//! author : https://github.com/mechuwind
-a.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+a.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Punjabi (India) [pa-in]
//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
-var uh={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},vh={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};a.defineLocale("pa-in",{
-// There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.
-months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(a){return a.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(a){return vh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return uh[a]})},
-// Punjabi notation for meridiems are quite fuzzy in practice. While there exists
-// a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
-meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(a,b){return 12===a&&(a=0),"ਰਾਤ"===b?a<4?a:a+12:"ਸਵੇਰ"===b?a:"ਦੁਪਹਿਰ"===b?a>=10?a:a+12:"ਸ਼ਾਮ"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"ਰਾਤ":a<10?"ਸਵੇਰ":a<17?"ਦੁਪਹਿਰ":a<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,// Sunday is the first day of the week.
-doy:6}});
+var Eh={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},Fh={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};a.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(a){return a.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(a){return Fh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Eh[a]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(a,b){return 12===a&&(a=0),"ਰਾਤ"===b?a<4?a:a+12:"ਸਵੇਰ"===b?a:"ਦੁਪਹਿਰ"===b?a>=10?a:a+12:"ਸ਼ਾਮ"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"ਰਾਤ":a<10?"ਸਵੇਰ":a<17?"ਦੁਪਹਿਰ":a<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}});
//! moment.js locale configuration
//! locale : Polish [pl]
//! author : Rafal Hirsz : https://github.com/evoL
-var wh="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),xh="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");a.defineLocale("pl",{months:function(a,b){return""===b?"("+xh[a.month()]+"|"+wh[a.month()]+")":/D MMMM/.test(b)?xh[a.month()]:wh[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:Xd,mm:Xd,h:Xd,hh:Xd,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:Xd,y:"rok",yy:Xd},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+var Gh="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),Hh="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");a.defineLocale("pl",{months:function(a,b){return a?""===b?"("+Hh[a.month()]+"|"+Gh[a.month()]+")":/D MMMM/.test(b)?Hh[a.month()]:Gh[a.month()]:Gh},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:be,mm:be,h:be,hh:be,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:be,y:"rok",yy:be},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Portuguese (Brazil) [pt-br]
//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
-a.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){// Saturday + Sunday
-return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº"}),
+a.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"}),
//! moment.js locale configuration
//! locale : Portuguese [pt]
//! author : Jefferson : https://github.com/jalex79
-a.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){// Saturday + Sunday
-return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:Yd,h:"o oră",hh:Yd,d:"o zi",dd:Yd,M:"o lună",MM:Yd,y:"un an",yy:Yd},week:{dow:1,// Monday is the first day of the week.
-doy:7}});var yh=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];
-// 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
-a.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{
-// по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
-format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:yh,longMonthsParse:yh,shortMonthsParse:yh,
-// полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
-monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
-// копия предыдущего
-monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
-// полные названия с падежами
-monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
-// Выражение, которое соотвествует только сокращённым формам
-monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:$d,mm:$d,h:"час",hh:$d,d:"день",dd:$d,M:"месяц",MM:$d,y:"год",yy:$d},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(a){return/^(дня|вечера)$/.test(a)},meridiem:function(a,b,c){return a<4?"ночи":a<12?"утра":a<17?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-я";default:return a}},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+a.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),a.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:ce,h:"o oră",hh:ce,d:"o zi",dd:ce,M:"o lună",MM:ce,y:"un an",yy:ce},week:{dow:1,doy:7}});var Ih=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];a.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:Ih,longMonthsParse:Ih,shortMonthsParse:Ih,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:ee,mm:ee,h:"час",hh:ee,d:"день",dd:ee,M:"месяц",MM:ee,y:"год",yy:ee},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(a){return/^(дня|вечера)$/.test(a)},meridiem:function(a,b,c){return a<4?"ночи":a<12?"утра":a<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-я";default:return a}},week:{dow:1,doy:7}});
+//! moment.js locale configuration
+//! locale : Sindhi [sd]
+//! author : Narain Sagar : https://github.com/narainsagar
+var Jh=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],Kh=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];a.defineLocale("sd",{months:Jh,monthsShort:Jh,weekdays:Kh,weekdaysShort:Kh,weekdaysMin:Kh,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(a){return"شام"===a},meridiem:function(a,b,c){return a<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(a){return a.replace(/،/g,",")},postformat:function(a){return a.replace(/,/g,"،")},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Northern Sami [se]
//! authors : Bård Rolstad Henriksen : https://github.com/karamell
-a.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Sinhalese [si]
//! author : Sampath Sitinamaluwa : https://github.com/sampathsris
-/*jshint -W100*/
-a.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},ordinalParse:/\d{1,2} වැනි/,ordinal:function(a){return a+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(a){return"ප.ව."===a||"පස් වරු"===a},meridiem:function(a,b,c){return a>11?c?"ප.ව.":"පස් වරු":c?"පෙ.ව.":"පෙර වරු"}});
+a.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(a){return a+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(a){return"ප.ව."===a||"පස් වරු"===a},meridiem:function(a,b,c){return a>11?c?"ප.ව.":"පස් වරු":c?"පෙ.ව.":"පෙර වරු"}});
//! moment.js locale configuration
//! locale : Slovak [sk]
//! author : Martin Minka : https://github.com/k2s
//! based on work of petrbela : https://github.com/petrbela
-var zh="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),Ah="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");a.defineLocale("sk",{months:zh,monthsShort:Ah,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:ae,m:ae,mm:ae,h:ae,hh:ae,d:ae,dd:ae,M:ae,MM:ae,y:ae,yy:ae},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:be,m:be,mm:be,h:be,hh:be,d:be,dd:be,M:be,MM:be,y:be,yy:be},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+var Lh="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),Mh="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");a.defineLocale("sk",{months:Lh,monthsShort:Mh,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:ge,m:ge,mm:ge,h:ge,hh:ge,d:ge,dd:ge,M:ge,MM:ge,y:ge,yy:ge},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),a.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:he,m:he,mm:he,h:he,hh:he,d:he,dd:he,M:he,MM:he,y:he,yy:he},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Albanian [sq]
//! author : Flakërim Ismani : https://github.com/flakerimi
//! author : Menelion Elensúle : https://github.com/Oire
//! author : Oerd Cukalla : https://github.com/oerd
-a.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(a){return"M"===a.charAt(0)},meridiem:function(a,b,c){return a<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+a.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(a){return"M"===a.charAt(0)},meridiem:function(a,b,c){return a<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Serbian Cyrillic [sr-cyrl]
//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
-var Bh={words:{//Different grammatical cases
-m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&a<=4?b[1]:b[2]},translate:function(a,b,c){var d=Bh.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+Bh.correctGrammaticalCase(a,d)}};a.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var a=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:Bh.translate,mm:Bh.translate,h:Bh.translate,hh:Bh.translate,d:"дан",dd:Bh.translate,M:"месец",MM:Bh.translate,y:"годину",yy:Bh.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:7}});
+var Nh={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&a<=4?b[1]:b[2]},translate:function(a,b,c){var d=Nh.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+Nh.correctGrammaticalCase(a,d)}};a.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var a=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:Nh.translate,mm:Nh.translate,h:Nh.translate,hh:Nh.translate,d:"дан",dd:Nh.translate,M:"месец",MM:Nh.translate,y:"годину",yy:Nh.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});
//! moment.js locale configuration
//! locale : Serbian [sr]
//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
-var Ch={words:{//Different grammatical cases
-m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&a<=4?b[1]:b[2]},translate:function(a,b,c){var d=Ch.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+Ch.correctGrammaticalCase(a,d)}};a.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:Ch.translate,mm:Ch.translate,h:Ch.translate,hh:Ch.translate,d:"dan",dd:Ch.translate,M:"mesec",MM:Ch.translate,y:"godinu",yy:Ch.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:7}}),
+var Oh={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&a<=4?b[1]:b[2]},translate:function(a,b,c){var d=Oh.words[c];return 1===c.length?b?d[0]:d[1]:a+" "+Oh.correctGrammaticalCase(a,d)}};a.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:Oh.translate,mm:Oh.translate,h:Oh.translate,hh:Oh.translate,d:"dan",dd:Oh.translate,M:"mesec",MM:Oh.translate,y:"godinu",yy:Oh.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : siSwati [ss]
//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies
-a.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(a,b,c){return a<11?"ekuseni":a<15?"emini":a<19?"entsambama":"ebusuku"},meridiemHour:function(a,b){return 12===a&&(a=0),"ekuseni"===b?a:"emini"===b?a>=11?a:a+12:"entsambama"===b||"ebusuku"===b?0===a?0:a+12:void 0},ordinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(a,b,c){return a<11?"ekuseni":a<15?"emini":a<19?"entsambama":"ebusuku"},meridiemHour:function(a,b){return 12===a&&(a=0),"ekuseni"===b?a:"emini"===b?a>=11?a:a+12:"entsambama"===b||"ebusuku"===b?0===a?0:a+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Swedish [sv]
//! author : Jens Alm : https://github.com/ulmus
-a.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Swahili [sw]
//! author : Fahad Kassim : https://github.com/fadsel
-a.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,// Monday is the first day of the week.
-doy:7}});
+a.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});
//! moment.js locale configuration
//! locale : Tamil [ta]
//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
-var Dh={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},Eh={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};a.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},ordinalParse:/\d{1,2}வது/,ordinal:function(a){return a+"வது"},preparse:function(a){return a.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(a){return Eh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Dh[a]})},
-// refer http://ta.wikipedia.org/s/1er1
-meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(a,b,c){return a<2?" யாமம்":a<6?" வைகறை":a<10?" காலை":a<14?" நண்பகல்":a<18?" எற்பாடு":a<22?" மாலை":" யாமம்"},meridiemHour:function(a,b){return 12===a&&(a=0),"யாமம்"===b?a<2?a:a+12:"வைகறை"===b||"காலை"===b?a:"நண்பகல்"===b&&a>=10?a:a+12},week:{dow:0,// Sunday is the first day of the week.
-doy:6}}),
+var Ph={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},Qh={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};a.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(a){return a+"வது"},preparse:function(a){return a.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(a){return Qh[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return Ph[a]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(a,b,c){return a<2?" யாமம்":a<6?" வைகறை":a<10?" காலை":a<14?" நண்பகல்":a<18?" எற்பாடு":a<22?" மாலை":" யாமம்"},meridiemHour:function(a,b){return 12===a&&(a=0),"யாமம்"===b?a<2?a:a+12:"வைகறை"===b||"காலை"===b?a:"நண்பகல்"===b&&a>=10?a:a+12},week:{dow:0,doy:6}}),
//! moment.js locale configuration
//! locale : Telugu [te]
//! author : Krishna Chaitanya Thota : https://github.com/kcthota
-a.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},ordinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(a,b){return 12===a&&(a=0),"రాత్రి"===b?a<4?a:a+12:"ఉదయం"===b?a:"మధ్యాహ్నం"===b?a>=10?a:a+12:"సాయంత్రం"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"రాత్రి":a<10?"ఉదయం":a<17?"మధ్యాహ్నం":a<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,// Sunday is the first day of the week.
-doy:6}}),
+a.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(a,b){return 12===a&&(a=0),"రాత్రి"===b?a<4?a:a+12:"ఉదయం"===b?a:"మధ్యాహ్నం"===b?a>=10?a:a+12:"సాయంత్రం"===b?a+12:void 0},meridiem:function(a,b,c){return a<4?"రాత్రి":a<10?"ఉదయం":a<17?"మధ్యాహ్నం":a<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}}),
//! moment.js locale configuration
//! locale : Tetun Dili (East Timor) [tet]
//! author : Joshua Brooks : https://github.com/joshbrooks
//! author : Onorio De J. Afonso : https://github.com/marobo
-a.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sext_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Sex_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutus %d",h:"horas ida",hh:"horas %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),
+a.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sext_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Sex_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutus %d",h:"horas ida",hh:"horas %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Thai [th]
//! author : Kridsada Thanabulpong : https://github.com/sirn
-a.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),// yes, three characters difference
-weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(a){return"หลังเที่ยง"===a},meridiem:function(a,b,c){return a<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}}),
+a.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(a){return"หลังเที่ยง"===a},meridiem:function(a,b,c){return a<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}}),
//! moment.js locale configuration
//! locale : Tagalog (Philippines) [tl-ph]
//! author : Dan Hagman : https://github.com/hagmandan
-a.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+a.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Klingon [tlh]
//! author : Dominika Kruk : https://github.com/amaranthrose
-var Fh="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");a.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:ce,past:de,s:"puS lup",m:"wa’ tup",mm:ee,h:"wa’ rep",hh:ee,d:"wa’ jaj",dd:ee,M:"wa’ jar",MM:ee,y:"wa’ DIS",yy:ee},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}});
+var Rh="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");a.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:ie,past:je,s:"puS lup",m:"wa’ tup",mm:ke,h:"wa’ rep",hh:ke,d:"wa’ jaj",dd:ke,M:"wa’ jar",MM:ke,y:"wa’ DIS",yy:ke},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});
//! moment.js locale configuration
//! locale : Turkish [tr]
//! authors : Erhan Gundogan : https://github.com/erhangundogan,
//! Burak Yiğit Kaya: https://github.com/BYK
-var Gh={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};
+var Sh={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};a.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},dayOfMonthOrdinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(a){if(0===a)return a+"'ıncı";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(Sh[b]||Sh[c]||Sh[d])},week:{dow:1,doy:7}}),
//! moment.js locale configuration
//! locale : Talossan [tzl]
//! author : Robin van der Vliet : https://github.com/robin0van0der0v
//! author : Iustì Canun
-// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
-// This is currently too difficult (maybe even impossible) to add.
+a.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(a){return"d'o"===a.toLowerCase()},meridiem:function(a,b,c){return a>11?c?"d'o":"D'O":c?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:me,m:me,mm:me,h:me,hh:me,d:me,dd:me,M:me,MM:me,y:me,yy:me},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),
//! moment.js locale configuration
//! locale : Central Atlas Tamazight Latin [tzm-latn]
//! author : Abdel Said : https://github.com/abdelsaid
+a.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),
//! moment.js locale configuration
//! locale : Central Atlas Tamazight [tzm]
//! author : Abdel Said : https://github.com/abdelsaid
+a.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}}),a.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:pe,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:qe("[Сьогодні "),nextDay:qe("[Завтра "),lastDay:qe("[Вчора "),nextWeek:qe("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return qe("[Минулої] dddd [").call(this);case 1:case 2:case 4:return qe("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:oe,mm:oe,h:"годину",hh:oe,d:"день",dd:oe,M:"місяць",MM:oe,y:"рік",yy:oe},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(a){return/^(дня|вечора)$/.test(a)},meridiem:function(a,b,c){return a<4?"ночі":a<12?"ранку":a<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,doy:7}});
+//! moment.js locale configuration
+//! locale : Urdu [ur]
+//! author : Sawood Alam : https://github.com/ibnesayeed
+//! author : Zack : https://github.com/ZackVision
+var Th=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],Uh=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];
+//! moment.js locale configuration
+//! locale : Uzbek Latin [uz-latn]
+//! author : Rasulbek Mirzayev : github.com/Rasulbeeek
//! moment.js locale configuration
//! locale : Uzbek [uz]
//! author : Sardor Muminov : https://github.com/muminoff
//! locale : Chinese (Taiwan) [zh-tw]
//! author : Ben : https://github.com/ben-lin
//! author : Chris Lam : https://github.com/hehachris
-return a.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(a){if(0===a)// special case for zero
-return a+"'ıncı";var b=a%10,c=a%100-b,d=a>=100?100:null;return a+(Gh[b]||Gh[c]||Gh[d])},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),a.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(a){return"d'o"===a.toLowerCase()},meridiem:function(a,b,c){return a>11?c?"d'o":"D'O":c?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:ge,m:ge,mm:ge,h:ge,hh:ge,d:ge,dd:ge,M:ge,MM:ge,y:ge,yy:ge},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,// Saturday is the first day of the week.
-doy:12}}),a.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,// Saturday is the first day of the week.
-doy:12}}),a.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:je,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:ke("[Сьогодні "),nextDay:ke("[Завтра "),lastDay:ke("[Вчора "),nextWeek:ke("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return ke("[Минулої] dddd [").call(this);case 1:case 2:case 4:return ke("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:ie,mm:ie,h:"годину",hh:ie,d:"день",dd:ie,M:"місяць",MM:ie,y:"рік",yy:ie},
-// M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
-meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(a){return/^(дня|вечора)$/.test(a)},meridiem:function(a,b,c){return a<4?"ночі":a<12?"ранку":a<17?"дня":"вечора"},ordinalParse:/\d{1,2}-(й|го)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),a.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,// Monday is the first day of the week.
-doy:7}}),a.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(a){return/^ch$/i.test(a)},meridiem:function(a,b,c){return a<12?c?"sa":"SA":c?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},ordinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm分",LTS:"Ah点m分s秒",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah点mm分",llll:"YYYY年MMMD日ddddAh点mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"下午"===b||"晚上"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return d<600?"凌晨":d<900?"早上":d<1130?"上午":d<1230?"中午":d<1800?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var b,c;return b=a().startOf("week"),c=this.diff(b,"days")>=7?"[下]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},lastWeek:function(){var b,c;return b=a().startOf("week"),c=this.unix()<b.unix()?"[上]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},sameElse:"LL"},ordinalParse:/\d{1,2}(日|月|周)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{
-// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
-dow:1,// Monday is the first day of the week.
-doy:4}}),a.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah點mm分",LTS:"Ah點m分s秒",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah點mm分",LLLL:"YYYY年MMMD日ddddAh點mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah點mm分",llll:"YYYY年MMMD日ddddAh點mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"中午"===b?a>=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return d<600?"凌晨":d<900?"早上":d<1130?"上午":d<1230?"中午":d<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(日|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}}),a.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah點mm分",LTS:"Ah點m分s秒",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah點mm分",LLLL:"YYYY年MMMD日ddddAh點mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah點mm分",llll:"YYYY年MMMD日ddddAh點mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"中午"===b?a>=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return d<600?"凌晨":d<900?"早上":d<1130?"上午":d<1230?"中午":d<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(日|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}}),a.locale("en"),a});
\ No newline at end of file
+return a.defineLocale("ur",{months:Th,monthsShort:Th,weekdays:Uh,weekdaysShort:Uh,weekdaysMin:Uh,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(a){return"شام"===a},meridiem:function(a,b,c){return a<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(a){return a.replace(/،/g,",")},postformat:function(a){return a.replace(/,/g,"،")},week:{dow:1,doy:4}}),a.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),a.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}}),a.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(a){return/^ch$/i.test(a)},meridiem:function(a,b,c){return a<12?c?"sa":"SA":c?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}}),a.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}}),a.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}}),a.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"下午"===b||"晚上"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return d<600?"凌晨":d<900?"早上":d<1130?"上午":d<1230?"中午":d<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}}),a.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"中午"===b?a>=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return d<600?"凌晨":d<900?"早上":d<1130?"上午":d<1230?"中午":d<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}}),a.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"中午"===b?a>=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return d<600?"凌晨":d<900?"早上":d<1130?"上午":d<1230?"中午":d<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}}),a.locale("en"),a});
\ No newline at end of file
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('ar-ly');
-
-var months = [
- 'يناير',
- 'فبراير',
- 'مارس',
- 'أبريل',
- 'مايو',
- 'يونيو',
- 'يوليو',
- 'أغسطس',
- 'سبتمبر',
- 'أكتوبر',
- 'نوفمبر',
- 'ديسمبر'
-];
+localeModule('ar-kw');
test('parse', function (assert) {
- var tests = months, i;
+ var tests = 'يناير:يناير_فبراير:فبراير_مارس:مارس_أبريل:أبريل_ماي:ماي_يونيو:يونيو_يوليوز:يوليوز_غشت:غشت_شتنبر:شتنبر_أكتوبر:أكتوبر_نونبر:نونبر_دجنبر:دجنبر'.split('_'), i;
function equalTest(input, mmm, i) {
- assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1) + ' instead is month ' + moment(input, mmm).month());
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
for (i = 0; i < 12; i++) {
- equalTest(tests[i], 'MMM', i);
- equalTest(tests[i], 'MMM', i);
- equalTest(tests[i], 'MMMM', i);
- equalTest(tests[i], 'MMMM', i);
- equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
- equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
- equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
- equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
+ tests[i] = tests[i].split(':');
+ equalTest(tests[i][0], 'MMM', i);
+ equalTest(tests[i][1], 'MMM', i);
+ equalTest(tests[i][0], 'MMMM', i);
+ equalTest(tests[i][1], 'MMMM', i);
+ equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
}
});
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'الأحد، فبراير 14 2010، 3:25:50 م'],
- ['ddd, hA', 'Ø£ØØ¯Ø\8c 3Ù\85'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'الأحد, فبراير 14 2010, 3:25:50 pm'],
+ ['ddd, hA', 'Ø§ØØ¯, 3PM'],
['M Mo MM MMMM MMM', '2 2 02 فبراير فبراير'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 اÙ\84Ø£ØØ¯ Ø£حد ح'],
+ ['d do dddd ddd dd', '0 0 اÙ\84Ø£ØØ¯ احد ح'],
['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '8 8 08'],
+ ['w wo ww', '9 9 09'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'م م'],
+ ['a A', 'pm PM'],
['[the] DDDo [day of the year]', 'the 45 day of the year'],
['LT', '15:25'],
['LTS', '15:25:50'],
- ['L', '14/\u200f2/\u200f2010'],
+ ['L', '14/02/2010'],
['LL', '14 فبراير 2010'],
['LLL', '14 فبراير 2010 15:25'],
['LLLL', 'الأحد 14 فبراير 2010 15:25'],
- ['l', '14/\u200f2/\u200f2010'],
+ ['l', '14/2/2010'],
['ll', '14 فبراير 2010'],
['lll', '14 فبراير 2010 15:25'],
- ['llll', 'Ø£حد 14 فبراير 2010 15:25']
+ ['llll', 'احد 14 فبراير 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format month', function (assert) {
- var expected = months, i;
+ var expected = 'يناير يناير_فبراير فبراير_مارس مارس_أبريل أبريل_ماي ماي_يونيو يونيو_يوليوز يوليوز_غشت غشت_شتنبر شتنبر_أكتوبر أكتوبر_نونبر نونبر_دجنبر دجنبر'.split('_'), i;
for (i = 0; i < expected.length; i++) {
- assert.equal(moment([2011, i, 1]).format('MMMM'), expected[i], expected[i]);
- assert.equal(moment([2011, i, 1]).format('MMM'), expected[i], expected[i]);
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'اÙ\84Ø£ØØ¯ Ø£ØØ¯ Ø_اÙ\84إثÙ\86Ù\8aÙ\86 إثÙ\86Ù\8aÙ\86 Ù\86_اÙ\84Ø«Ù\84اثاء Ø«Ù\84اثاء Ø«_اÙ\84أربعاء Ø£ربعاء ر_الخميس خميس خ_الجمعة جمعة ج_السبت سبت س'.split('_'), i;
+ var expected = 'اÙ\84Ø£ØØ¯ Ø§ØØ¯ Ø_اÙ\84إتÙ\86Ù\8aÙ\86 اتÙ\86Ù\8aÙ\86 Ù\86_اÙ\84Ø«Ù\84اثاء Ø«Ù\84اثاء Ø«_اÙ\84أربعاء اربعاء ر_الخميس خميس خ_الجمعة جمعة ج_السبت سبت س'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), '44 ثانية', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'دقيقة واحدة', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'دقيقة واحدة', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'دقيقتان', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 دقيقة', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ساعة واحدة', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ساعة واحدة', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'ساعتان', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ثوان', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'دقيقة', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'دقيقة', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 دقائق', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 دقائق', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ساعة', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ساعة', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 ساعات', '90 minutes = 2 hours');
assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 ساعات', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 ساعة', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'يوم واحد', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'يوم واحد', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'يومان', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'يوم واحد', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 ساعات', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'يوم', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'يوم', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 أيام', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'يوم', '1 day = a day');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 أيام', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 يومًا', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'شهر واحد', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'شهر واحد', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'شهر واحد', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'شهران', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'شهران', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 أيام', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'شهر', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'شهر', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'شهر', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 أشهر', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 أشهر', '75 days = 2 months');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 أشهر', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'شهر واحد', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'شهر', '1 month = a month');
assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 أشهر', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'عاÙ\85 Ù\88Ø§ØØ¯', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'عامان', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'عاÙ\85 Ù\88Ø§ØØ¯', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 أعÙ\88اÙ\85', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'سÙ\86Ø©', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 سنوات', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'سÙ\86Ø©', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 سÙ\86Ù\88ات', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'بعد 30 ثانية', 'prefix');
- assert.equal(moment(0).from(30000), 'منذ 30 ثانية', 'suffix');
+ assert.equal(moment(30000).from(0), 'في ثوان', 'prefix');
+ assert.equal(moment(0).from(30000), 'منذ ثوان', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'منذ ثانية واحدة', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'منذ ثوان', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'بعد 30 ثانية', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'بعد 5 أيام', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'في ثوان', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'في 5 أيام', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\86د الساعة 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\86د الساعة 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\86د الساعة 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'غدًا عند الساعة 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\86د الساعة 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Ø£Ù\85س عÙ\86د اÙ\84ساعة 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\84Ù\89 الساعة 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\84Ù\89 الساعة 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\84Ù\89 الساعة 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'غدا على الساعة 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\84Ù\89 الساعة 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Ø£Ù\85س عÙ\84Ù\89 اÙ\84ساعة 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today + ' + i + ' days end of day');
}
});
var i, m;
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today - ' + i + ' days end of day');
}
});
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
-test('weeks year starting wednesday custom', function (assert) {
- assert.equal(moment('2003 1 6', 'gggg w d').format('YYYY-MM-DD'), '2002-12-28', 'Week 1 of 2003 should be Dec 28 2002');
- assert.equal(moment('2003 1 0', 'gggg w e').format('YYYY-MM-DD'), '2002-12-28', 'Week 1 of 2003 should be Dec 28 2002');
- assert.equal(moment('2003 1 6', 'gggg w d').format('gggg w d'), '2003 1 6', 'Saturday of week 1 of 2003 parsed should be formatted as 2003 1 6');
- assert.equal(moment('2003 1 0', 'gggg w e').format('gggg w e'), '2003 1 0', '1st day of week 1 of 2003 parsed should be formatted as 2003 1 0');
-});
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
- assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', 'Jan 7 2012 should be week 2');
- assert.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', 'Jan 13 2012 should be week 2');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '2 02 2', 'Jan 1 2012 should be week 2');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '3 03 3', 'Jan 8 2012 should be week 3');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
-});
-
-test('no leading zeros in long date formats', function (assert) {
- var i, j, longDateStr, shortDateStr;
- for (i = 1; i <= 9; ++i) {
- for (j = 1; j <= 9; ++j) {
- longDateStr = moment([2014, i, j]).format('L');
- shortDateStr = moment([2014, i, j]).format('l');
- assert.equal(longDateStr, shortDateStr, 'should not have leading zeros in month or day');
- }
- }
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '4 04 4', 'Jan 15 2012 should be week 4');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('ar-ma');
+localeModule('ar-ly');
+
+var months = [
+ 'يناير',
+ 'فبراير',
+ 'مارس',
+ 'أبريل',
+ 'مايو',
+ 'يونيو',
+ 'يوليو',
+ 'أغسطس',
+ 'سبتمبر',
+ 'أكتوبر',
+ 'نوفمبر',
+ 'ديسمبر'
+];
test('parse', function (assert) {
- var tests = 'يناير:يناير_فبراير:فبراير_مارس:مارس_أبريل:أبريل_ماي:ماي_يونيو:يونيو_يوليوز:يوليوز_غشت:غشت_شتنبر:شتنبر_أكتوبر:أكتوبر_نونبر:نونبر_دجنبر:دجنبر'.split('_'), i;
+ var tests = months, i;
function equalTest(input, mmm, i) {
- assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1) + ' instead is month ' + moment(input, mmm).month());
}
for (i = 0; i < 12; i++) {
- tests[i] = tests[i].split(':');
- equalTest(tests[i][0], 'MMM', i);
- equalTest(tests[i][1], 'MMM', i);
- equalTest(tests[i][0], 'MMMM', i);
- equalTest(tests[i][1], 'MMMM', i);
- equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
- equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
- equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
- equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i], 'MMM', i);
+ equalTest(tests[i], 'MMM', i);
+ equalTest(tests[i], 'MMMM', i);
+ equalTest(tests[i], 'MMMM', i);
+ equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
}
});
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'الأحد, فبراير 14 2010, 3:25:50 pm'],
- ['ddd, hA', 'Ø§ØØ¯, 3PM'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'الأحد، فبراير 14 2010، 3:25:50 م'],
+ ['ddd, hA', 'Ø£ØØ¯Ø\8c 3Ù\85'],
['M Mo MM MMMM MMM', '2 2 02 فبراير فبراير'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 اÙ\84Ø£ØØ¯ احد ح'],
+ ['d do dddd ddd dd', '0 0 اÙ\84Ø£ØØ¯ Ø£حد ح'],
['DDD DDDo DDDD', '45 45 045'],
['w wo ww', '8 8 08'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'pm PM'],
+ ['a A', 'م م'],
['[the] DDDo [day of the year]', 'the 45 day of the year'],
['LT', '15:25'],
['LTS', '15:25:50'],
- ['L', '14/02/2010'],
+ ['L', '14/\u200f2/\u200f2010'],
['LL', '14 فبراير 2010'],
['LLL', '14 فبراير 2010 15:25'],
['LLLL', 'الأحد 14 فبراير 2010 15:25'],
- ['l', '14/2/2010'],
+ ['l', '14/\u200f2/\u200f2010'],
['ll', '14 فبراير 2010'],
['lll', '14 فبراير 2010 15:25'],
- ['llll', 'احد 14 فبراير 2010 15:25']
+ ['llll', 'Ø£حد 14 فبراير 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format month', function (assert) {
- var expected = 'يناير يناير_فبراير فبراير_مارس مارس_أبريل أبريل_ماي ماي_يونيو يونيو_يوليوز يوليوز_غشت غشت_شتنبر شتنبر_أكتوبر أكتوبر_نونبر نونبر_دجنبر دجنبر'.split('_'), i;
+ var expected = months, i;
for (i = 0; i < expected.length; i++) {
- assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+ assert.equal(moment([2011, i, 1]).format('MMMM'), expected[i], expected[i]);
+ assert.equal(moment([2011, i, 1]).format('MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'اÙ\84Ø£ØØ¯ Ø§ØØ¯ Ø_اÙ\84إتÙ\86Ù\8aÙ\86 اتÙ\86Ù\8aÙ\86 Ù\86_اÙ\84Ø«Ù\84اثاء Ø«Ù\84اثاء Ø«_اÙ\84أربعاء اربعاء ر_الخميس خميس خ_الجمعة جمعة ج_السبت سبت س'.split('_'), i;
+ var expected = 'اÙ\84Ø£ØØ¯ Ø£ØØ¯ Ø_اÙ\84إثÙ\86Ù\8aÙ\86 إثÙ\86Ù\8aÙ\86 Ù\86_اÙ\84Ø«Ù\84اثاء Ø«Ù\84اثاء Ø«_اÙ\84أربعاء Ø£ربعاء ر_الخميس خميس خ_الجمعة جمعة ج_السبت سبت س'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ثوان', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'دقيقة', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'دقيقة', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 دقائق', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 دقائق', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ساعة', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ساعة', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 ساعات', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), '44 ثانية', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'دقيقة واحدة', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'دقيقة واحدة', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'دقيقتان', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 دقيقة', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ساعة واحدة', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ساعة واحدة', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'ساعتان', '90 minutes = 2 hours');
assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 ساعات', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 ساعات', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'يوم', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'يوم', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 أيام', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'يوم', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 ساعة', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'يوم واحد', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'يوم واحد', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'يومان', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'يوم واحد', '1 day = a day');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 أيام', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 أيام', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'شهر', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'شهر', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'شهر', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 أشهر', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 أشهر', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 يومًا', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'شهر واحد', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'شهر واحد', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'شهر واحد', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'شهران', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'شهران', '75 days = 2 months');
assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 أشهر', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'شهر', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'شهر واحد', '1 month = a month');
assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 أشهر', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'سÙ\86Ø©', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 سنوات', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'سÙ\86Ø©', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 سÙ\86Ù\88ات', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'عاÙ\85 Ù\88Ø§ØØ¯', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'عامان', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'عاÙ\85 Ù\88Ø§ØØ¯', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 أعÙ\88اÙ\85', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'في ثوان', 'prefix');
- assert.equal(moment(0).from(30000), 'منذ ثوان', 'suffix');
+ assert.equal(moment(30000).from(0), 'بعد 30 ثانية', 'prefix');
+ assert.equal(moment(0).from(30000), 'منذ 30 ثانية', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'منذ ثوان', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'منذ ثانية واحدة', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'في ثوان', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'في 5 أيام', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'بعد 30 ثانية', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'بعد 5 أيام', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\84Ù\89 الساعة 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\84Ù\89 الساعة 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\84Ù\89 الساعة 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'غدا على الساعة 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\84Ù\89 الساعة 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Ø£Ù\85س عÙ\84Ù\89 اÙ\84ساعة 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\86د الساعة 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\86د الساعة 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\86د الساعة 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'غدًا عند الساعة 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'اÙ\84Ù\8aÙ\88Ù\85 عÙ\86د الساعة 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Ø£Ù\85س عÙ\86د اÙ\84ساعة 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today + ' + i + ' days end of day');
}
});
var i, m;
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [عÙ\84Ù\89 الساعة] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [عÙ\86د الساعة] LT'), 'Today - ' + i + ' days end of day');
}
});
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
+test('weeks year starting wednesday custom', function (assert) {
+ assert.equal(moment('2003 1 6', 'gggg w d').format('YYYY-MM-DD'), '2002-12-28', 'Week 1 of 2003 should be Dec 28 2002');
+ assert.equal(moment('2003 1 0', 'gggg w e').format('YYYY-MM-DD'), '2002-12-28', 'Week 1 of 2003 should be Dec 28 2002');
+ assert.equal(moment('2003 1 6', 'gggg w d').format('gggg w d'), '2003 1 6', 'Saturday of week 1 of 2003 parsed should be formatted as 2003 1 6');
+ assert.equal(moment('2003 1 0', 'gggg w e').format('gggg w e'), '2003 1 0', '1st day of week 1 of 2003 parsed should be formatted as 2003 1 0');
+});
+
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
});
+test('no leading zeros in long date formats', function (assert) {
+ var i, j, longDateStr, shortDateStr;
+ for (i = 1; i <= 9; ++i) {
+ for (j = 1; j <= 9; ++j) {
+ longDateStr = moment([2014, i, j]).format('L');
+ shortDateStr = moment([2014, i, j]).format('l');
+ assert.equal(longDateStr, shortDateStr, 'should not have leading zeros in month or day');
+ }
+ }
+});
+
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+
+
+function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ teardownDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+}
+
+localeModule('ar-ma');
+
+test('parse', function (assert) {
+ var tests = 'يناير:يناير_فبراير:فبراير_مارس:مارس_أبريل:أبريل_ماي:ماي_يونيو:يونيو_يوليوز:يوليوز_غشت:غشت_شتنبر:شتنبر_أكتوبر:أكتوبر_نونبر:نونبر_دجنبر:دجنبر'.split('_'), i;
+ function equalTest(input, mmm, i) {
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+ }
+ for (i = 0; i < 12; i++) {
+ tests[i] = tests[i].split(':');
+ equalTest(tests[i][0], 'MMM', i);
+ equalTest(tests[i][1], 'MMM', i);
+ equalTest(tests[i][0], 'MMMM', i);
+ equalTest(tests[i][1], 'MMMM', i);
+ equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+ }
+});
+
+test('format', function (assert) {
+ var a = [
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'الأحد, فبراير 14 2010, 3:25:50 pm'],
+ ['ddd, hA', 'احد, 3PM'],
+ ['M Mo MM MMMM MMM', '2 2 02 فبراير فبراير'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 الأحد احد ح'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '8 8 08'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'pm PM'],
+ ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+ ['LT', '15:25'],
+ ['LTS', '15:25:50'],
+ ['L', '14/02/2010'],
+ ['LL', '14 فبراير 2010'],
+ ['LLL', '14 فبراير 2010 15:25'],
+ ['LLLL', 'الأحد 14 فبراير 2010 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 فبراير 2010'],
+ ['lll', '14 فبراير 2010 15:25'],
+ ['llll', 'احد 14 فبراير 2010 15:25']
+ ],
+ b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ i;
+ for (i = 0; i < a.length; i++) {
+ assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ }
+});
+
+test('format ordinal', function (assert) {
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+});
+
+test('format month', function (assert) {
+ var expected = 'يناير يناير_فبراير فبراير_مارس مارس_أبريل أبريل_ماي ماي_يونيو يونيو_يوليوز يوليوز_غشت غشت_شتنبر شتنبر_أكتوبر أكتوبر_نونبر نونبر_دجنبر دجنبر'.split('_'), i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+ }
+});
+
+test('format week', function (assert) {
+ var expected = 'الأحد احد ح_الإتنين اتنين ن_الثلاثاء ثلاثاء ث_الأربعاء اربعاء ر_الخميس خميس خ_الجمعة جمعة ج_السبت سبت س'.split('_'), i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
+ }
+});
+
+test('from', function (assert) {
+ var start = moment([2007, 1, 28]);
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ثوان', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'دقيقة', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'دقيقة', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 دقائق', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 دقائق', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ساعة', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ساعة', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 ساعات', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 ساعات', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 ساعات', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'يوم', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'يوم', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 أيام', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'يوم', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 أيام', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 أيام', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'شهر', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'شهر', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'شهر', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 أشهر', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 أشهر', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 أشهر', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'شهر', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 أشهر', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'سنة', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 سنوات', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'سنة', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 سنوات', '5 years = 5 years');
+});
+
+test('suffix', function (assert) {
+ assert.equal(moment(30000).from(0), 'في ثوان', 'prefix');
+ assert.equal(moment(0).from(30000), 'منذ ثوان', 'suffix');
+});
+
+test('now from now', function (assert) {
+ assert.equal(moment().fromNow(), 'منذ ثوان', 'now from now should display as in the past');
+});
+
+test('fromNow', function (assert) {
+ assert.equal(moment().add({s: 30}).fromNow(), 'في ثوان', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'في 5 أيام', 'in 5 days');
+});
+
+test('calendar day', function (assert) {
+ var a = moment().hours(12).minutes(0).seconds(0);
+
+ assert.equal(moment(a).calendar(), 'اليوم على الساعة 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'اليوم على الساعة 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'اليوم على الساعة 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'غدا على الساعة 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'اليوم على الساعة 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'أمس على الساعة 12:00', 'yesterday at the same time');
+});
+
+test('calendar next week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().add({d: i});
+ assert.equal(m.calendar(), m.format('dddd [على الساعة] LT'), 'Today + ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('dddd [على الساعة] LT'), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('dddd [على الساعة] LT'), 'Today + ' + i + ' days end of day');
+ }
+});
+
+test('calendar last week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().subtract({d: i});
+ assert.equal(m.calendar(), m.format('dddd [على الساعة] LT'), 'Today - ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('dddd [على الساعة] LT'), 'Today - ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('dddd [على الساعة] LT'), 'Today - ' + i + ' days end of day');
+ }
+});
+
+test('calendar all else', function (assert) {
+ var weeksAgo = moment().subtract({w: 1}),
+ weeksFromNow = moment().add({w: 1});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+
+ weeksAgo = moment().subtract({w: 2});
+ weeksFromNow = moment().add({w: 2});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+});
+
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
+ assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', 'Jan 7 2012 should be week 2');
+ assert.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', 'Jan 13 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
localeModule('ca');
test('parse', function (assert) {
- var tests = 'gener gen._febrer febr._març mar._abril abr._maig mai._juny jun._juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.'.split('_'), i;
+ var tests = 'gener gen._febrer febr._març març_abril abr._maig maig_juny juny_juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, Do MMMM YYYY, h:mm:ss a', 'diumenge, 14è febrer 2010, 3:25:50 pm'],
+ ['dddd, Do MMMM YYYY, h:mm:ss a', 'diumenge, 14è de febrer 2010, 3:25:50 pm'],
['ddd, hA', 'dg., 3PM'],
['M Mo MM MMMM MMM', '2 2n 02 febrer febr.'],
['YYYY YY', '2010 10'],
['[the] DDDo [day of the year]', 'the 45è day of the year'],
['LTS', '15:25:50'],
['L', '14/02/2010'],
- ['LL', '14 febrer 2010'],
- ['LLL', '14 febrer 2010 15:25'],
- ['LLLL', 'diumenge 14 febrer 2010 15:25'],
+ ['LL', 'el 14 de febrer de 2010'],
+ ['LLL', 'el 14 de febrer de 2010 a les 15:25'],
+ ['LLLL', 'el diumenge 14 de febrer de 2010 a les 15:25'],
['l', '14/2/2010'],
['ll', '14 febr. 2010'],
- ['lll', '14 febr. 2010 15:25'],
- ['llll', 'dg. 14 febr. 2010 15:25']
+ ['lll', '14 febr. 2010, 15:25'],
+ ['llll', 'dg. 14 febr. 2010, 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format month', function (assert) {
- var expected = 'gener gen._febrer febr._març mar._abril abr._maig mai._juny jun._juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.'.split('_'), i;
+ var expected = 'gener gen._febrer febr._març març_abril abr._maig maig_juny juny_juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2a', 'Jan 15 2012 should be week 2');
});
+test('day and month', function (assert) {
+ assert.equal(moment([2012, 1, 15]).format('D MMMM'), '15 de febrer');
+ assert.equal(moment([2012, 9, 15]).format('D MMMM'), '15 d\'octubre');
+ assert.equal(moment([2012, 9, 15]).format('MMMM, D'), 'octubre, 15');
+});
+
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
['L', '14/02/2010'],
['LL', '14. februar 2010'],
['LLL', '14. februar 2010 15:25'],
- ['LLLL', 'søndag d. 14. februar 2010 15:25'],
+ ['LLLL', 'søndag d. 14. februar 2010 kl. 15:25'],
['l', '14/2/2010'],
['ll', '14. feb 2010'],
['lll', '14. feb 2010 15:25'],
- ['llll', 'søn d. 14. feb 2010 15:25']
+ ['llll', 'søn d. 14. feb 2010 kl. 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'I dag kl. 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'I dag kl. 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'I dag kl. 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'I morgen kl. 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'I dag kl. 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'I går kl. 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'i dag kl. 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'i dag kl. 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'i dag kl. 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'i morgen kl. 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'i dag kl. 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'i går kl. 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [kl.] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('på dddd [kl.] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [kl.] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('på dddd [kl.] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [kl.] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('på dddd [kl.] LT'), 'Today + ' + i + ' days end of day');
}
});
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[sidste] dddd [kl] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[i] dddd[s kl.] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[sidste] dddd [kl] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[i] dddd[s kl.] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[sidste] dddd [kl] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[i] dddd[s kl.] LT'), 'Today - ' + i + ' days end of day');
}
});
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('de');
+localeModule('de-ch');
test('parse', function (assert) {
- var tests = 'Januar Jan._Februar Febr._März Mrz._April Apr._Mai Mai_Juni Jun._Juli Jul._August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split('_'), i;
+ var tests = 'Januar Jan._Februar Febr._März März_April April_Mai Mai_Juni Juni_Juli Juli_August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, Do MMMM YYYY, h:mm:ss a', 'Sonntag, 14. Februar 2010, 3:25:50 pm'],
- ['ddd, hA', 'So., 3PM'],
+ ['dddd, Do MMMM YYYY, h.mm.ss a', 'Sonntag, 14. Februar 2010, 3.25.50 pm'],
+ ['ddd, hA', 'So, 3PM'],
['M Mo MM MMMM MMM', '2 2. 02 Februar Febr.'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14. 14'],
- ['d do dddd ddd dd', '0 0. Sonntag So. So'],
+ ['d do dddd ddd dd', '0 0. Sonntag So So'],
['DDD DDDo DDDD', '45 45. 045'],
['w wo ww', '6 6. 06'],
['h hh', '3 03'],
['s ss', '50 50'],
['a A', 'pm PM'],
['[the] DDDo [day of the year]', 'the 45. day of the year'],
- ['LTS', '15:25:50'],
+ ['LTS', '15.25.50'],
['L', '14.02.2010'],
['LL', '14. Februar 2010'],
- ['LLL', '14. Februar 2010 15:25'],
- ['LLLL', 'Sonntag, 14. Februar 2010 15:25'],
+ ['LLL', '14. Februar 2010 15.25'],
+ ['LLLL', 'Sonntag, 14. Februar 2010 15.25'],
['l', '14.2.2010'],
['ll', '14. Febr. 2010'],
- ['lll', '14. Febr. 2010 15:25'],
- ['llll', 'So., 14. Febr. 2010 15:25']
+ ['lll', '14. Febr. 2010 15.25'],
+ ['llll', 'So, 14. Febr. 2010 15.25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format month', function (assert) {
- var expected = 'Januar Jan._Februar Febr._März Mrz._April Apr._Mai Mai_Juni Jun._Juli Jul._August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split('_'), i;
+ var expected = 'Januar Jan._Februar Febr._März März_April April_Mai Mai_Juni Juni_Juli Juli_August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'Sonntag So. So_Montag Mo. Mo_Dienstag Di. Di_Mittwoch Mi. Mi_Donnerstag Do. Do_Freitag Fr. Fr_Samstag Sa. Sa'.split('_'), i;
+ var expected = 'Sonntag So So_Montag Mo Mo_Dienstag Di Di_Mittwoch Mi Mi_Donnerstag Do Do_Freitag Fr Fr_Samstag Sa Sa'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'heute um 12:00 Uhr', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'heute um 12:25 Uhr', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'heute um 13:00 Uhr', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'morgen um 12:00 Uhr', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'heute um 11:00 Uhr', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'gestern um 12:00 Uhr', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'heute um 12.00 Uhr', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'heute um 12.25 Uhr', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'heute um 13.00 Uhr', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'morgen um 12.00 Uhr', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'heute um 11.00 Uhr', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'gestern um 12.00 Uhr', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('dv');
+localeModule('de');
test('parse', function (assert) {
- var i,
- tests = [
- 'ޖެނުއަރީ',
- 'ފެބްރުއަރީ',
- 'މާރިޗު',
- 'އޭޕްރީލު',
- 'މޭ',
- 'ޖޫން',
- 'ޖުލައި',
- 'އޯގަސްޓު',
- 'ސެޕްޓެމްބަރު',
- 'އޮކްޓޯބަރު',
- 'ނޮވެމްބަރު',
- 'ޑިސެމްބަރު'
- ];
-
+ var tests = 'Januar Jan._Februar Febr._März Mrz._April Apr._Mai Mai_Juni Jun._Juli Jul._August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
-
for (i = 0; i < 12; i++) {
- equalTest(tests[i], 'MMM', i);
- equalTest(tests[i], 'MMMM', i);
- equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
- equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
+ tests[i] = tests[i].split(' ');
+ equalTest(tests[i][0], 'MMM', i);
+ equalTest(tests[i][1], 'MMM', i);
+ equalTest(tests[i][0], 'MMMM', i);
+ equalTest(tests[i][1], 'MMMM', i);
+ equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
}
});
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'އާދިއްތަ، ފެބްރުއަރީ 14 2010، 3:25:50 މފ'],
- ['ddd, hA', 'އާދިއްތަ، 3މފ'],
- ['M Mo MM MMMM MMM', '2 2 02 ފެބްރުއަރީ ފެބްރުއަރީ'],
+ ['dddd, Do MMMM YYYY, h:mm:ss a', 'Sonntag, 14. Februar 2010, 3:25:50 pm'],
+ ['ddd, hA', 'So., 3PM'],
+ ['M Mo MM MMMM MMM', '2 2. 02 Februar Febr.'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 އާދިއްތަ އާދިއްތަ އާދި'],
- ['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '8 8 08'],
+ ['D Do DD', '14 14. 14'],
+ ['d do dddd ddd dd', '0 0. Sonntag So. So'],
+ ['DDD DDDo DDDD', '45 45. 045'],
+ ['w wo ww', '6 6. 06'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'މފ މފ'],
+ ['a A', 'pm PM'],
+ ['[the] DDDo [day of the year]', 'the 45. day of the year'],
['LTS', '15:25:50'],
- ['L', '14/2/2010'],
- ['LL', '14 ފެބްރުއަރީ 2010'],
- ['LLL', '14 ފެބްރުއަރީ 2010 15:25'],
- ['LLLL', 'އާދިއްތަ 14 ފެބްރުއަރީ 2010 15:25'],
- ['l', '14/2/2010'],
- ['ll', '14 ފެބްރުއަރީ 2010'],
- ['lll', '14 ފެބްރުއަރީ 2010 15:25'],
- ['llll', 'އާދިއްތަ 14 ފެބްރުއަރީ 2010 15:25']
+ ['L', '14.02.2010'],
+ ['LL', '14. Februar 2010'],
+ ['LLL', '14. Februar 2010 15:25'],
+ ['LLLL', 'Sonntag, 14. Februar 2010 15:25'],
+ ['l', '14.2.2010'],
+ ['ll', '14. Febr. 2010'],
+ ['lll', '14. Febr. 2010 15:25'],
+ ['llll', 'So., 14. Febr. 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
-
for (i = 0; i < a.length; i++) {
assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
}
});
-test('format month', function (assert) {
- var i,
- expected = [
- 'ޖެނުއަރީ',
- 'ފެބްރުއަރީ',
- 'މާރިޗު',
- 'އޭޕްރީލު',
- 'މޭ',
- 'ޖޫން',
- 'ޖުލައި',
- 'އޯގަސްޓު',
- 'ސެޕްޓެމްބަރު',
- 'އޮކްޓޯބަރު',
- 'ނޮވެމްބަރު',
- 'ޑިސެމްބަރު'
- ];
+test('format ordinal', function (assert) {
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+});
+
+test('format month', function (assert) {
+ var expected = 'Januar Jan._Februar Febr._März Mrz._April Apr._Mai Mai_Juni Jun._Juli Jul._August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split('_'), i;
for (i = 0; i < expected.length; i++) {
- assert.equal(moment([2011, i, 1]).format('MMMM'), expected[i]);
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var i,
- expected = [
- 'އާދިއްތަ',
- 'ހޯމަ',
- 'އަންގާރަ',
- 'ބުދަ',
- 'ބުރާސްފަތި',
- 'ހުކުރު',
- 'ހޮނިހިރު'
- ];
-
+ var expected = 'Sonntag So. So_Montag Mo. Mo_Dienstag Di. Di_Mittwoch Mi. Mi_Donnerstag Do. Do_Freitag Fr. Fr_Samstag Sa. Sa'.split('_'), i;
for (i = 0; i < expected.length; i++) {
- assert.equal(moment([2011, 0, 2 + i]).format('dddd'), expected[i]);
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
});
-
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ސިކުންތުކޮޅެއް', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'މިނިޓެއް', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'މިނިޓެއް', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'މިނިޓު 2', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), 'މިނިޓު 44', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ގަޑިއިރެއް', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ގަޑިއިރެއް', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'ގަޑިއިރު 2', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), 'ގަޑިއިރު 5', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), 'ގަޑިއިރު 21', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ދުވަހެއް', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ދުވަހެއް', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'ދުވަސް 2', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ދުވަހެއް', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), 'ދުވަސް 5', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), 'ދުވަސް 25', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'މަހެއް', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'މަހެއް', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'މަހެއް', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'މަސް 2', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'މަސް 2', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), 'މަސް 3', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'މަހެއް', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), 'މަސް 5', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'އަހަރެއް', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'އަހަރު 2', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'އަހަރެއް', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), 'އަހަރު 5', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ein paar Sekunden', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'eine Minute', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'eine Minute', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 Minuten', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 Minuten', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'eine Stunde', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'eine Stunde', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 Stunden', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 Stunden', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 Stunden', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ein Tag', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ein Tag', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 Tage', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ein Tag', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 Tage', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 Tage', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ein Monat', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ein Monat', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ein Monat', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 Monate', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 Monate', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 Monate', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ein Monat', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 Monate', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ein Jahr', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 Jahre', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ein Jahr', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 Jahre', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'ތެރޭގައި ސިކުންތުކޮޅެއް', 'prefix');
- assert.equal(moment(0).from(30000), 'ކުރިން ސިކުންތުކޮޅެއް', 'suffix');
+ assert.equal(moment(30000).from(0), 'in ein paar Sekunden', 'prefix');
+ assert.equal(moment(0).from(30000), 'vor ein paar Sekunden', 'suffix');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'ތެރޭގައި ސިކުންތުކޮޅެއް', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'ތެރޭގައި ދުވަސް 5', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'in ein paar Sekunden', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'in 5 Tagen', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'މިއަދު 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'މިއަދު 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'މިއަދު 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'މާދަމާ 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'މިއަދު 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'އިއްޔެ 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'heute um 12:00 Uhr', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'heute um 12:25 Uhr', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'heute um 13:00 Uhr', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'morgen um 12:00 Uhr', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'heute um 11:00 Uhr', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'gestern um 12:00 Uhr', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [um] LT [Uhr]'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [um] LT [Uhr]'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [um] LT [Uhr]'), 'Today + ' + i + ' days end of day');
}
});
var i, m;
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[ފާއިތުވި] dddd LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[letzten] dddd [um] LT [Uhr]'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[ފާއިތުވި] dddd LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[letzten] dddd [um] LT [Uhr]'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[ފާއިތުވި] dddd LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[letzten] dddd [um] LT [Uhr]'), 'Today + ' + i + ' days end of day');
}
});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+
+
+function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ teardownDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+}
+
+localeModule('dv');
+
+test('parse', function (assert) {
+ var i,
+ tests = [
+ 'ޖެނުއަރީ',
+ 'ފެބްރުއަރީ',
+ 'މާރިޗު',
+ 'އޭޕްރީލު',
+ 'މޭ',
+ 'ޖޫން',
+ 'ޖުލައި',
+ 'އޯގަސްޓު',
+ 'ސެޕްޓެމްބަރު',
+ 'އޮކްޓޯބަރު',
+ 'ނޮވެމްބަރު',
+ 'ޑިސެމްބަރު'
+ ];
+
+ function equalTest(input, mmm, i) {
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+ }
+
+ for (i = 0; i < 12; i++) {
+ equalTest(tests[i], 'MMM', i);
+ equalTest(tests[i], 'MMMM', i);
+ equalTest(tests[i].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i].toLocaleUpperCase(), 'MMMM', i);
+ }
+});
+
+test('format', function (assert) {
+ var a = [
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'އާދިއްތަ، ފެބްރުއަރީ 14 2010، 3:25:50 މފ'],
+ ['ddd, hA', 'އާދިއްތަ، 3މފ'],
+ ['M Mo MM MMMM MMM', '2 2 02 ފެބްރުއަރީ ފެބްރުއަރީ'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 އާދިއްތަ އާދިއްތަ އާދި'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '8 8 08'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'މފ މފ'],
+ ['LTS', '15:25:50'],
+ ['L', '14/2/2010'],
+ ['LL', '14 ފެބްރުއަރީ 2010'],
+ ['LLL', '14 ފެބްރުއަރީ 2010 15:25'],
+ ['LLLL', 'އާދިއްތަ 14 ފެބްރުއަރީ 2010 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 ފެބްރުއަރީ 2010'],
+ ['lll', '14 ފެބްރުއަރީ 2010 15:25'],
+ ['llll', 'އާދިއްތަ 14 ފެބްރުއަރީ 2010 15:25']
+ ],
+ b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ i;
+
+ for (i = 0; i < a.length; i++) {
+ assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ }
+});
+
+test('format month', function (assert) {
+ var i,
+ expected = [
+ 'ޖެނުއަރީ',
+ 'ފެބްރުއަރީ',
+ 'މާރިޗު',
+ 'އޭޕްރީލު',
+ 'މޭ',
+ 'ޖޫން',
+ 'ޖުލައި',
+ 'އޯގަސްޓު',
+ 'ސެޕްޓެމްބަރު',
+ 'އޮކްޓޯބަރު',
+ 'ނޮވެމްބަރު',
+ 'ޑިސެމްބަރު'
+ ];
+
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, i, 1]).format('MMMM'), expected[i]);
+ }
+});
+
+test('format week', function (assert) {
+ var i,
+ expected = [
+ 'އާދިއްތަ',
+ 'ހޯމަ',
+ 'އަންގާރަ',
+ 'ބުދަ',
+ 'ބުރާސްފަތި',
+ 'ހުކުރު',
+ 'ހޮނިހިރު'
+ ];
+
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd'), expected[i]);
+ }
+});
+
+
+test('from', function (assert) {
+ var start = moment([2007, 1, 28]);
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ސިކުންތުކޮޅެއް', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'މިނިޓެއް', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'މިނިޓެއް', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'މިނިޓު 2', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), 'މިނިޓު 44', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ގަޑިއިރެއް', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ގަޑިއިރެއް', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'ގަޑިއިރު 2', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), 'ގަޑިއިރު 5', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), 'ގަޑިއިރު 21', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ދުވަހެއް', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ދުވަހެއް', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'ދުވަސް 2', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ދުވަހެއް', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), 'ދުވަސް 5', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), 'ދުވަސް 25', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'މަހެއް', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'މަހެއް', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'މަހެއް', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'މަސް 2', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'މަސް 2', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), 'މަސް 3', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'މަހެއް', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), 'މަސް 5', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'އަހަރެއް', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'އަހަރު 2', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'އަހަރެއް', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), 'އަހަރު 5', '5 years = 5 years');
+});
+
+test('suffix', function (assert) {
+ assert.equal(moment(30000).from(0), 'ތެރޭގައި ސިކުންތުކޮޅެއް', 'prefix');
+ assert.equal(moment(0).from(30000), 'ކުރިން ސިކުންތުކޮޅެއް', 'suffix');
+});
+
+test('fromNow', function (assert) {
+ assert.equal(moment().add({s: 30}).fromNow(), 'ތެރޭގައި ސިކުންތުކޮޅެއް', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'ތެރޭގައި ދުވަސް 5', 'in 5 days');
+});
+
+test('calendar day', function (assert) {
+ var a = moment().hours(12).minutes(0).seconds(0);
+
+ assert.equal(moment(a).calendar(), 'މިއަދު 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'މިއަދު 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'މިއަދު 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'މާދަމާ 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'މިއަދު 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'އިއްޔެ 12:00', 'yesterday at the same time');
+});
+
+test('calendar next week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().add({d: i});
+ assert.equal(m.calendar(), m.format('dddd LT'), 'Today + ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('dddd LT'), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('dddd LT'), 'Today + ' + i + ' days end of day');
+ }
+});
+
+test('calendar last week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().subtract({d: i});
+ assert.equal(m.calendar(), m.format('[ފާއިތުވި] dddd LT'), 'Today + ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('[ފާއިތުވި] dddd LT'), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('[ފާއިތުވި] dddd LT'), 'Today + ' + i + ' days end of day');
+ }
+});
+
+test('calendar all else', function (assert) {
+ var weeksAgo = moment().subtract({w: 1}),
+ weeksFromNow = moment().add({w: 1});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+
+ weeksAgo = moment().subtract({w: 2});
+ weeksFromNow = moment().add({w: 2});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+});
+
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'Dimanĉo, februaro 14a 2010, 3:25:50 p.t.m.'],
- ['ddd, hA', 'Dim, 3P.T.M.'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'dimanĉo, februaro 14a 2010, 3:25:50 p.t.m.'],
+ ['ddd, hA', 'dim, 3P.T.M.'],
['M Mo MM MMMM MMM', '2 2a 02 februaro feb'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14a 14'],
- ['d do dddd ddd dd', '0 0a Dimanĉo Dim Di'],
+ ['d do dddd ddd dd', '0 0a dimanĉo dim di'],
['DDD DDDo DDDD', '45 45a 045'],
['w wo ww', '7 7a 07'],
['h hh', '3 03'],
['[la] DDDo [tago] [de] [la] [jaro]', 'la 45a tago de la jaro'],
['LTS', '15:25:50'],
['L', '2010-02-14'],
- ['LL', '14-an de februaro, 2010'],
- ['LLL', '14-an de februaro, 2010 15:25'],
- ['LLLL', 'Dimanĉo, la 14-an de februaro, 2010 15:25'],
+ ['LL', '14-a de februaro, 2010'],
+ ['LLL', '14-a de februaro, 2010 15:25'],
+ ['LLLL', 'dimanĉo, la 14-a de februaro, 2010 15:25'],
['l', '2010-2-14'],
- ['ll', '14-an de feb, 2010'],
- ['lll', '14-an de feb, 2010 15:25'],
- ['llll', 'Dim, la 14-an de feb, 2010 15:25']
+ ['ll', '14-a de feb, 2010'],
+ ['lll', '14-a de feb, 2010 15:25'],
+ ['llll', 'dim, la 14-a de feb, 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format week', function (assert) {
- var expected = 'Dimanĉo Dim Di_Lundo Lun Lu_Mardo Mard Ma_Merkredo Merk Me_Ĵaŭdo Ĵaŭ Ĵa_Vendredo Ven Ve_Sabato Sab Sa'.split('_'), i;
+ var expected = 'dimanĉo dim di_lundo lun lu_mardo mard ma_merkredo merk me_ĵaŭdo ĵaŭ ĵa_vendredo ven ve_sabato sab sa'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'je sekundoj', 'je prefix');
+ assert.equal(moment(30000).from(0), 'post sekundoj', 'post prefix');
assert.equal(moment(0).from(30000), 'antaŭ sekundoj', 'antaŭ prefix');
});
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'je sekundoj', 'je sekundoj');
- assert.equal(moment().add({d: 5}).fromNow(), 'je 5 tagoj', 'je 5 tagoj');
+ assert.equal(moment().add({s: 30}).fromNow(), 'post sekundoj', 'post sekundoj');
+ assert.equal(moment().add({d: 5}).fromNow(), 'post 5 tagoj', 'post 5 tagoj');
});
test('calendar day', function (assert) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'چندین ثانیه', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'چند ثانیه', '44 seconds = a few seconds');
assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'یک دقیقه', '45 seconds = a minute');
assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'یک دقیقه', '89 seconds = a minute');
assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '۲ دقیقه', '90 seconds = 2 minutes');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'در چندین ثانیه', 'prefix');
- assert.equal(moment(0).from(30000), 'چندین ثانیه پیش', 'suffix');
+ assert.equal(moment(30000).from(0), 'در چند ثانیه', 'prefix');
+ assert.equal(moment(0).from(30000), 'چند ثانیه پیش', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'چندین ثانیه پیش', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'چند ثانیه پیش', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'در چندین ثانیه', 'in a few seconds');
+ assert.equal(moment().add({s: 30}).fromNow(), 'در چند ثانیه', 'in a few seconds');
assert.equal(moment().add({d: 5}).fromNow(), 'در ۵ روز', 'in 5 days');
});
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'dimanche, février 14e 2010, 3:25:50 pm'],
- ['ddd, hA', 'dim., 3PM'],
- ['M Mo MM MMMM MMM', '2 2e 02 février févr.'],
- ['YYYY YY', '2010 10'],
- ['D Do DD', '14 14e 14'],
- ['d do dddd ddd dd', '0 0e dimanche dim. Di'],
- ['DDD DDDo DDDD', '45 45e 045'],
- ['w wo ww', '8 8e 08'],
- ['h hh', '3 03'],
- ['H HH', '15 15'],
- ['m mm', '25 25'],
- ['s ss', '50 50'],
- ['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45e day of the year'],
- ['LTS', '15:25:50'],
- ['L', '2010-02-14'],
- ['LL', '14 février 2010'],
- ['LLL', '14 février 2010 15:25'],
- ['LLLL', 'dimanche 14 février 2010 15:25'],
- ['l', '2010-2-14'],
- ['ll', '14 févr. 2010'],
- ['lll', '14 févr. 2010 15:25'],
- ['llll', 'dim. 14 févr. 2010 15:25']
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'dimanche, février 14e 2010, 3:25:50 pm'],
+ ['ddd, hA', 'dim., 3PM'],
+ ['M Mo MM MMMM MMM', '2 2e 02 février févr.'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14e 14'],
+ ['d do dddd ddd dd', '0 0e dimanche dim. Di'],
+ ['DDD DDDo DDDD', '45 45e 045'],
+ ['w wo ww', '8 8e 08'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'pm PM'],
+ ['[le] Do [jour du mois]', 'le 14e jour du mois'],
+ ['[le] DDDo [jour de l’année]', 'le 45e jour de l’année'],
+ ['LTS', '15:25:50'],
+ ['L', '2010-02-14'],
+ ['LL', '14 février 2010'],
+ ['LLL', '14 février 2010 15:25'],
+ ['LLLL', 'dimanche 14 février 2010 15:25'],
+ ['l', '2010-2-14'],
+ ['ll', '14 févr. 2010'],
+ ['lll', '14 févr. 2010 15:25'],
+ ['llll', 'dim. 14 févr. 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2e', '2e');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
-
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
-
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21e', '21e');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22e', '22e');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
-
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31e', '31e');
+ assert.equal(moment([2017, 0, 1]).format('Mo'), '1er', '1er');
+ assert.equal(moment([2017, 1, 1]).format('Mo'), '2e', '2e');
+
+ assert.equal(moment([2017, 0, 1]).format('Qo'), '1er', '1er');
+ assert.equal(moment([2017, 3, 1]).format('Qo'), '2e', '2e');
+
+ assert.equal(moment([2017, 0, 1]).format('Do'), '1er', '1er');
+ assert.equal(moment([2017, 0, 2]).format('Do'), '2e', '2e');
+
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2e', '2e');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21e', '21e');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22e', '22e');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31e', '31e');
+
+ assert.equal(moment([2017, 0, 1]).format('do'), '0e', '0e');
+ assert.equal(moment([2017, 0, 2]).format('do'), '1er', '1er');
+
+ assert.equal(moment([2017, 0, 4]).format('wo Wo'), '1re 1re', '1re 1re');
+ assert.equal(moment([2017, 0, 11]).format('wo Wo'), '2e 2e', '2e 2e');
});
test('format month', function (assert) {
var start = moment([2007, 1, 28]);
assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'quelques secondes', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'une minute', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'une minute', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minutes', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minutes', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'une heure', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'une heure', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 heures', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 heures', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 heures', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'un jour', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'un jour', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 jours', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'un jour', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 jours', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 jours', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'un mois', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'un mois', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'un mois', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mois', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mois', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mois', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'un mois', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mois', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'un an', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ans', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'un an', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ans', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'une minute', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'une minute', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minutes', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minutes', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'une heure', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'une heure', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 heures', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 heures', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 heures', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'un jour', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'un jour', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 jours', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'un jour', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 jours', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 jours', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'un mois', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'un mois', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'un mois', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mois', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mois', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mois', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'un mois', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mois', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'un an', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ans', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'un an', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ans', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'dans quelques secondes', 'prefix');
+ assert.equal(moment(30000).from(0), 'dans quelques secondes', 'prefix');
assert.equal(moment(0).from(30000), 'il y a quelques secondes', 'suffix');
});
test('fromNow', function (assert) {
assert.equal(moment().add({s: 30}).fromNow(), 'dans quelques secondes', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'dans 5 jours', 'in 5 days');
+ assert.equal(moment().add({d: 5}).fromNow(), 'dans 5 jours', 'in 5 days');
});
test('same day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'Aujourd\'hui à 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'Aujourd\'hui à 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'Aujourd\'hui à 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'Demain à 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'Aujourd\'hui à 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Hier à 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'Aujourd’hui à 12:00', 'Today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Aujourd’hui à 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Aujourd’hui à 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Demain à 12:00', 'Tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Aujourd’hui à 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Hier à 12:00', 'Yesterday at the same time');
});
test('same next week', function (assert) {
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days end of day');
}
});
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days end of day');
}
});
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
- assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
weeksAgo = moment().subtract({w: 2});
weeksFromNow = moment().add({w: 2});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
- assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
-test('weeks year starting sunday format', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1er', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1er', 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2e', 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2e', 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3e', 'Jan 15 2012 should be week 3');
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1re', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1re', 'Jan 7 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2e', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2e', 'Jan 14 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3e', 'Jan 15 2012 should be week 3');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'dimanche, février 14e 2010, 3:25:50 pm'],
- ['ddd, hA', 'dim., 3PM'],
- ['M Mo MM MMMM MMM', '2 2e 02 février févr.'],
- ['YYYY YY', '2010 10'],
- ['D Do DD', '14 14e 14'],
- ['d do dddd ddd dd', '0 0e dimanche dim. Di'],
- ['DDD DDDo DDDD', '45 45e 045'],
- ['w wo ww', '6 6e 06'],
- ['h hh', '3 03'],
- ['H HH', '15 15'],
- ['m mm', '25 25'],
- ['s ss', '50 50'],
- ['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45e day of the year'],
- ['LTS', '15:25:50'],
- ['L', '14.02.2010'],
- ['LL', '14 février 2010'],
- ['LLL', '14 février 2010 15:25'],
- ['LLLL', 'dimanche 14 février 2010 15:25'],
- ['l', '14.2.2010'],
- ['ll', '14 févr. 2010'],
- ['lll', '14 févr. 2010 15:25'],
- ['llll', 'dim. 14 févr. 2010 15:25']
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'dimanche, février 14e 2010, 3:25:50 pm'],
+ ['ddd, hA', 'dim., 3PM'],
+ ['M Mo MM MMMM MMM', '2 2e 02 février févr.'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14e 14'],
+ ['d do dddd ddd dd', '0 0e dimanche dim. Di'],
+ ['DDD DDDo DDDD', '45 45e 045'],
+ ['w wo ww', '6 6e 06'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'pm PM'],
+ ['[le] Do [jour du mois]', 'le 14e jour du mois'],
+ ['[le] DDDo [jour de l’année]', 'le 45e jour de l’année'],
+ ['LTS', '15:25:50'],
+ ['L', '14.02.2010'],
+ ['LL', '14 février 2010'],
+ ['LLL', '14 février 2010 15:25'],
+ ['LLLL', 'dimanche 14 février 2010 15:25'],
+ ['l', '14.2.2010'],
+ ['ll', '14 févr. 2010'],
+ ['lll', '14 févr. 2010 15:25'],
+ ['llll', 'dim. 14 févr. 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2e', '2e');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
-
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
-
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21e', '21e');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22e', '22e');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
-
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31e', '31e');
+ assert.equal(moment([2017, 0, 1]).format('Mo'), '1er', '1er');
+ assert.equal(moment([2017, 1, 1]).format('Mo'), '2e', '2e');
+
+ assert.equal(moment([2017, 0, 1]).format('Qo'), '1er', '1er');
+ assert.equal(moment([2017, 3, 1]).format('Qo'), '2e', '2e');
+
+ assert.equal(moment([2017, 0, 1]).format('Do'), '1er', '1er');
+ assert.equal(moment([2017, 0, 2]).format('Do'), '2e', '2e');
+
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2e', '2e');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21e', '21e');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22e', '22e');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31e', '31e');
+
+ assert.equal(moment([2017, 0, 1]).format('do'), '0e', '0e');
+ assert.equal(moment([2017, 0, 2]).format('do'), '1er', '1er');
+
+ assert.equal(moment([2017, 0, 4]).format('wo Wo'), '1re 1re', '1re 1re');
+ assert.equal(moment([2017, 0, 11]).format('wo Wo'), '2e 2e', '2e 2e');
});
test('format month', function (assert) {
var start = moment([2007, 1, 28]);
assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'quelques secondes', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'une minute', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'une minute', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minutes', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minutes', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'une heure', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'une heure', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 heures', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 heures', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 heures', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'un jour', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'un jour', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 jours', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'un jour', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 jours', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 jours', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'un mois', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'un mois', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'un mois', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mois', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mois', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mois', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'un mois', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mois', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'un an', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ans', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'un an', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ans', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'une minute', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'une minute', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minutes', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minutes', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'une heure', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'une heure', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 heures', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 heures', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 heures', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'un jour', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'un jour', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 jours', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'un jour', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 jours', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 jours', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'un mois', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'un mois', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'un mois', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mois', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mois', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mois', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'un mois', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mois', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'un an', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ans', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'un an', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ans', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'dans quelques secondes', 'prefix');
+ assert.equal(moment(30000).from(0), 'dans quelques secondes', 'prefix');
assert.equal(moment(0).from(30000), 'il y a quelques secondes', 'suffix');
});
test('fromNow', function (assert) {
assert.equal(moment().add({s: 30}).fromNow(), 'dans quelques secondes', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'dans 5 jours', 'in 5 days');
+ assert.equal(moment().add({d: 5}).fromNow(), 'dans 5 jours', 'in 5 days');
});
test('same day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'Aujourd\'hui à 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'Aujourd\'hui à 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'Aujourd\'hui à 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'Demain à 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'Aujourd\'hui à 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Hier à 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'Aujourd’hui à 12:00', 'Today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Aujourd’hui à 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Aujourd’hui à 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Demain à 12:00', 'Tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Aujourd’hui à 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Hier à 12:00', 'Yesterday at the same time');
});
test('same next week', function (assert) {
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days end of day');
}
});
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days end of day');
}
});
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
- assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
weeksAgo = moment().subtract({w: 2});
weeksFromNow = moment().add({w: 2});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
- assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52e', 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1er', 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1er', 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2e', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2e', 'Jan 15 2012 should be week 2');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1re', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1re', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2e', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2e', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
localeModule('fr');
test('parse', function (assert) {
- var tests = 'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split('_'),
- i;
+ var i,
+ tests = 'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split('_');
+
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
+
for (i = 0; i < 12; i++) {
tests[i] = tests[i].split(' ');
equalTest(tests[i][0], 'MMM', i);
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'dimanche, février 14 2010, 3:25:50 pm'],
- ['ddd, hA', 'dim., 3PM'],
- ['M Mo MM MMMM MMM', '2 2 02 février févr.'],
- ['YYYY YY', '2010 10'],
- ['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 dimanche dim. Di'],
- ['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '6 6 06'],
- ['h hh', '3 03'],
- ['H HH', '15 15'],
- ['m mm', '25 25'],
- ['s ss', '50 50'],
- ['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45 day of the year'],
- ['LTS', '15:25:50'],
- ['L', '14/02/2010'],
- ['LL', '14 février 2010'],
- ['LLL', '14 février 2010 15:25'],
- ['LLLL', 'dimanche 14 février 2010 15:25'],
- ['l', '14/2/2010'],
- ['ll', '14 févr. 2010'],
- ['lll', '14 févr. 2010 15:25'],
- ['llll', 'dim. 14 févr. 2010 15:25']
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'dimanche, février 14 2010, 3:25:50 pm'],
+ ['ddd, hA', 'dim., 3PM'],
+ ['M Mo MM MMMM MMM', '2 2e 02 février févr.'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0e dimanche dim. Di'],
+ ['DDD DDDo DDDD', '45 45e 045'],
+ ['w wo ww', '6 6e 06'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'pm PM'],
+ ['[le] Do [jour du mois]', 'le 14 jour du mois'],
+ ['[le] DDDo [jour de l’année]', 'le 45e jour de l’année'],
+ ['LTS', '15:25:50'],
+ ['L', '14/02/2010'],
+ ['LL', '14 février 2010'],
+ ['LLL', '14 février 2010 15:25'],
+ ['LLLL', 'dimanche 14 février 2010 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 févr. 2010'],
+ ['lll', '14 févr. 2010 15:25'],
+ ['llll', 'dim. 14 févr. 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
+
for (i = 0; i < a.length; i++) {
assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
}
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
-
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
-
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
-
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+ assert.equal(moment([2017, 0, 1]).format('Mo'), '1er', '1er');
+ assert.equal(moment([2017, 1, 1]).format('Mo'), '2e', '2e');
+
+ assert.equal(moment([2017, 0, 1]).format('Qo'), '1er', '1er');
+ assert.equal(moment([2017, 3, 1]).format('Qo'), '2e', '2e');
+
+ assert.equal(moment([2017, 0, 1]).format('Do'), '1er', '1er');
+ assert.equal(moment([2017, 0, 2]).format('Do'), '2', '2');
+
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2e', '2e');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21e', '21e');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22e', '22e');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31e', '31e');
+
+ assert.equal(moment([2017, 0, 1]).format('do'), '0e', '0e');
+ assert.equal(moment([2017, 0, 2]).format('do'), '1er', '1er');
+
+ assert.equal(moment([2017, 0, 4]).format('wo Wo'), '1re 1re', '1re 1re');
+ assert.equal(moment([2017, 0, 11]).format('wo Wo'), '2e 2e', '2e 2e');
});
test('format month', function (assert) {
- var expected = 'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split('_'), i;
+ var i,
+ expected = 'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split('_');
+
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'dimanche dim. Di_lundi lun. Lu_mardi mar. Ma_mercredi mer. Me_jeudi jeu. Je_vendredi ven. Ve_samedi sam. Sa'.split('_'), i;
+ var i,
+ expected = 'dimanche dim. Di_lundi lun. Lu_mardi mar. Ma_mercredi mer. Me_jeudi jeu. Je_vendredi ven. Ve_samedi sam. Sa'.split('_');
+
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
+
assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'quelques secondes', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'une minute', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'une minute', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minutes', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minutes', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'une heure', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'une heure', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 heures', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 heures', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 heures', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'un jour', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'un jour', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 jours', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'un jour', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 jours', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 jours', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'un mois', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'un mois', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'un mois', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mois', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mois', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mois', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'un mois', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mois', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'un an', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ans', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'un an', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ans', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'une minute', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'une minute', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minutes', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minutes', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'une heure', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'une heure', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 heures', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 heures', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 heures', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'un jour', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'un jour', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 jours', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'un jour', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 jours', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 jours', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'un mois', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'un mois', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'un mois', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mois', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mois', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mois', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'un mois', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mois', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'un an', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ans', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'un an', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ans', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'dans quelques secondes', 'prefix');
+ assert.equal(moment(30000).from(0), 'dans quelques secondes', 'prefix');
assert.equal(moment(0).from(30000), 'il y a quelques secondes', 'suffix');
});
test('fromNow', function (assert) {
assert.equal(moment().add({s: 30}).fromNow(), 'dans quelques secondes', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'dans 5 jours', 'in 5 days');
+ assert.equal(moment().add({d: 5}).fromNow(), 'dans 5 jours', 'in 5 days');
});
test('same day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'Aujourd\'hui à 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'Aujourd\'hui à 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'Aujourd\'hui à 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'Demain à 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'Aujourd\'hui à 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Hier à 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'Aujourd’hui à 12:00', 'Today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Aujourd’hui à 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Aujourd’hui à 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Demain à 12:00', 'Tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Aujourd’hui à 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Hier à 12:00', 'Yesterday at the same time');
});
test('same next week', function (assert) {
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days end of day');
}
});
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [dernier à] LT'), 'Today - ' + i + ' days end of day');
}
});
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
- assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
weeksAgo = moment().subtract({w: 2});
weeksFromNow = moment().add({w: 2});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
- assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1er', 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1er', 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52e', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1re', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1re', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2e', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2e', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('he');
+localeModule('gom-latn');
test('parse', function (assert) {
- var tests = 'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split('_'), i;
+ var i,
+ tests = 'Janer Jan._Febrer Feb._Mars Mars_Abril Abr._Mai Mai_Jun Jun_Julai Jul._Agost Ago._Setembr Set._Otubr Otu._Novembr Nov._Dezembr Dez.'.split('_');
+
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
+
for (i = 0; i < 12; i++) {
tests[i] = tests[i].split(' ');
equalTest(tests[i][0], 'MMM', i);
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'ראשון, פברואר 14 2010, 3:25:50 אחה"צ'],
- ['ddd, h A', 'א׳, 3 אחרי הצהריים'],
- ['M Mo MM MMMM MMM', '2 2 02 פברואר פבר׳'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'Aitar, Febrer 14er 2010, 3:25:50 donparam'],
+ ['ddd, hA', 'Ait., 3donparam'],
+ ['M Mo MM MMMM MMM', '2 2 02 Febrer Feb.'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 ראשון א׳ א'],
+ ['D Do DD', '14 14er 14'],
+ ['d do dddd ddd dd', '0 0 Aitar Ait. Ai'],
['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '8 8 08'],
+ ['w wo ww', '6 6 06'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'אחה"צ אחרי הצהריים'],
+ ['a A', 'donparam donparam'],
['[the] DDDo [day of the year]', 'the 45 day of the year'],
- ['LTS', '15:25:50'],
- ['L', '14/02/2010'],
- ['LL', '14 בפברואר 2010'],
- ['LLL', '14 בפברואר 2010 15:25'],
- ['LLLL', 'ראשון, 14 בפברואר 2010 15:25'],
- ['l', '14/2/2010'],
- ['ll', '14 פבר׳ 2010'],
- ['lll', '14 פבר׳ 2010 15:25'],
- ['llll', 'א׳, 14 פבר׳ 2010 15:25']
+ ['LTS', 'donparam 3:25:50 vazta'],
+ ['L', '14-02-2010'],
+ ['LL', '14 Febrer 2010'],
+ ['LLL', '14 Febrer 2010 donparam 3:25 vazta'],
+ ['LLLL', 'Aitar, Febrerachea 14er, 2010, donparam 3:25 vazta'],
+ ['l', '14-2-2010'],
+ ['ll', '14 Feb. 2010'],
+ ['lll', '14 Feb. 2010 donparam 3:25 vazta'],
+ ['llll', 'Ait., 14 Feb. 2010, donparam 3:25 vazta']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
+
for (i = 0; i < a.length; i++) {
assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
}
});
+test('format ordinal', function (assert) {
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+});
+
test('format month', function (assert) {
- var expected = 'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split('_'), i;
+ var i,
+ expected = 'Janer Jan._Febrer Feb._Mars Mars_Abril Abr._Mai Mai_Jun Jun_Julai Jul._Agost Ago._Setembr Set._Otubr Otu._Novembr Nov._Dezembr Dez.'.split('_');
+
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'ראשון א׳ א|שני ב׳ ב|שלישי ג׳ ג|רביעי ד׳ ד|חמישי ה׳ ה|שישי ו׳ ו|שבת ש׳ ש'.split('|'), i;
+ var i,
+ expected = 'Aitar Ait. Ai_Somar Som. Sm_Mongllar Mon. Mo_Budvar Bud. Bu_Brestar Bre. Br_Sukrar Suk. Su_Son\'var Son. Sn'.split('_');
+
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'מספר שניות', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'דקה', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'דקה', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 דקות', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 דקות', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'שעה', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'שעה', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'שעתיים', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 שעות', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 שעות', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'יום', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'יום', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'יומיים', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'יום', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 ימים', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 ימים', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'חודש', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'חודש', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'חודש', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'חודשיים', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'חודשיים', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 חודשים', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'חודש', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 חודשים', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'שנה', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'שנתיים', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 3699}), true), '10 שנים', '345 days = 10 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 7340}), true), '20 שנה', '548 days = 20 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'שנה', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 שנים', '5 years = 5 years');
+
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'thodde secondanim', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'eka mintan', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'eka mintan', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 mintanim', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 mintanim', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'eka horan', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'eka horan', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 horanim', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 horanim', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 horanim', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'eka disan', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'eka disan', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 disanim', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'eka disan', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 disanim', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 disanim', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'eka mhoinean', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'eka mhoinean', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'eka mhoinean', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mhoineanim', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mhoineanim', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mhoineanim', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'eka mhoinean', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mhoineanim', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'eka vorsan', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 vorsanim', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'eka vorsan', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 vorsanim', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'בעוד מספר שניות', 'prefix');
- assert.equal(moment(0).from(30000), 'לפני מספר שניות', 'suffix');
+ assert.equal(moment(30000).from(0), 'thodde second', 'prefix');
+ assert.equal(moment(0).from(30000), 'thodde second adim', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'לפני מספר שניות', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'thodde second adim', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'בעוד מספר שניות', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'בעוד 5 ימים', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'thodde second', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), '5 dis', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'היום ב־12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'היום ב־12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'היום ב־13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'מחר ב־12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'היום ב־11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'אתמול ב־12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'Aiz donparam 12:00 vazta', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Aiz donparam 12:25 vazta', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Aiz donparam 1:00 vazta', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Faleam donparam 12:00 vazta', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Aiz sokalli 11:00 vazta', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Kal donparam 12:00 vazta', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
+
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [בשעה] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[Ieta to] dddd[,] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [בשעה] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[Ieta to] dddd[,] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [בשעה] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[Ieta to] dddd[,] LT'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
+
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[ביום] dddd [האחרון בשעה] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[Fatlo] dddd[,] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[ביום] dddd [האחרון בשעה] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[Fatlo] dddd[,] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[ביום] dddd [האחרון בשעה] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[Fatlo] dddd[,] LT'), 'Today - ' + i + ' days end of day');
}
});
});
test('weeks year starting sunday format', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', 'Jan 8 2012 should be week 1');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2', 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+
+
+function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ teardownDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+}
+
+localeModule('he');
+
+test('parse', function (assert) {
+ var tests = 'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split('_'), i;
+ function equalTest(input, mmm, i) {
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+ }
+ for (i = 0; i < 12; i++) {
+ tests[i] = tests[i].split(' ');
+ equalTest(tests[i][0], 'MMM', i);
+ equalTest(tests[i][1], 'MMM', i);
+ equalTest(tests[i][0], 'MMMM', i);
+ equalTest(tests[i][1], 'MMMM', i);
+ equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+ }
+});
+
+test('format', function (assert) {
+ var a = [
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'ראשון, פברואר 14 2010, 3:25:50 אחה"צ'],
+ ['ddd, h A', 'א׳, 3 אחרי הצהריים'],
+ ['M Mo MM MMMM MMM', '2 2 02 פברואר פבר׳'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 ראשון א׳ א'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '8 8 08'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'אחה"צ אחרי הצהריים'],
+ ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+ ['LTS', '15:25:50'],
+ ['L', '14/02/2010'],
+ ['LL', '14 בפברואר 2010'],
+ ['LLL', '14 בפברואר 2010 15:25'],
+ ['LLLL', 'ראשון, 14 בפברואר 2010 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 פבר׳ 2010'],
+ ['lll', '14 פבר׳ 2010 15:25'],
+ ['llll', 'א׳, 14 פבר׳ 2010 15:25']
+ ],
+ b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ i;
+ for (i = 0; i < a.length; i++) {
+ assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ }
+});
+
+test('format month', function (assert) {
+ var expected = 'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split('_'), i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+ }
+});
+
+test('format week', function (assert) {
+ var expected = 'ראשון א׳ א|שני ב׳ ב|שלישי ג׳ ג|רביעי ד׳ ד|חמישי ה׳ ה|שישי ו׳ ו|שבת ש׳ ש'.split('|'), i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
+ }
+});
+
+test('from', function (assert) {
+ var start = moment([2007, 1, 28]);
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'מספר שניות', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'דקה', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'דקה', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 דקות', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 דקות', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'שעה', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'שעה', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'שעתיים', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 שעות', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 שעות', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'יום', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'יום', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'יומיים', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'יום', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 ימים', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 ימים', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'חודש', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'חודש', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'חודש', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'חודשיים', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'חודשיים', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 חודשים', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'חודש', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 חודשים', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'שנה', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'שנתיים', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 3699}), true), '10 שנים', '345 days = 10 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 7340}), true), '20 שנה', '548 days = 20 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'שנה', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 שנים', '5 years = 5 years');
+});
+
+test('suffix', function (assert) {
+ assert.equal(moment(30000).from(0), 'בעוד מספר שניות', 'prefix');
+ assert.equal(moment(0).from(30000), 'לפני מספר שניות', 'suffix');
+});
+
+test('now from now', function (assert) {
+ assert.equal(moment().fromNow(), 'לפני מספר שניות', 'now from now should display as in the past');
+});
+
+test('fromNow', function (assert) {
+ assert.equal(moment().add({s: 30}).fromNow(), 'בעוד מספר שניות', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'בעוד 5 ימים', 'in 5 days');
+});
+
+test('calendar day', function (assert) {
+ var a = moment().hours(12).minutes(0).seconds(0);
+
+ assert.equal(moment(a).calendar(), 'היום ב־12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'היום ב־12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'היום ב־13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'מחר ב־12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'היום ב־11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'אתמול ב־12:00', 'yesterday at the same time');
+});
+
+test('calendar next week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().add({d: i});
+ assert.equal(m.calendar(), m.format('dddd [בשעה] LT'), 'Today + ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('dddd [בשעה] LT'), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('dddd [בשעה] LT'), 'Today + ' + i + ' days end of day');
+ }
+});
+
+test('calendar last week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().subtract({d: i});
+ assert.equal(m.calendar(), m.format('[ביום] dddd [האחרון בשעה] LT'), 'Today - ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('[ביום] dddd [האחרון בשעה] LT'), 'Today - ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('[ביום] dddd [האחרון בשעה] LT'), 'Today - ' + i + ' days end of day');
+ }
+});
+
+test('calendar all else', function (assert) {
+ var weeksAgo = moment().subtract({w: 1}),
+ weeksFromNow = moment().add({w: 1});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+
+ weeksAgo = moment().subtract({w: 2});
+ weeksFromNow = moment().add({w: 2});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+});
+
+test('weeks year starting sunday format', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', 'Jan 7 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2', 'Jan 14 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'Domenica, febbraio 14º 2010, 3:25:50 pm'],
- ['ddd, hA', 'Dom, 3PM'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'domenica, febbraio 14º 2010, 3:25:50 pm'],
+ ['ddd, hA', 'dom, 3PM'],
['M Mo MM MMMM MMM', '2 2º 02 febbraio feb'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14º 14'],
- ['d do dddd ddd dd', '0 0º Domenica Dom Do'],
+ ['d do dddd ddd dd', '0 0º domenica dom do'],
['DDD DDDo DDDD', '45 45º 045'],
['w wo ww', '6 6º 06'],
['h hh', '3 03'],
['L', '14/02/2010'],
['LL', '14 febbraio 2010'],
['LLL', '14 febbraio 2010 15:25'],
- ['LLLL', 'Domenica, 14 febbraio 2010 15:25'],
+ ['LLLL', 'domenica, 14 febbraio 2010 15:25'],
['l', '14/2/2010'],
['ll', '14 feb 2010'],
['lll', '14 feb 2010 15:25'],
- ['llll', 'Dom, 14 feb 2010 15:25']
+ ['llll', 'dom, 14 feb 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format week', function (assert) {
- var expected = 'Domenica Dom Do_Lunedì Lun Lu_Martedì Mar Ma_Mercoledì Mer Me_Giovedì Gio Gi_Venerdì Ven Ve_Sabato Sab Sa'.split('_'), i;
+ var expected = 'domenica dom do_lunedì lun lu_martedì mar ma_mercoledì mer me_giovedì gio gi_venerdì ven ve_sabato sab sa'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
['s ss', '50 50'],
['a A', '午後 午後'],
['[the] DDDo [day of the year]', 'the 45日 day of the year'],
- ['LTS', '午後3時25分50秒'],
+ ['LTS', '15:25:50'],
['L', '2010/02/14'],
['LL', '2010年2月14日'],
- ['LLL', '2010年2月14日午後3時25分'],
- ['LLLL', '2010年2月14日午後3時25分 日曜日'],
- ['l', '2010/2/14'],
+ ['LLL', '2010年2月14日 15:25'],
+ ['LLLL', '2010年2月14日 15:25 日曜日'],
+ ['l', '2010/02/14'],
['ll', '2010年2月14日'],
- ['lll', '2010年2月14日午後3時25分'],
- ['llll', '2010年2月14日午後3時25分 日']
+ ['lll', '2010年2月14日 15:25'],
+ ['llll', '2010年2月14日 15:25 日曜日']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), '今日 午後12時0分', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), '今日 午後12時25分', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), '今日 午後1時0分', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), '明日 午後12時0分', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), '今日 午前11時0分', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), '昨日 午後12時0分', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), '今日 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), '今日 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), '今日 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), '明日 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), '今日 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), '昨日 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
test('suffix', function (assert) {
assert.equal(moment(30000).from(0), 'რამდენიმე წამში', 'ში სუფიქსი');
- assert.equal(moment(0).from(30000), 'á\83 á\83\90á\83\9bá\83\93á\83\94á\83\9cá\83\98á\83\9bá\83\94 á\83¬á\83\90á\83\9bá\83\98á\83¡ á\83¬á\83\98á\83\9c', 'á\83¬á\83\98ნ სუფიქსი');
+ assert.equal(moment(0).from(30000), 'á\83 á\83\90á\83\9bá\83\93á\83\94á\83\9cá\83\98á\83\9bá\83\94 á\83¬á\83\90á\83\9bá\83\98á\83¡ á\83£á\83\99á\83\90á\83\9c', 'á\83£á\83\99á\83\90ნ სუფიქსი');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'á\83 á\83\90á\83\9bá\83\93á\83\94á\83\9cá\83\98á\83\9bá\83\94 á\83¬á\83\90á\83\9bá\83\98á\83¡ á\83¬á\83\98ნ', 'უნდა აჩვენოს როგორც წარსული');
+ assert.equal(moment().fromNow(), 'á\83 á\83\90á\83\9bá\83\93á\83\94á\83\9cá\83\98á\83\9bá\83\94 á\83¬á\83\90á\83\9bá\83\98á\83¡ á\83£á\83\99á\83\90ნ', 'უნდა აჩვენოს როგორც წარსული');
});
test('fromNow', function (assert) {
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 á\83\99á\83\95á\83\98á\83 á\83\98á\83¡ á\83¬á\83\98ნ');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 á\83\99á\83\95á\83\98á\83 á\83\98á\83¡ á\83£á\83\99á\83\90ნ');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), '1 კვირაში');
weeksAgo = moment().subtract({w: 2});
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+
+
+function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ teardownDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+}
+
+localeModule('kn');
+
+test('parse', function (assert) {
+ var tests = 'ಜನವರಿ ಜನ_ಫೆಬ್ರವರಿ ಫೆಬ್ರ_ಮಾರ್ಚ್ ಮಾರ್ಚ್_ಏಪ್ರಿಲ್ ಏಪ್ರಿಲ್_ಮೇ ಮೇ_ಜೂನ್ ಜೂನ್_ಜುಲೈ ಜುಲೈ_ಆಗಸ್ಟ್ ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್ ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬರ್ ಅಕ್ಟೋಬ_ನವೆಂಬರ್ ನವೆಂಬ_ಡಿಸೆಂಬರ್ ಡಿಸೆಂಬ'.split('_'), i;
+ function equalTest(input, mmm, i) {
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+ }
+ for (i = 0; i < 12; i++) {
+ tests[i] = tests[i].split(' ');
+ equalTest(tests[i][0], 'MMM', i);
+ equalTest(tests[i][1], 'MMM', i);
+ equalTest(tests[i][0], 'MMMM', i);
+ equalTest(tests[i][1], 'MMMM', i);
+ equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+ }
+});
+
+test('format', function (assert) {
+ var a = [
+ ['dddd, Do MMMM YYYY, a h:mm:ss', 'ಭಾನುವಾರ, ೧೪ನೇ ಫೆಬ್ರವರಿ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫:೫೦'],
+ ['ddd, a h ಗಂಟೆ', 'ಭಾನು, ಮಧ್ಯಾಹ್ನ ೩ ಗಂಟೆ'],
+ ['M Mo MM MMMM MMM', '೨ ೨ನೇ ೦೨ ಫೆಬ್ರವರಿ ಫೆಬ್ರ'],
+ ['YYYY YY', '೨೦೧೦ ೧೦'],
+ ['D Do DD', '೧೪ ೧೪ನೇ ೧೪'],
+ ['d do dddd ddd dd', '೦ ೦ನೇ ಭಾನುವಾರ ಭಾನು ಭಾ'],
+ ['DDD DDDo DDDD', '೪೫ ೪೫ನೇ ೦೪೫'],
+ ['w wo ww', '೮ ೮ನೇ ೦೮'],
+ ['h hh', '೩ ೦೩'],
+ ['H HH', '೧೫ ೧೫'],
+ ['m mm', '೨೫ ೨೫'],
+ ['s ss', '೫೦ ೫೦'],
+ ['a A', 'ಮಧ್ಯಾಹ್ನ ಮಧ್ಯಾಹ್ನ'],
+ ['LTS', 'ಮಧ್ಯಾಹ್ನ ೩:೨೫:೫೦'],
+ ['L', '೧೪/೦೨/೨೦೧೦'],
+ ['LL', '೧೪ ಫೆಬ್ರವರಿ ೨೦೧೦'],
+ ['LLL', '೧೪ ಫೆಬ್ರವರಿ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
+ ['LLLL', 'ಭಾನುವಾರ, ೧೪ ಫೆಬ್ರವರಿ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
+ ['l', '೧೪/೨/೨೦೧೦'],
+ ['ll', '೧೪ ಫೆಬ್ರ ೨೦೧೦'],
+ ['lll', '೧೪ ಫೆಬ್ರ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫'],
+ ['llll', 'ಭಾನು, ೧೪ ಫೆಬ್ರ ೨೦೧೦, ಮಧ್ಯಾಹ್ನ ೩:೨೫']
+ ],
+ b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ i;
+ for (i = 0; i < a.length; i++) {
+ assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ }
+});
+
+test('format ordinal', function (assert) {
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '೧ನೇ', '೧ನೇ');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '೨ನೇ', '೨ನೇ');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '೩ನೇ', '೩ನೇ');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '೪ನೇ', '೪ನೇ');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '೫ನೇ', '೫ನೇ');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '೬ನೇ', '೬ನೇ');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '೭ನೇ', '೭ನೇ');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '೮ನೇ', '೮ನೇ');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '೯ನೇ', '೯ನೇ');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '೧೦ನೇ', '೧೦ನೇ');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '೧೧ನೇ', '೧೧ನೇ');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '೧೨ನೇ', '೧೨ನೇ');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '೧೩ನೇ', '೧೩ನೇ');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '೧೪ನೇ', '೧೪ನೇ');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '೧೫ನೇ', '೧೫ನೇ');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '೧೬ನೇ', '೧೬ನೇ');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '೧೭ನೇ', '೧೭ನೇ');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '೧೮ನೇ', '೧೮ನೇ');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '೧೯ನೇ', '೧೯ನೇ');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '೨೦ನೇ', '೨೦ನೇ');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '೨೧ನೇ', '೨೧ನೇ');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '೨೨ನೇ', '೨೨ನೇ');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '೨೩ನೇ', '೨೩ನೇ');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '೨೪ನೇ', '೨೪ನೇ');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '೨೫ನೇ', '೨೫ನೇ');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '೨೬ನೇ', '೨೬ನೇ');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '೨೭ನೇ', '೨೭ನೇ');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '೨೮ನೇ', '೨೮ನೇ');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '೨೯ನೇ', '೨೯ನೇ');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '೩೦ನೇ', '೩೦ನೇ');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '೩೧ನೇ', '೩೧ನೇ');
+});
+
+test('format month', function (assert) {
+ var expected = 'ಜನವರಿ ಜನ_ಫೆಬ್ರವರಿ ಫೆಬ್ರ_ಮಾರ್ಚ್ ಮಾರ್ಚ್_ಏಪ್ರಿಲ್ ಏಪ್ರಿಲ್_ಮೇ ಮೇ_ಜೂನ್ ಜೂನ್_ಜುಲೈ ಜುಲೈ_ಆಗಸ್ಟ್ ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್ ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬರ್ ಅಕ್ಟೋಬ_ನವೆಂಬರ್ ನವೆಂಬ_ಡಿಸೆಂಬರ್ ಡಿಸೆಂಬ'.split('_'), i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+ }
+});
+
+test('format week', function (assert) {
+ var expected = 'ಭಾನುವಾರ ಭಾನು ಭಾ_ಸೋಮವಾರ ಸೋಮ ಸೋ_ಮಂಗಳವಾರ ಮಂಗಳ ಮಂ_ಬುಧವಾರ ಬುಧ ಬು_ಗುರುವಾರ ಗುರು ಗು_ಶುಕ್ರವಾರ ಶುಕ್ರ ಶು_ಶನಿವಾರ ಶನಿ ಶ'.split('_'), i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
+ }
+});
+
+test('from', function (assert) {
+ var start = moment([2007, 1, 28]);
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ಕೆಲವು ಕ್ಷಣಗಳು', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'ಒಂದು ನಿಮಿಷ', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'ಒಂದು ನಿಮಿಷ', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '೨ ನಿಮಿಷ', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '೪೪ ನಿಮಿಷ', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ಒಂದು ಗಂಟೆ', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ಒಂದು ಗಂಟೆ', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '೨ ಗಂಟೆ', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '೫ ಗಂಟೆ', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '೨೧ ಗಂಟೆ', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ಒಂದು ದಿನ', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ಒಂದು ದಿನ', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '೨ ದಿನ', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ಒಂದು ದಿನ', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '೫ ದಿನ', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '೨೫ ದಿನ', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ಒಂದು ತಿಂಗಳು', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ಒಂದು ತಿಂಗಳು', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ಒಂದು ತಿಂಗಳು', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '೨ ತಿಂಗಳು', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '೨ ತಿಂಗಳು', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '೩ ತಿಂಗಳು', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ಒಂದು ತಿಂಗಳು', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '೫ ತಿಂಗಳು', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ಒಂದು ವರ್ಷ', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '೨ ವರ್ಷ', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ಒಂದು ವರ್ಷ', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '೫ ವರ್ಷ', '5 years = 5 years');
+});
+
+test('suffix', function (assert) {
+ assert.equal(moment(30000).from(0), 'ಕೆಲವು ಕ್ಷಣಗಳು ನಂತರ', 'prefix');
+ assert.equal(moment(0).from(30000), 'ಕೆಲವು ಕ್ಷಣಗಳು ಹಿಂದೆ', 'suffix');
+});
+
+test('now from now', function (assert) {
+ assert.equal(moment().fromNow(), 'ಕೆಲವು ಕ್ಷಣಗಳು ಹಿಂದೆ', 'now from now should display as in the past');
+});
+
+test('fromNow', function (assert) {
+ assert.equal(moment().add({s: 30}).fromNow(), 'ಕೆಲವು ಕ್ಷಣಗಳು ನಂತರ', 'ಕೆಲವು ಕ್ಷಣಗಳು ನಂತರ');
+ assert.equal(moment().add({d: 5}).fromNow(), '೫ ದಿನ ನಂತರ', '೫ ದಿನ ನಂತರ');
+});
+
+test('calendar day', function (assert) {
+ var a = moment().hours(12).minutes(0).seconds(0);
+
+ assert.equal(moment(a).calendar(), 'ಇಂದು ಮಧ್ಯಾಹ್ನ ೧೨:೦೦', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'ಇಂದು ಮಧ್ಯಾಹ್ನ ೧೨:೨೫', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 3}).calendar(), 'ಇಂದು ಮಧ್ಯಾಹ್ನ ೩:೦೦', 'Now plus 3 hours');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'ನಾಳೆ ಮಧ್ಯಾಹ್ನ ೧೨:೦೦', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'ಇಂದು ಮಧ್ಯಾಹ್ನ ೧೧:೦೦', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'ನಿನ್ನೆ ಮಧ್ಯಾಹ್ನ ೧೨:೦೦', 'yesterday at the same time');
+});
+
+test('calendar next week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().add({d: i});
+ assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days end of day');
+ }
+});
+
+test('calendar last week', function (assert) {
+ var i, m;
+
+ for (i = 2; i < 7; i++) {
+ m = moment().subtract({d: i});
+ assert.equal(m.calendar(), m.format('[ಕೊನೆಯ] dddd[,] LT'), 'Today - ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('[ಕೊನೆಯ] dddd[,] LT'), 'Today - ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('[ಕೊನೆಯ] dddd[,] LT'), 'Today - ' + i + ' days end of day');
+ }
+});
+
+test('calendar all else', function (assert) {
+ var weeksAgo = moment().subtract({w: 1}),
+ weeksFromNow = moment().add({w: 1});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+
+ weeksAgo = moment().subtract({w: 2});
+ weeksFromNow = moment().add({w: 2});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+});
+
+test('meridiem', function (assert) {
+ assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), 'ರಾತ್ರಿ', 'before dawn');
+ assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'ಬೆಳಿಗ್ಗೆ', 'morning');
+ assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), 'ಮಧ್ಯಾಹ್ನ', 'during day');
+ assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'ಸಂಜೆ', 'evening');
+ assert.equal(moment([2011, 2, 23, 19, 30]).format('a'), 'ಸಂಜೆ', 'late evening');
+ assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'ರಾತ್ರಿ', 'night');
+
+ assert.equal(moment([2011, 2, 23, 2, 30]).format('A'), 'ರಾತ್ರಿ', 'before dawn');
+ assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'ಬೆಳಿಗ್ಗೆ', 'morning');
+ assert.equal(moment([2011, 2, 23, 14, 30]).format('A'), 'ಮಧ್ಯಾಹ್ನ', ' during day');
+ assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'ಸಂಜೆ', 'evening');
+ assert.equal(moment([2011, 2, 23, 19, 30]).format('A'), 'ಸಂಜೆ', 'late evening');
+ assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'ರಾತ್ರಿ', 'night');
+});
+
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '೧ ೦೧ ೧ನೇ', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).format('w ww wo'), '೧ ೦೧ ೧ನೇ', 'Jan 7 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '೨ ೦೨ ೨ನೇ', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).format('w ww wo'), '೨ ೦೨ ೨ನೇ', 'Jan 14 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '೩ ೦೩ ೩ನೇ', 'Jan 15 2012 should be week 3');
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
['s ss', '50 50'],
['a A', '오후 오후'],
['일년 중 DDDo째 되는 날', '일년 중 45일째 되는 날'],
- ['LTS', '오후 3시 25분 50초'],
+ ['LTS', '오후 3:25:50'],
['L', '2010.02.14'],
['LL', '2010년 2월 14일'],
- ['LLL', '2010년 2월 14일 오후 3시 25분'],
- ['LLLL', '2010년 2월 14일 일요일 오후 3시 25분'],
- ['l', '2010.2.14'],
+ ['LLL', '2010년 2월 14일 오후 3:25'],
+ ['LLLL', '2010년 2월 14일 일요일 오후 3:25'],
+ ['l', '2010.02.14'],
['ll', '2010년 2월 14일'],
- ['lll', '2010년 2월 14일 오후 3시 25분'],
- ['llll', '2010년 2월 14일 일 오후 3시 25분']
+ ['lll', '2010년 2월 14일 오후 3:25'],
+ ['llll', '2010년 2월 14일 일요일 오후 3:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
test('from', function (assert) {
var start = moment([2007, 1, 28]);
assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), '몇 초', '44초 = 몇 초');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), '일분', '45초 = 일분');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), '일분', '89초 = 일분');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), '1분', '45초 = 1분');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), '1분', '89초 = 1분');
assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2분', '90초 = 2분');
assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44분', '44분 = 44분');
assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), '한 시간', '45분 = 한 시간');
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), '오늘 오후 12시 0분', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), '오늘 오후 12시 25분', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), '오늘 오후 1시 0분', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), '내일 오후 12시 0분', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), '오늘 오전 11시 0분', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), '어제 오후 12시 0분', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), '오늘 오후 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), '오늘 오후 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), '오늘 오후 1:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), '내일 오후 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), '오늘 오전 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), '어제 오후 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '੩ ੦੩ ੩', 'Jan 15 2012 should be week 3');
});
-test('lenient ordinal parsing', function (assert) {
+test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
-test('lenient ordinal parsing of number', function (assert) {
+test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
-test('strict ordinal parsing', function (assert) {
+test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
});
test('format week', function (assert) {
- var expected = 'Domingo Dom_Segunda-feira Seg_Terça-feira Ter_Quarta-feira Qua_Quinta-feira Qui_Sexta-feira Sex_Sábado Sáb'.split('_'), i;
+ var expected = 'Domingo Dom Do_Segunda-feira Seg 2ª_Terça-feira Ter 3ª_Quarta-feira Qua 4ª_Quinta-feira Qui 5ª_Sexta-feira Sex 6ª_Sábado Sáb Sá'.split('_'), i;
for (i = 0; i < expected.length; i++) {
- assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd'), expected[i], expected[i]);
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
});
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
});
test('format week', function (assert) {
- var expected = 'Domingo Dom Dom_Segunda-Feira Seg 2ª_Terça-Feira Ter 3ª_Quarta-Feira Qua 4ª_Quinta-Feira Qui 5ª_Sexta-Feira Sex 6ª_Sábado Sáb Sáb'.split('_'), i;
+ var expected = 'Domingo Dom Do_Segunda-Feira Seg 2ª_Terça-Feira Ter 3ª_Quarta-Feira Qua 4ª_Quinta-Feira Qui 5ª_Sexta-Feira Sex 6ª_Sábado Sáb Sá'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+
+
+function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ teardownDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+}
+
+localeModule('sd');
+
+var months = [
+ 'جنوري',
+ 'فيبروري',
+ 'مارچ',
+ 'اپريل',
+ 'مئي',
+ 'جون',
+ 'جولاءِ',
+ 'آگسٽ',
+ 'سيپٽمبر',
+ 'آڪٽوبر',
+ 'نومبر',
+ 'ڊسمبر'
+];
+var days = [
+ 'آچر',
+ 'سومر',
+ 'اڱارو',
+ 'اربع',
+ 'خميس',
+ 'جمع',
+ 'ڇنڇر'
+];
+
+test('parse', function (assert) {
+ function equalTest(input, mmm, i) {
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+ }
+ for (var i = 0; i < 12; i++) {
+ equalTest(months[i], 'MMM', i);
+ equalTest(months[i], 'MMMM', i);
+ }
+});
+
+test('format', function (assert) {
+ var a = [
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'آچر، فيبروري 14 2010، 3:25:50 شام'],
+ ['ddd, hA', 'آچر، 3شام'],
+ ['M Mo MM MMMM MMM', '2 2 02 فيبروري فيبروري'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 آچر آچر آچر'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '6 6 06'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'شام شام'],
+ ['[سال جو] DDDo[ڏينهن]', 'سال جو 45ڏينهن'],
+ ['LTS', '15:25:50'],
+ ['L', '14/02/2010'],
+ ['LL', '14 فيبروري 2010'],
+ ['LLL', '14 فيبروري 2010 15:25'],
+ ['LLLL', 'آچر، 14 فيبروري 2010 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 فيبروري 2010'],
+ ['lll', '14 فيبروري 2010 15:25'],
+ ['llll', 'آچر، 14 فيبروري 2010 15:25']
+ ],
+ b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ i;
+ for (i = 0; i < a.length; i++) {
+ assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ }
+});
+
+test('format ordinal', function (assert) {
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+});
+
+test('format month', function (assert) {
+ for (var i = 0; i < months.length; i++) {
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), months[i] + ' ' + months[i], months[i] + ' ' + months[i]);
+ }
+});
+
+test('format week', function (assert) {
+ for (var i = 0; i < days.length; i++) {
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), days[i] + ' ' + days[i] + ' ' + days[i], days[i] + ' ' + days[i] + ' ' + days[i]);
+ }
+});
+
+test('from', function (assert) {
+ var start = moment([2007, 1, 28]);
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'چند سيڪنڊ', '44 seconds = چند سيڪنڊ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'هڪ منٽ', '45 seconds = هڪ منٽ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'هڪ منٽ', '89 seconds = هڪ منٽ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 منٽ', '90 seconds = 2 منٽ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 منٽ', '44 minutes = 44 منٽ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'هڪ ڪلاڪ', '45 minutes = هڪ ڪلاڪ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'هڪ ڪلاڪ', '89 minutes = هڪ ڪلاڪ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 ڪلاڪ', '90 minutes = 2 ڪلاڪ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 ڪلاڪ', '5 hours = 5 ڪلاڪ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 ڪلاڪ', '21 hours = 21 ڪلاڪ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'هڪ ڏينهن', '22 hours = هڪ ڏينهن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'هڪ ڏينهن', '35 hours = هڪ ڏينهن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 ڏينهن', '36 hours = 2 ڏينهن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'هڪ ڏينهن', '1 day = هڪ ڏينهن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 ڏينهن', '5 days = 5 ڏينهن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 ڏينهن', '25 days = 25 ڏينهن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'هڪ مهينو', '26 days = هڪ مهينو');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'هڪ مهينو', '30 days = هڪ مهينو');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'هڪ مهينو', '43 days = هڪ مهينو');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 مهينا', '46 days = 2 مهينا');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 مهينا', '75 days = 2 مهينا');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 مهينا', '76 days = 3 مهينا');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'هڪ مهينو', '1 month = هڪ مهينو');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 مهينا', '5 months = 5 مهينا');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'هڪ سال', '345 days = هڪ سال');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 سال', '548 days = 2 سال');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'هڪ سال', '1 year = هڪ سال');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 سال', '5 years = 5 سال');
+});
+
+test('suffix', function (assert) {
+ assert.equal(moment(30000).from(0), 'چند سيڪنڊ پوء', 'prefix');
+ assert.equal(moment(0).from(30000), 'چند سيڪنڊ اڳ', 'suffix');
+});
+
+test('now from now', function (assert) {
+ assert.equal(moment().fromNow(), 'چند سيڪنڊ اڳ', 'now from now should display as in the past');
+});
+
+test('fromNow', function (assert) {
+ assert.equal(moment().add({s: 30}).fromNow(), 'چند سيڪنڊ پوء', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), '5 ڏينهن پوء', 'in 5 days');
+});
+
+test('calendar day', function (assert) {
+ var a = moment().hours(12).minutes(0).seconds(0);
+
+ assert.equal(moment(a).calendar(), 'اڄ 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'اڄ 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'اڄ 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'سڀاڻي 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'اڄ 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'ڪالهه 12:00', 'yesterday at the same time');
+});
+
+test('calendar next week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().add({d: i});
+ assert.equal(m.calendar(), m.format('dddd [اڳين هفتي تي] LT'), 'Today + ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('dddd [اڳين هفتي تي] LT'), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('dddd [اڳين هفتي تي] LT'), 'Today + ' + i + ' days end of day');
+ }
+});
+
+test('calendar last week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().subtract({d: i});
+ assert.equal(m.calendar(), m.format('[گزريل هفتي] dddd [تي] LT'), 'Today - ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('[گزريل هفتي] dddd [تي] LT'), 'Today - ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('[گزريل هفتي] dddd [تي] LT'), 'Today - ' + i + ' days end of day');
+ }
+});
+
+test('calendar all else', function (assert) {
+ var weeksAgo = moment().subtract({w: 1}),
+ weeksFromNow = moment().add({w: 1});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+
+ weeksAgo = moment().subtract({w: 2});
+ weeksFromNow = moment().add({w: 2});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+});
+
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+
+
+function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ teardownDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+}
+
+localeModule('sq');
+
+test('parse', function (assert) {
+ var i,
+ tests = 'Janar Jan_Shkurt Shk_Mars Mar_Prill Pri_Maj Maj_Qershor Qer_Korrik Kor_Gusht Gus_Shtator Sht_Tetor Tet_Nëntor Nën_Dhjetor Dhj'.split('_');
+
+ function equalTest(input, mmm, i) {
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+ }
+
+ for (i = 0; i < 12; i++) {
+ tests[i] = tests[i].split(' ');
+ equalTest(tests[i][0], 'MMM', i);
+ equalTest(tests[i][1], 'MMM', i);
+ equalTest(tests[i][0], 'MMMM', i);
+ equalTest(tests[i][1], 'MMMM', i);
+ equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+ }
+});
+
+test('format', function (assert) {
+ var a = [
+ ['dddd, MMMM Do YYYY, HH:mm:ss', 'E Diel, Shkurt 14. 2010, 15:25:50'],
+ ['ddd, HH', 'Die, 15'],
+ ['M Mo MM MMMM MMM', '2 2. 02 Shkurt Shk'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14. 14'],
+ ['d do dddd ddd dd', '0 0. E Diel Die D'],
+ ['DDD DDDo DDDD', '45 45. 045'],
+ ['w wo ww', '6 6. 06'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'MD MD'],
+ ['[the] DDDo [day of the year]', 'the 45. day of the year'],
+ ['LTS', '15:25:50'],
+ ['L', '14/02/2010'],
+ ['LL', '14 Shkurt 2010'],
+ ['LLL', '14 Shkurt 2010 15:25'],
+ ['LLLL', 'E Diel, 14 Shkurt 2010 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 Shk 2010'],
+ ['lll', '14 Shk 2010 15:25'],
+ ['llll', 'Die, 14 Shk 2010 15:25']
+ ],
+ b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ i;
+
+ for (i = 0; i < a.length; i++) {
+ assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ }
+});
+
+test('meridiem', function (assert) {
+ assert.equal(moment([2011, 2, 23, 0, 0]).format('A'), 'PD', 'before dawn');
+ assert.equal(moment([2011, 2, 23, 12, 0]).format('A'), 'MD', 'noon');
+});
+
+test('format ordinal', function (assert) {
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+});
+
+test('format month', function (assert) {
+ var i,
+ expected = 'Janar Jan_Shkurt Shk_Mars Mar_Prill Pri_Maj Maj_Qershor Qer_Korrik Kor_Gusht Gus_Shtator Sht_Tetor Tet_Nëntor Nën_Dhjetor Dhj'.split('_');
+
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+ }
+});
+
+test('format week', function (assert) {
+ var i,
+ expected = 'E Diel Die D_E Hënë Hën H_E Martë Mar Ma_E Mërkurë Mër Më_E Enjte Enj E_E Premte Pre P_E Shtunë Sht Sh'.split('_');
+
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
+ }
+});
+
+test('from', function (assert) {
+ var start = moment([2007, 1, 28]);
+
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'disa sekonda', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'një minutë', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'një minutë', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minuta', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuta', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'një orë', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'një orë', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 orë', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 orë', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 orë', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'një ditë', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'një ditë', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 ditë', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'një ditë', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 ditë', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 ditë', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'një muaj', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'një muaj', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'një muaj', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 muaj', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 muaj', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 muaj', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'një muaj', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 muaj', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'një vit', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 vite', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'një vit', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 vite', '5 years = 5 years');
+});
+
+test('suffix', function (assert) {
+ assert.equal(moment(30000).from(0), 'në disa sekonda', 'prefix');
+ assert.equal(moment(0).from(30000), 'disa sekonda më parë', 'suffix');
+});
+
+test('now from now', function (assert) {
+ assert.equal(moment().fromNow(), 'disa sekonda më parë', 'now from now should display as in the past');
+});
+
+test('fromNow', function (assert) {
+ assert.equal(moment().add({s: 30}).fromNow(), 'në disa sekonda', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'në 5 ditë', 'in 5 days');
+});
+
+test('calendar day', function (assert) {
+ var a = moment().hours(12).minutes(0).seconds(0);
+
+ assert.equal(moment(a).calendar(), 'Sot në 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Sot në 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Sot në 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Nesër në 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Sot në 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Dje në 12:00', 'yesterday at the same time');
+});
+
+test('calendar next week', function (assert) {
+ var i, m;
+
+ for (i = 2; i < 7; i++) {
+ m = moment().add({d: i});
+ assert.equal(m.calendar(), m.format('dddd [në] LT'), 'Today + ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('dddd [në] LT'), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('dddd [në] LT'), 'Today + ' + i + ' days end of day');
+ }
+});
+
+test('calendar last week', function (assert) {
+ var i, m;
+
+ for (i = 2; i < 7; i++) {
+ m = moment().subtract({d: i});
+ assert.equal(m.calendar(), m.format('dddd [e kaluar në] LT'), 'Today - ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('dddd [e kaluar në] LT'), 'Today - ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('dddd [e kaluar në] LT'), 'Today - ' + i + ' days end of day');
+ }
+});
+
+test('calendar all else', function (assert) {
+ var weeksAgo = moment().subtract({w: 1}),
+ weeksFromNow = moment().add({w: 1});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+
+ weeksAgo = moment().subtract({w: 2});
+ weeksFromNow = moment().add({w: 2});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+});
+
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+
+
+function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ teardownDeprecationHandler(test, moment, 'locale');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+}
+
+localeModule('sr-cyrl');
+
+test('parse', function (assert) {
+ var tests = 'јануар јан._фебруар феб._март мар._април апр._мај мај_јун јун_јул јул_август авг._септембар сеп._октобар окт._новембар нов._децембар дец.'.split('_'),
+ i;
+ function equalTest(input, mmm, i) {
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+ }
+ for (i = 0; i < 12; i++) {
+ tests[i] = tests[i].split(' ');
+ equalTest(tests[i][0], 'MMM', i);
+ equalTest(tests[i][1], 'MMM', i);
+ equalTest(tests[i][0], 'MMMM', i);
+ equalTest(tests[i][1], 'MMMM', i);
+ equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+ }
+});
+
+test('format', function (assert) {
+ var a = [
+ ['dddd, Do MMMM YYYY, h:mm:ss a', 'недеља, 14. фебруар 2010, 3:25:50 pm'],
+ ['ddd, hA', 'нед., 3PM'],
+ ['M Mo MM MMMM MMM', '2 2. 02 фебруар феб.'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14. 14'],
+ ['d do dddd ddd dd', '0 0. недеља нед. не'],
+ ['DDD DDDo DDDD', '45 45. 045'],
+ ['w wo ww', '7 7. 07'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'pm PM'],
+ ['[the] DDDo [day of the year]', 'the 45. day of the year'],
+ ['LTS', '15:25:50'],
+ ['L', '14.02.2010'],
+ ['LL', '14. фебруар 2010'],
+ ['LLL', '14. фебруар 2010 15:25'],
+ ['LLLL', 'недеља, 14. фебруар 2010 15:25'],
+ ['l', '14.2.2010'],
+ ['ll', '14. феб. 2010'],
+ ['lll', '14. феб. 2010 15:25'],
+ ['llll', 'нед., 14. феб. 2010 15:25']
+ ],
+ b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ i;
+ for (i = 0; i < a.length; i++) {
+ assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ }
+});
+
+test('format ordinal', function (assert) {
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+});
+
+test('format month', function (assert) {
+ var expected = 'јануар јан._фебруар феб._март мар._април апр._мај мај_јун јун_јул јул_август авг._септембар сеп._октобар окт._новембар нов._децембар дец.'.split('_'),
+ i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+ }
+});
+
+test('format week', function (assert) {
+ var expected = 'недеља нед. не_понедељак пон. по_уторак уто. ут_среда сре. ср_четвртак чет. че_петак пет. пе_субота суб. су'.split('_'),
+ i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
+ }
+});
+
+test('from', function (assert) {
+ var start = moment([2007, 1, 28]);
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'неколико секунди', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'један минут', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'један минут', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 минуте', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 минута', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'један сат', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'један сат', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 сата', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 сати', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 сати', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'дан', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'дан', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 дана', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'дан', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 дана', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 дана', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'месец', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'месец', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'месец', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 месеца', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 месеца', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 месеца', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'месец', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 месеци', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'годину', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 године', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'годину', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 година', '5 years = 5 years');
+});
+
+test('suffix', function (assert) {
+ assert.equal(moment(30000).from(0), 'за неколико секунди', 'prefix');
+ assert.equal(moment(0).from(30000), 'пре неколико секунди', 'prefix');
+});
+
+test('now from now', function (assert) {
+ assert.equal(moment().fromNow(), 'пре неколико секунди', 'now from now should display as in the past');
+});
+
+test('fromNow', function (assert) {
+ assert.equal(moment().add({s: 30}).fromNow(), 'за неколико секунди', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'за 5 дана', 'in 5 days');
+});
+
+test('calendar day', function (assert) {
+ var a = moment().hours(12).minutes(0).seconds(0);
+
+ assert.equal(moment(a).calendar(), 'данас у 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'данас у 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'данас у 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'сутра у 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'данас у 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'јуче у 12:00', 'yesterday at the same time');
+});
+
+test('calendar next week', function (assert) {
+ var i, m;
+
+ function makeFormat(d) {
+ switch (d.day()) {
+ case 0:
+ return '[у] [недељу] [у] LT';
+ case 3:
+ return '[у] [среду] [у] LT';
+ case 6:
+ return '[у] [суботу] [у] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[у] dddd [у] LT';
+ }
+ }
+
+ for (i = 2; i < 7; i++) {
+ m = moment().add({d: i});
+ 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(makeFormat(m)), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days end of day');
+ }
+});
+
+test('calendar last week', function (assert) {
+ var i, m;
+
+ function makeFormat(d) {
+ var lastWeekDay = [
+ '[прошле] [недеље] [у] LT',
+ '[прошлог] [понедељка] [у] LT',
+ '[прошлог] [уторка] [у] LT',
+ '[прошле] [среде] [у] LT',
+ '[прошлог] [четвртка] [у] LT',
+ '[прошлог] [петка] [у] LT',
+ '[прошле] [суботе] [у] LT'
+ ];
+
+ return lastWeekDay[d.day()];
+ }
+
+ for (i = 2; i < 7; i++) {
+ m = moment().subtract({d: i});
+ 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(makeFormat(m)), 'Today - ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days end of day');
+ }
+});
+
+test('calendar all else', function (assert) {
+ var weeksAgo = moment().subtract({w: 1}),
+ weeksFromNow = moment().add({w: 1});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+
+ weeksAgo = moment().subtract({w: 2});
+ weeksFromNow = moment().add({w: 2});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+});
+
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', 'Jan 2 2012 should be week 2');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('sq');
+localeModule('sr');
test('parse', function (assert) {
- var i,
- tests = 'Janar Jan_Shkurt Shk_Mars Mar_Prill Pri_Maj Maj_Qershor Qer_Korrik Kor_Gusht Gus_Shtator Sht_Tetor Tet_Nëntor Nën_Dhjetor Dhj'.split('_');
-
+ var tests = 'januar jan._februar feb._mart mar._april apr._maj maj_jun jun_jul jul_avgust avg._septembar sep._oktobar okt._novembar nov._decembar dec.'.split('_'),
+ i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
-
for (i = 0; i < 12; i++) {
tests[i] = tests[i].split(' ');
equalTest(tests[i][0], 'MMM', i);
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, HH:mm:ss', 'E Diel, Shkurt 14. 2010, 15:25:50'],
- ['ddd, HH', 'Die, 15'],
- ['M Mo MM MMMM MMM', '2 2. 02 Shkurt Shk'],
+ ['dddd, Do MMMM YYYY, h:mm:ss a', 'nedelja, 14. februar 2010, 3:25:50 pm'],
+ ['ddd, hA', 'ned., 3PM'],
+ ['M Mo MM MMMM MMM', '2 2. 02 februar feb.'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14. 14'],
- ['d do dddd ddd dd', '0 0. E Diel Die D'],
+ ['d do dddd ddd dd', '0 0. nedelja ned. ne'],
['DDD DDDo DDDD', '45 45. 045'],
- ['w wo ww', '6 6. 06'],
+ ['w wo ww', '7 7. 07'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'MD MD'],
+ ['a A', 'pm PM'],
['[the] DDDo [day of the year]', 'the 45. day of the year'],
['LTS', '15:25:50'],
- ['L', '14/02/2010'],
- ['LL', '14 Shkurt 2010'],
- ['LLL', '14 Shkurt 2010 15:25'],
- ['LLLL', 'E Diel, 14 Shkurt 2010 15:25'],
- ['l', '14/2/2010'],
- ['ll', '14 Shk 2010'],
- ['lll', '14 Shk 2010 15:25'],
- ['llll', 'Die, 14 Shk 2010 15:25']
+ ['L', '14.02.2010'],
+ ['LL', '14. februar 2010'],
+ ['LLL', '14. februar 2010 15:25'],
+ ['LLLL', 'nedelja, 14. februar 2010 15:25'],
+ ['l', '14.2.2010'],
+ ['ll', '14. feb. 2010'],
+ ['lll', '14. feb. 2010 15:25'],
+ ['llll', 'ned., 14. feb. 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
-
for (i = 0; i < a.length; i++) {
assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
}
});
-test('meridiem', function (assert) {
- assert.equal(moment([2011, 2, 23, 0, 0]).format('A'), 'PD', 'before dawn');
- assert.equal(moment([2011, 2, 23, 12, 0]).format('A'), 'MD', 'noon');
-});
-
test('format ordinal', function (assert) {
assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
});
test('format month', function (assert) {
- var i,
- expected = 'Janar Jan_Shkurt Shk_Mars Mar_Prill Pri_Maj Maj_Qershor Qer_Korrik Kor_Gusht Gus_Shtator Sht_Tetor Tet_Nëntor Nën_Dhjetor Dhj'.split('_');
-
+ var expected = 'januar jan._februar feb._mart mar._april apr._maj maj_jun jun_jul jul_avgust avg._septembar sep._oktobar okt._novembar nov._decembar dec.'.split('_'),
+ i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var i,
- expected = 'E Diel Die D_E Hënë Hën H_E Martë Mar Ma_E Mërkurë Mër Më_E Enjte Enj E_E Premte Pre P_E Shtunë Sht Sh'.split('_');
-
+ var expected = 'nedelja ned. ne_ponedeljak pon. po_utorak uto. ut_sreda sre. sr_četvrtak čet. če_petak pet. pe_subota sub. su'.split('_'),
+ i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
-
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'disa sekonda', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'një minutë', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'një minutë', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minuta', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuta', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'një orë', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'një orë', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 orë', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 orë', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 orë', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'një ditë', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'një ditë', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 ditë', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'një ditë', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 ditë', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 ditë', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'një muaj', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'një muaj', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'një muaj', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 muaj', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 muaj', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 muaj', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'një muaj', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 muaj', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'një vit', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 vite', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'një vit', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 vite', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'nekoliko sekundi', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'jedan minut', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'jedan minut', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minute', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuta', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'jedan sat', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'jedan sat', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 sata', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 sati', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 sati', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'dan', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'dan', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 dana', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'dan', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 dana', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 dana', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'mesec', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'mesec', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'mesec', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 meseca', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 meseca', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 meseca', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'mesec', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 meseci', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'godinu', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 godine', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'godinu', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 godina', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'në disa sekonda', 'prefix');
- assert.equal(moment(0).from(30000), 'disa sekonda më parë', 'suffix');
+ assert.equal(moment(30000).from(0), 'za nekoliko sekundi', 'prefix');
+ assert.equal(moment(0).from(30000), 'pre nekoliko sekundi', 'prefix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'disa sekonda më parë', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'pre nekoliko sekundi', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'në disa sekonda', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'në 5 ditë', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'za nekoliko sekundi', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'za 5 dana', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'Sot në 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'Sot në 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'Sot në 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'Nesër në 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'Sot në 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Dje në 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'danas u 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'danas u 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'danas u 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'sutra u 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'danas u 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'juče u 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
+ function makeFormat(d) {
+ switch (d.day()) {
+ case 0:
+ return '[u] [nedelju] [u] LT';
+ case 3:
+ return '[u] [sredu] [u] LT';
+ case 6:
+ return '[u] [subotu] [u] LT';
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ return '[u] dddd [u] LT';
+ }
+ }
+
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [në] 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('dddd [në] 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('dddd [në] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
+ function makeFormat(d) {
+ var lastWeekDay = [
+ '[prošle] [nedelje] [u] LT',
+ '[prošlog] [ponedeljka] [u] LT',
+ '[prošlog] [utorka] [u] LT',
+ '[prošle] [srede] [u] LT',
+ '[prošlog] [četvrtka] [u] LT',
+ '[prošlog] [petka] [u] LT',
+ '[prošle] [subote] [u] LT'
+ ];
+
+ return lastWeekDay[d.day()];
+ }
+
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [e kaluar në] 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('dddd [e kaluar në] 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('dddd [e kaluar në] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days end of day');
}
});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
+ assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', 'Jan 2 2012 should be week 2');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('sr-cyrl');
+localeModule('ss');
test('parse', function (assert) {
- var tests = 'јануар јан._фебруар феб._март мар._април апр._мај мај_јун јун_јул јул_август авг._септембар сеп._октобар окт._новембар нов._децембар дец.'.split('_'),
- i;
+ var tests = "Bhimbidvwane Bhi_Indlovana Ina_Indlov'lenkhulu Inu_Mabasa Mab_Inkhwekhweti Ink_Inhlaba Inh_Kholwane Kho_Ingci Igc_Inyoni Iny_Imphala Imp_Lweti lwe_Ingongoni Igo".split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
}
});
+test('parse meridiem', function (assert) {
+ var i,
+ b = moment(),
+ meridiemTests = [
+ // h a patterns, expected hours, isValid
+ ['10 ekuseni', 10, true],
+ ['11 emini', 11, true],
+ ['3 entsambama', 15, true],
+ ['4 entsambama', 16, true],
+ ['6 entsambama', 18, true],
+ ['7 ebusuku', 19, true],
+ ['12 ebusuku', 0, true],
+ ['10 am', 10, false],
+ ['10 pm', 10, false]
+ ],
+ parsed;
+
+ // test that a formatted moment including meridiem string can be parsed back to the same moment
+ assert.ok(b.isSame(moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'ss', true), 'seconds'), b.format('h:mm:ss a') + ' should be equal to ' + moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'ss', true).format('h:mm:ss a'));
+
+ // test that a formatted moment having a meridiem string can be parsed with strict flag
+ assert.ok(moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'ss', true).isValid(), b.format('h:mm:ss a') + ' should be parsed as valid');
+
+ for (i = 0; i < meridiemTests.length; i++) {
+ parsed = moment(meridiemTests[i][0], 'h a', 'ss', true);
+ assert.equal(parsed.isValid(), meridiemTests[i][2], 'validity for ' + meridiemTests[i][0]);
+ if (parsed.isValid()) {
+ assert.equal(parsed.hours(), meridiemTests[i][1], 'hours for ' + meridiemTests[i][0]);
+ }
+ }
+});
+
test('format', function (assert) {
var a = [
- ['dddd, Do MMMM YYYY, h:mm:ss a', 'недеља, 14. фебруар 2010, 3:25:50 pm'],
- ['ddd, hA', 'нед., 3PM'],
- ['M Mo MM MMMM MMM', '2 2. 02 фебруар феб.'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'Lisontfo, Indlovana 14 2010, 3:25:50 entsambama'],
+ ['ddd, h A', 'Lis, 3 entsambama'],
+ ['M Mo MM MMMM MMM', '2 2 02 Indlovana Ina'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14. 14'],
- ['d do dddd ddd dd', '0 0. недеља нед. не'],
- ['DDD DDDo DDDD', '45 45. 045'],
- ['w wo ww', '7 7. 07'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 Lisontfo Lis Li'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '6 6 06'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45. day of the year'],
- ['LTS', '15:25:50'],
- ['L', '14.02.2010'],
- ['LL', '14. фебруар 2010'],
- ['LLL', '14. фебруар 2010 15:25'],
- ['LLLL', 'недеља, 14. фебруар 2010 15:25'],
- ['l', '14.2.2010'],
- ['ll', '14. феб. 2010'],
- ['lll', '14. феб. 2010 15:25'],
- ['llll', 'нед., 14. феб. 2010 15:25']
+ ['a A', 'entsambama entsambama'],
+ ['[Lilanga] DDDo [lilanga lelinyaka]', 'Lilanga 45 lilanga lelinyaka'],
+ ['LTS', '3:25:50 entsambama'],
+ ['L', '14/02/2010'],
+ ['LL', '14 Indlovana 2010'],
+ ['LLL', '14 Indlovana 2010 3:25 entsambama'],
+ ['LLLL', 'Lisontfo, 14 Indlovana 2010 3:25 entsambama'],
+ ['l', '14/2/2010'],
+ ['ll', '14 Ina 2010'],
+ ['lll', '14 Ina 2010 3:25 entsambama'],
+ ['llll', 'Lis, 14 Ina 2010 3:25 entsambama']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
});
test('format month', function (assert) {
- var expected = 'јануар јан._фебруар феб._март мар._април апр._мај мај_јун јун_јул јул_август авг._септембар сеп._октобар окт._новембар нов._децембар дец.'.split('_'),
- i;
+ var expected = "Bhimbidvwane Bhi_Indlovana Ina_Indlov'lenkhulu Inu_Mabasa Mab_Inkhwekhweti Ink_Inhlaba Inh_Kholwane Kho_Ingci Igc_Inyoni Iny_Imphala Imp_Lweti Lwe_Ingongoni Igo".split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'недеља нед. не_понедељак пон. по_уторак уто. ут_среда сре. ср_четвртак чет. че_петак пет. пе_субота суб. су'.split('_'),
- i;
+ var expected = 'Lisontfo Lis Li_Umsombuluko Umb Us_Lesibili Lsb Lb_Lesitsatfu Les Lt_Lesine Lsi Ls_Lesihlanu Lsh Lh_Umgcibelo Umg Ug'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'неколико секунди', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'један минут', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'један минут', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 минуте', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 минута', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'један сат', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'један сат', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 сата', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 сати', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 сати', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'дан', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'дан', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 дана', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'дан', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 дана', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 дана', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'месец', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'месец', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'месец', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 месеца', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 месеца', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 месеца', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'месец', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 месеци', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'годину', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 године', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'годину', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 година', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'emizuzwana lomcane', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'umzuzu', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'umzuzu', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 emizuzu', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 emizuzu', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'lihora', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'lihora', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 emahora', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 emahora', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 emahora', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'lilanga', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'lilanga', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 emalanga', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'lilanga', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 emalanga', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 emalanga', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'inyanga', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'inyanga', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'inyanga', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 tinyanga', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 tinyanga', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 tinyanga', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'inyanga', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 tinyanga', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'umnyaka', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 iminyaka', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'umnyaka', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 iminyaka', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'за неколико секунди', 'prefix');
- assert.equal(moment(0).from(30000), 'пре неколико секунди', 'prefix');
+ assert.equal(moment(30000).from(0), 'nga emizuzwana lomcane', 'prefix');
+ assert.equal(moment(0).from(30000), 'wenteka nga emizuzwana lomcane', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'пре неколико секунди', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'wenteka nga emizuzwana lomcane', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'за неколико секунди', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'за 5 дана', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'nga emizuzwana lomcane', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'nga 5 emalanga', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'данас у 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'данас у 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'данас у 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'сутра у 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'данас у 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'јуче у 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'Namuhla nga 12:00 emini', 'Today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Namuhla nga 12:25 emini', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Namuhla nga 1:00 emini', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Kusasa nga 12:00 emini', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Namuhla nga 11:00 emini', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Itolo nga 12:00 emini', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
-
- function makeFormat(d) {
- switch (d.day()) {
- case 0:
- return '[у] [недељу] [у] LT';
- case 3:
- return '[у] [среду] [у] LT';
- case 6:
- return '[у] [суботу] [у] LT';
- case 1:
- case 2:
- case 4:
- case 5:
- return '[у] dddd [у] LT';
- }
- }
-
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [nga] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [nga] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [nga] LT'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
- function makeFormat(d) {
- var lastWeekDay = [
- '[прошле] [недеље] [у] LT',
- '[прошлог] [понедељка] [у] LT',
- '[прошлог] [уторка] [у] LT',
- '[прошле] [среде] [у] LT',
- '[прошлог] [четвртка] [у] LT',
- '[прошлог] [петка] [у] LT',
- '[прошле] [суботе] [у] LT'
- ];
-
- return lastWeekDay[d.day()];
- }
-
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [leliphelile] [nga] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [leliphelile] [nga] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [leliphelile] [nga] LT'), 'Today - ' + i + ' days end of day');
}
});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 4 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('sr');
+localeModule('sv');
test('parse', function (assert) {
- var tests = 'januar jan._februar feb._mart mar._april apr._maj maj_jun jun_jul jul_avgust avg._septembar sep._oktobar okt._novembar nov._decembar dec.'.split('_'),
- i;
+ var tests = 'januari jan_februari feb_mars mar_april apr_maj maj_juni jun_juli jul_augusti aug_september sep_oktober okt_november nov_december dec'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, Do MMMM YYYY, h:mm:ss a', 'nedelja, 14. februar 2010, 3:25:50 pm'],
- ['ddd, hA', 'ned., 3PM'],
- ['M Mo MM MMMM MMM', '2 2. 02 februar feb.'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'söndag, februari 14e 2010, 3:25:50 pm'],
+ ['ddd, hA', 'sön, 3PM'],
+ ['M Mo MM MMMM MMM', '2 2a 02 februari feb'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14. 14'],
- ['d do dddd ddd dd', '0 0. nedelja ned. ne'],
- ['DDD DDDo DDDD', '45 45. 045'],
- ['w wo ww', '7 7. 07'],
+ ['D Do DD', '14 14e 14'],
+ ['d do dddd ddd dd', '0 0e söndag sön sö'],
+ ['DDD DDDo DDDD', '45 45e 045'],
+ ['w wo ww', '6 6e 06'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45. day of the year'],
+ ['[the] DDDo [day of the year]', 'the 45e day of the year'],
['LTS', '15:25:50'],
- ['L', '14.02.2010'],
- ['LL', '14. februar 2010'],
- ['LLL', '14. februar 2010 15:25'],
- ['LLLL', 'nedelja, 14. februar 2010 15:25'],
- ['l', '14.2.2010'],
- ['ll', '14. feb. 2010'],
- ['lll', '14. feb. 2010 15:25'],
- ['llll', 'ned., 14. feb. 2010 15:25']
+ ['L', '2010-02-14'],
+ ['LL', '14 februari 2010'],
+ ['LLL', '14 februari 2010 kl. 15:25'],
+ ['LLLL', 'söndag 14 februari 2010 kl. 15:25'],
+ ['l', '2010-2-14'],
+ ['ll', '14 feb 2010'],
+ ['lll', '14 feb 2010 15:25'],
+ ['llll', 'sön 14 feb 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1a', '1a');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2a', '2a');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21a', '21a');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22a', '22a');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31a', '31a');
});
test('format month', function (assert) {
- var expected = 'januar jan._februar feb._mart mar._april apr._maj maj_jun jun_jul jul_avgust avg._septembar sep._oktobar okt._novembar nov._decembar dec.'.split('_'),
- i;
+ var expected = 'januari jan_februari feb_mars mar_april apr_maj maj_juni jun_juli jul_augusti aug_september sep_oktober okt_november nov_december dec'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'nedelja ned. ne_ponedeljak pon. po_utorak uto. ut_sreda sre. sr_četvrtak čet. če_petak pet. pe_subota sub. su'.split('_'),
- i;
+ var expected = 'söndag sön sö_måndag mån må_tisdag tis ti_onsdag ons on_torsdag tor to_fredag fre fr_lördag lör lö'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'nekoliko sekundi', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'jedan minut', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'jedan minut', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minute', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuta', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'jedan sat', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'jedan sat', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 sata', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 sati', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 sati', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'dan', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'dan', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 dana', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'dan', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 dana', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 dana', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'mesec', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'mesec', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'mesec', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 meseca', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 meseca', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 meseca', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'mesec', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 meseci', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'godinu', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 godine', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'godinu', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 godina', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'några sekunder', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'en minut', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'en minut', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minuter', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuter', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'en timme', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'en timme', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 timmar', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 timmar', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 timmar', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'en dag', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'en dag', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 dagar', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'en dag', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 dagar', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 dagar', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'en månad', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'en månad', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'en månad', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 månader', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 månader', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 månader', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'en månad', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 månader', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ett år', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 år', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ett år', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 år', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'za nekoliko sekundi', 'prefix');
- assert.equal(moment(0).from(30000), 'pre nekoliko sekundi', 'prefix');
+ assert.equal(moment(30000).from(0), 'om några sekunder', 'prefix');
+ assert.equal(moment(0).from(30000), 'för några sekunder sedan', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'pre nekoliko sekundi', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'för några sekunder sedan', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'za nekoliko sekundi', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'za 5 dana', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'om några sekunder', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'om 5 dagar', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'danas u 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'danas u 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'danas u 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'sutra u 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'danas u 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'juče u 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'Idag 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Idag 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Idag 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Imorgon 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Idag 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Igår 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
-
- function makeFormat(d) {
- switch (d.day()) {
- case 0:
- return '[u] [nedelju] [u] LT';
- case 3:
- return '[u] [sredu] [u] LT';
- case 6:
- return '[u] [subotu] [u] LT';
- case 1:
- case 2:
- case 4:
- case 5:
- return '[u] dddd [u] LT';
- }
- }
-
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[På] dddd LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[På] dddd LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[På] dddd LT'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
-
- function makeFormat(d) {
- var lastWeekDay = [
- '[prošle] [nedelje] [u] LT',
- '[prošlog] [ponedeljka] [u] LT',
- '[prošlog] [utorka] [u] LT',
- '[prošle] [srede] [u] LT',
- '[prošlog] [četvrtka] [u] LT',
- '[prošlog] [petka] [u] LT',
- '[prošle] [subote] [u] LT'
- ];
-
- return lastWeekDay[d.day()];
- }
-
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[I] dddd[s] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[I] dddd[s] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[I] dddd[s] LT'), 'Today - ' + i + ' days end of day');
}
});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52a', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1a', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1a', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2a', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2a', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('ss');
+localeModule('sw');
test('parse', function (assert) {
- var tests = "Bhimbidvwane Bhi_Indlovana Ina_Indlov'lenkhulu Inu_Mabasa Mab_Inkhwekhweti Ink_Inhlaba Inh_Kholwane Kho_Ingci Igc_Inyoni Iny_Imphala Imp_Lweti lwe_Ingongoni Igo".split('_'), i;
+ var tests = 'Januari Jan_Februari Feb_Machi Mac_Aprili Apr_Mei Mei_Juni Jun_Julai Jul_Agosti Ago_Septemba Sep_Oktoba Okt_Novemba Nov_Desemba Des'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
}
});
-test('parse meridiem', function (assert) {
- var i,
- b = moment(),
- meridiemTests = [
- // h a patterns, expected hours, isValid
- ['10 ekuseni', 10, true],
- ['11 emini', 11, true],
- ['3 entsambama', 15, true],
- ['4 entsambama', 16, true],
- ['6 entsambama', 18, true],
- ['7 ebusuku', 19, true],
- ['12 ebusuku', 0, true],
- ['10 am', 10, false],
- ['10 pm', 10, false]
- ],
- parsed;
-
- // test that a formatted moment including meridiem string can be parsed back to the same moment
- assert.ok(b.isSame(moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'ss', true), 'seconds'), b.format('h:mm:ss a') + ' should be equal to ' + moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'ss', true).format('h:mm:ss a'));
-
- // test that a formatted moment having a meridiem string can be parsed with strict flag
- assert.ok(moment(b.format('h:mm:ss a'), 'h:mm:ss a', 'ss', true).isValid(), b.format('h:mm:ss a') + ' should be parsed as valid');
-
- for (i = 0; i < meridiemTests.length; i++) {
- parsed = moment(meridiemTests[i][0], 'h a', 'ss', true);
- assert.equal(parsed.isValid(), meridiemTests[i][2], 'validity for ' + meridiemTests[i][0]);
- if (parsed.isValid()) {
- assert.equal(parsed.hours(), meridiemTests[i][1], 'hours for ' + meridiemTests[i][0]);
- }
- }
-});
-
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'Lisontfo, Indlovana 14 2010, 3:25:50 entsambama'],
- ['ddd, h A', 'Lis, 3 entsambama'],
- ['M Mo MM MMMM MMM', '2 2 02 Indlovana Ina'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'Jumapili, Februari 14 2010, 3:25:50 pm'],
+ ['ddd, hA', 'Jpl, 3PM'],
+ ['M Mo MM MMMM MMM', '2 2 02 Februari Feb'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 Lisontfo Lis Li'],
+ ['d do dddd ddd dd', '0 0 Jumapili Jpl J2'],
['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '6 6 06'],
+ ['w wo ww', '7 7 07'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'entsambama entsambama'],
- ['[Lilanga] DDDo [lilanga lelinyaka]', 'Lilanga 45 lilanga lelinyaka'],
- ['LTS', '3:25:50 entsambama'],
- ['L', '14/02/2010'],
- ['LL', '14 Indlovana 2010'],
- ['LLL', '14 Indlovana 2010 3:25 entsambama'],
- ['LLLL', 'Lisontfo, 14 Indlovana 2010 3:25 entsambama'],
- ['l', '14/2/2010'],
- ['ll', '14 Ina 2010'],
- ['lll', '14 Ina 2010 3:25 entsambama'],
- ['llll', 'Lis, 14 Ina 2010 3:25 entsambama']
+ ['a A', 'pm PM'],
+ ['[siku] DDDo [ya mwaka]', 'siku 45 ya mwaka'],
+ ['LTS', '15:25:50'],
+ ['L', '14.02.2010'],
+ ['LL', '14 Februari 2010'],
+ ['LLL', '14 Februari 2010 15:25'],
+ ['LLLL', 'Jumapili, 14 Februari 2010 15:25'],
+ ['l', '14.2.2010'],
+ ['ll', '14 Feb 2010'],
+ ['lll', '14 Feb 2010 15:25'],
+ ['llll', 'Jpl, 14 Feb 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format month', function (assert) {
- var expected = "Bhimbidvwane Bhi_Indlovana Ina_Indlov'lenkhulu Inu_Mabasa Mab_Inkhwekhweti Ink_Inhlaba Inh_Kholwane Kho_Ingci Igc_Inyoni Iny_Imphala Imp_Lweti Lwe_Ingongoni Igo".split('_'), i;
+ var expected = 'Januari Jan_Februari Feb_Machi Mac_Aprili Apr_Mei Mei_Juni Jun_Julai Jul_Agosti Ago_Septemba Sep_Oktoba Okt_Novemba Nov_Desemba Des'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'Lisontfo Lis Li_Umsombuluko Umb Us_Lesibili Lsb Lb_Lesitsatfu Les Lt_Lesine Lsi Ls_Lesihlanu Lsh Lh_Umgcibelo Umg Ug'.split('_'), i;
+ var expected = 'Jumapili Jpl J2_Jumatatu Jtat J3_Jumanne Jnne J4_Jumatano Jtan J5_Alhamisi Alh Al_Ijumaa Ijm Ij_Jumamosi Jmos J1'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'emizuzwana lomcane', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'umzuzu', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'umzuzu', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 emizuzu', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 emizuzu', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'lihora', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'lihora', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 emahora', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 emahora', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 emahora', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'lilanga', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'lilanga', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 emalanga', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'lilanga', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 emalanga', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 emalanga', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'inyanga', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'inyanga', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'inyanga', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 tinyanga', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 tinyanga', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 tinyanga', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'inyanga', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 tinyanga', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'umnyaka', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 iminyaka', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'umnyaka', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 iminyaka', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'hivi punde', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'dakika moja', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'dakika moja', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'dakika 2', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), 'dakika 44', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'saa limoja', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'saa limoja', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'masaa 2', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), 'masaa 5', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), 'masaa 21', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'siku moja', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'siku moja', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'masiku 2', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'siku moja', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), 'masiku 5', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), 'masiku 25', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'mwezi mmoja', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'mwezi mmoja', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'mwezi mmoja', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'miezi 2', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'miezi 2', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), 'miezi 3', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'mwezi mmoja', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), 'miezi 5', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'mwaka mmoja', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'miaka 2', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'mwaka mmoja', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), 'miaka 5', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'nga emizuzwana lomcane', 'prefix');
- assert.equal(moment(0).from(30000), 'wenteka nga emizuzwana lomcane', 'suffix');
+ assert.equal(moment(30000).from(0), 'hivi punde baadaye', 'prefix');
+ assert.equal(moment(0).from(30000), 'tokea hivi punde', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'wenteka nga emizuzwana lomcane', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'tokea hivi punde', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'nga emizuzwana lomcane', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'nga 5 emalanga', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'hivi punde baadaye', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'masiku 5 baadaye', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
-
- assert.equal(moment(a).calendar(), 'Namuhla nga 12:00 emini', 'Today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'Namuhla nga 12:25 emini', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'Namuhla nga 1:00 emini', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'Kusasa nga 12:00 emini', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'Namuhla nga 11:00 emini', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Itolo nga 12:00 emini', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'leo saa 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'leo saa 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'leo saa 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'kesho saa 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'leo saa 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'jana 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [nga] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[wiki ijayo] dddd [saat] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [nga] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[wiki ijayo] dddd [saat] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [nga] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[wiki ijayo] dddd [saat] LT'), 'Today + ' + i + ' days end of day');
}
});
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [leliphelile] [nga] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[wiki iliyopita] dddd [saat] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [leliphelile] [nga] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[wiki iliyopita] dddd [saat] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [leliphelile] [nga] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[wiki iliyopita] dddd [saat] LT'), 'Today - ' + i + ' days end of day');
}
});
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
weeksAgo = moment().subtract({w: 2});
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
-test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 4 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
+test('weeks year starting sunday format', function (assert) {
+ assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1', 'Dec 26 2011 should be week 1');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2', 'Jan 2 2012 should be week 2');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', 'Jan 9 2012 should be week 3');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('sv');
+localeModule('ta');
test('parse', function (assert) {
- var tests = 'januari jan_februari feb_mars mar_april apr_maj maj_juni jun_juli jul_augusti aug_september sep_oktober okt_november nov_december dec'.split('_'), i;
+ var tests = 'ஜனவரி ஜனவரி_பிப்ரவரி பிப்ரவரி_மார்ச் மார்ச்_ஏப்ரல் ஏப்ரல்_மே மே_ஜூன் ஜூன்_ஜூலை ஜூலை_ஆகஸ்ட் ஆகஸ்ட்_செப்டெம்பர் செப்டெம்பர்_அக்டோபர் அக்டோபர்_நவம்பர் நவம்பர்_டிசம்பர் டிசம்பர்'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'söndag, februari 14e 2010, 3:25:50 pm'],
- ['ddd, hA', 'sön, 3PM'],
- ['M Mo MM MMMM MMM', '2 2a 02 februari feb'],
- ['YYYY YY', '2010 10'],
- ['D Do DD', '14 14e 14'],
- ['d do dddd ddd dd', '0 0e söndag sön sö'],
- ['DDD DDDo DDDD', '45 45e 045'],
- ['w wo ww', '6 6e 06'],
- ['h hh', '3 03'],
- ['H HH', '15 15'],
- ['m mm', '25 25'],
- ['s ss', '50 50'],
- ['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45e day of the year'],
- ['LTS', '15:25:50'],
- ['L', '2010-02-14'],
- ['LL', '14 februari 2010'],
- ['LLL', '14 februari 2010 kl. 15:25'],
- ['LLLL', 'söndag 14 februari 2010 kl. 15:25'],
- ['l', '2010-2-14'],
- ['ll', '14 feb 2010'],
- ['lll', '14 feb 2010 15:25'],
- ['llll', 'sön 14 feb 2010 15:25']
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'ஞாயிற்றுக்கிழமை, பிப்ரவரி ௧௪வது ௨௦௧௦, ௩:௨௫:௫௦ எற்பாடு'],
+ ['ddd, hA', 'ஞாயிறு, ௩ எற்பாடு'],
+ ['M Mo MM MMMM MMM', '௨ ௨வது ௦௨ பிப்ரவரி பிப்ரவரி'],
+ ['YYYY YY', '௨௦௧௦ ௧௦'],
+ ['D Do DD', '௧௪ ௧௪வது ௧௪'],
+ ['d do dddd ddd dd', '௦ ௦வது ஞாயிற்றுக்கிழமை ஞாயிறு ஞா'],
+ ['DDD DDDo DDDD', '௪௫ ௪௫வது ௦௪௫'],
+ ['w wo ww', '௮ ௮வது ௦௮'],
+ ['h hh', '௩ ௦௩'],
+ ['H HH', '௧௫ ௧௫'],
+ ['m mm', '௨௫ ௨௫'],
+ ['s ss', '௫௦ ௫௦'],
+ ['a A', ' எற்பாடு எற்பாடு'],
+ ['[ஆண்டின்] DDDo [நாள்]', 'ஆண்டின் ௪௫வது நாள்'],
+ ['LTS', '௧௫:௨௫:௫௦'],
+ ['L', '௧௪/௦௨/௨௦௧௦'],
+ ['LL', '௧௪ பிப்ரவரி ௨௦௧௦'],
+ ['LLL', '௧௪ பிப்ரவரி ௨௦௧௦, ௧௫:௨௫'],
+ ['LLLL', 'ஞாயிற்றுக்கிழமை, ௧௪ பிப்ரவரி ௨௦௧௦, ௧௫:௨௫'],
+ ['l', '௧௪/௨/௨௦௧௦'],
+ ['ll', '௧௪ பிப்ரவரி ௨௦௧௦'],
+ ['lll', '௧௪ பிப்ரவரி ௨௦௧௦, ௧௫:௨௫'],
+ ['llll', 'ஞாயிறு, ௧௪ பிப்ரவரி ௨௦௧௦, ௧௫:௨௫']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1a', '1a');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2a', '2a');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '௧வது', '௧வது');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '௨வது', '௨வது');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '௩வது', '௩வது');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '௪வது', '௪வது');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '௫வது', '௫வது');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '௬வது', '௬வது');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '௭வது', '௭வது');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '௮வது', '௮வது');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '௯வது', '௯வது');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '௧௦வது', '௧௦வது');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '௧௧வது', '௧௧வது');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '௧௨வது', '௧௨வது');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '௧௩வது', '௧௩வது');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '௧௪வது', '௧௪வது');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '௧௫வது', '௧௫வது');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '௧௬வது', '௧௬வது');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '௧௭வது', '௧௭வது');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '௧௮வது', '௧௮வது');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '௧௯வது', '௧௯வது');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '௨௦வது', '௨௦வது');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21a', '21a');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22a', '22a');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '௨௧வது', '௨௧வது');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '௨௨வது', '௨௨வது');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '௨௩வது', '௨௩வது');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '௨௪வது', '௨௪வது');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '௨௫வது', '௨௫வது');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '௨௬வது', '௨௬வது');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '௨௭வது', '௨௭வது');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '௨௮வது', '௨௮வது');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '௨௯வது', '௨௯வது');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '௩௦வது', '௩௦வது');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31a', '31a');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '௩௧வது', '௩௧வது');
});
test('format month', function (assert) {
- var expected = 'januari jan_februari feb_mars mar_april apr_maj maj_juni jun_juli jul_augusti aug_september sep_oktober okt_november nov_december dec'.split('_'), i;
+ var expected = 'ஜனவரி ஜனவரி_பிப்ரவரி பிப்ரவரி_மார்ச் மார்ச்_ஏப்ரல் ஏப்ரல்_மே மே_ஜூன் ஜூன்_ஜூலை ஜூலை_ஆகஸ்ட் ஆகஸ்ட்_செப்டெம்பர் செப்டெம்பர்_அக்டோபர் அக்டோபர்_நவம்பர் நவம்பர்_டிசம்பர் டிசம்பர்'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'söndag sön sö_måndag mån må_tisdag tis ti_onsdag ons on_torsdag tor to_fredag fre fr_lördag lör lö'.split('_'), i;
+ var expected = 'ஞாயிற்றுக்கிழமை ஞாயிறு ஞா_திங்கட்கிழமை திங்கள் தி_செவ்வாய்கிழமை செவ்வாய் செ_புதன்கிழமை புதன் பு_வியாழக்கிழமை வியாழன் வி_வெள்ளிக்கிழமை வெள்ளி வெ_சனிக்கிழமை சனி ச'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'några sekunder', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'en minut', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'en minut', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minuter', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuter', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'en timme', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'en timme', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 timmar', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 timmar', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 timmar', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'en dag', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'en dag', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 dagar', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'en dag', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 dagar', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 dagar', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'en månad', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'en månad', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'en månad', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 månader', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 månader', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 månader', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'en månad', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 månader', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ett år', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 år', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ett år', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 år', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ஒரு சில விநாடிகள்', '44 விநாடிகள் = ஒரு சில விநாடிகள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'ஒரு நிமிடம்', '45 விநாடிகள் = ஒரு நிமிடம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'ஒரு நிமிடம்', '89 விநாடிகள் = ஒரு நிமிடம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '௨ நிமிடங்கள்', '90 விநாடிகள் = ௨ நிமிடங்கள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '௪௪ நிமிடங்கள்', '44 நிமிடங்கள் = 44 நிமிடங்கள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ஒரு மணி நேரம்', '45 நிமிடங்கள் = ஒரு மணி நேரம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ஒரு மணி நேரம்', '89 நிமிடங்கள் = ஒரு மணி நேரம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '௨ மணி நேரம்', '90 நிமிடங்கள் = ௨ மணி நேரம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '௫ மணி நேரம்', '5 மணி நேரம் = 5 மணி நேரம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '௨௧ மணி நேரம்', '௨௧ மணி நேரம் = ௨௧ மணி நேரம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ஒரு நாள்', '௨௨ மணி நேரம் = ஒரு நாள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ஒரு நாள்', '௩5 மணி நேரம் = ஒரு நாள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '௨ நாட்கள்', '௩6 மணி நேரம் = ௨ days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ஒரு நாள்', '௧ நாள் = ஒரு நாள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '௫ நாட்கள்', '5 நாட்கள் = 5 நாட்கள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '௨௫ நாட்கள்', '௨5 நாட்கள் = ௨5 நாட்கள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ஒரு மாதம்', '௨6 நாட்கள் = ஒரு மாதம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ஒரு மாதம்', '௩0 நாட்கள் = ஒரு மாதம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ஒரு மாதம்', '45 நாட்கள் = ஒரு மாதம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '௨ மாதங்கள்', '46 நாட்கள் = ௨ மாதங்கள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '௨ மாதங்கள்', '75 நாட்கள் = ௨ மாதங்கள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '௩ மாதங்கள்', '76 நாட்கள் = ௩ மாதங்கள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ஒரு மாதம்', '௧ மாதம் = ஒரு மாதம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '௫ மாதங்கள்', '5 மாதங்கள் = 5 மாதங்கள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ஒரு வருடம்', '௩45 நாட்கள் = ஒரு வருடம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '௨ ஆண்டுகள்', '548 நாட்கள் = ௨ ஆண்டுகள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ஒரு வருடம்', '௧ வருடம் = ஒரு வருடம்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '௫ ஆண்டுகள்', '5 ஆண்டுகள் = 5 ஆண்டுகள்');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'om några sekunder', 'prefix');
- assert.equal(moment(0).from(30000), 'för några sekunder sedan', 'suffix');
+ assert.equal(moment(30000).from(0), 'ஒரு சில விநாடிகள் இல்', 'prefix');
+ assert.equal(moment(0).from(30000), 'ஒரு சில விநாடிகள் முன்', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'för några sekunder sedan', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'ஒரு சில விநாடிகள் முன்', 'இப்போது இருந்து கடந்த காலத்தில் காட்ட வேண்டும்');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'om några sekunder', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'om 5 dagar', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'ஒரு சில விநாடிகள் இல்', 'ஒரு சில விநாடிகள் இல்');
+ assert.equal(moment().add({d: 5}).fromNow(), '௫ நாட்கள் இல்', '5 நாட்கள் இல்');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'Idag 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'Idag 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'Idag 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'Imorgon 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'Idag 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Igår 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'இன்று ௧௨:௦௦', 'இன்று 12:00');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'இன்று ௧௨:௨௫', 'இன்று 12:25');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'இன்று ௧௩:௦௦', 'இன்று 13:00');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'நாளை ௧௨:௦௦', 'நாளை 12:00');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'இன்று ௧௧:௦௦', 'இன்று 11:00');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'நேற்று ௧௨:௦௦', 'நேற்று 12:00');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('[På] dddd LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd, LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[På] dddd LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd, LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[På] dddd LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd, LT'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
+
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[I] dddd[s] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[கடந்த வாரம்] dddd, LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[I] dddd[s] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[கடந்த வாரம்] dddd, LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[I] dddd[s] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[கடந்த வாரம்] dddd, LT'), 'Today - ' + i + ' days end of day');
}
});
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
-test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52a', 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1a', 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1a', 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2a', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2a', 'Jan 15 2012 should be week 2');
+test('meridiem', function (assert) {
+ assert.equal(moment([2011, 2, 23, 0, 30]).format('a'), ' யாமம்', '(after) midnight');
+ assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), ' வைகறை', 'before dawn');
+ assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), ' காலை', 'morning');
+ assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), ' எற்பாடு', 'during day');
+ assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), ' எற்பாடு', 'evening');
+ assert.equal(moment([2011, 2, 23, 19, 30]).format('a'), ' மாலை', 'late evening');
+ assert.equal(moment([2011, 2, 23, 23, 30]).format('a'), ' யாமம்', '(before) midnight');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('sw');
+localeModule('te');
test('parse', function (assert) {
- var tests = 'Januari Jan_Februari Feb_Machi Mac_Aprili Apr_Mei Mei_Juni Jun_Julai Jul_Agosti Ago_Septemba Sep_Oktoba Okt_Novemba Nov_Desemba Des'.split('_'), i;
+ var tests = 'జనవరి జన._ఫిబ్రవరి ఫిబ్ర._మార్చి మార్చి_ఏప్రిల్ ఏప్రి._మే మే_జూన్ జూన్_జూలై జూలై_ఆగస్టు ఆగ._సెప్టెంబర్ సెప్._అక్టోబర్ అక్టో._నవంబర్ నవ._డిసెంబర్ డిసె.'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'Jumapili, Februari 14 2010, 3:25:50 pm'],
- ['ddd, hA', 'Jpl, 3PM'],
- ['M Mo MM MMMM MMM', '2 2 02 Februari Feb'],
+ ['dddd, Do తేదీ MMMM YYYY, a h:mm:ss', 'ఆదివారం, 14వ తేదీ ఫిబ్రవరి 2010, మధ్యాహ్నం 3:25:50'],
+ ['ddd, a h గంటలు', 'ఆది, మధ్యాహ్నం 3 గంటలు'],
+ ['M Mo నెల MM MMMM MMM', '2 2వ నెల 02 ఫిబ్రవరి ఫిబ్ర.'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 Jumapili Jpl J2'],
- ['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '7 7 07'],
+ ['D Do DD', '14 14వ 14'],
+ ['d do dddd ddd dd', '0 0వ ఆదివారం ఆది ఆ'],
+ ['DDD DDDo DDDD', '45 45వ 045'],
+ ['w wo ww', '8 8వ 08'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'pm PM'],
- ['[siku] DDDo [ya mwaka]', 'siku 45 ya mwaka'],
- ['LTS', '15:25:50'],
- ['L', '14.02.2010'],
- ['LL', '14 Februari 2010'],
- ['LLL', '14 Februari 2010 15:25'],
- ['LLLL', 'Jumapili, 14 Februari 2010 15:25'],
- ['l', '14.2.2010'],
- ['ll', '14 Feb 2010'],
- ['lll', '14 Feb 2010 15:25'],
- ['llll', 'Jpl, 14 Feb 2010 15:25']
+ ['a A', 'మధ్యాహ్నం మధ్యాహ్నం'],
+ ['LTS', 'మధ్యాహ్నం 3:25:50'],
+ ['L', '14/02/2010'],
+ ['LL', '14 ఫిబ్రవరి 2010'],
+ ['LLL', '14 ఫిబ్రవరి 2010, మధ్యాహ్నం 3:25'],
+ ['LLLL', 'ఆదివారం, 14 ఫిబ్రవరి 2010, మధ్యాహ్నం 3:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 ఫిబ్ర. 2010'],
+ ['lll', '14 ఫిబ్ర. 2010, మధ్యాహ్నం 3:25'],
+ ['llll', 'ఆది, 14 ఫిబ్ర. 2010, మధ్యాహ్నం 3:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1వ', '1వ');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2వ', '2వ');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3వ', '3వ');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4వ', '4వ');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5వ', '5వ');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6వ', '6వ');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7వ', '7వ');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8వ', '8వ');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9వ', '9వ');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10వ', '10వ');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11వ', '11వ');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12వ', '12వ');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13వ', '13వ');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14వ', '14వ');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15వ', '15వ');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16వ', '16వ');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17వ', '17వ');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18వ', '18వ');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19వ', '19వ');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20వ', '20వ');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21వ', '21వ');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22వ', '22వ');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23వ', '23వ');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24వ', '24వ');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25వ', '25వ');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26వ', '26వ');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27వ', '27వ');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28వ', '28వ');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29వ', '29వ');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30వ', '30వ');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31వ', '31వ');
});
test('format month', function (assert) {
- var expected = 'Januari Jan_Februari Feb_Machi Mac_Aprili Apr_Mei Mei_Juni Jun_Julai Jul_Agosti Ago_Septemba Sep_Oktoba Okt_Novemba Nov_Desemba Des'.split('_'), i;
+ var expected = 'జనవరి జన._ఫిబ్రవరి ఫిబ్ర._మార్చి మార్చి_ఏప్రిల్ ఏప్రి._మే మే_జూన్ జూన్_జూలై జూలై_ఆగస్టు ఆగ._సెప్టెంబర్ సెప్._అక్టోబర్ అక్టో._నవంబర్ నవ._డిసెంబర్ డిసె.'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'Jumapili Jpl J2_Jumatatu Jtat J3_Jumanne Jnne J4_Jumatano Jtan J5_Alhamisi Alh Al_Ijumaa Ijm Ij_Jumamosi Jmos J1'.split('_'), i;
+ var expected = 'ఆదివారం ఆది ఆ_సోమవారం సోమ సో_మంగళవారం మంగళ మం_బుధవారం బుధ బు_గురువారం గురు గు_శుక్రవారం శుక్ర శు_శనివారం శని శ'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'hivi punde', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'dakika moja', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'dakika moja', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'dakika 2', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), 'dakika 44', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'saa limoja', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'saa limoja', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'masaa 2', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), 'masaa 5', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), 'masaa 21', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'siku moja', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'siku moja', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'masiku 2', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'siku moja', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), 'masiku 5', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), 'masiku 25', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'mwezi mmoja', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'mwezi mmoja', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'mwezi mmoja', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'miezi 2', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'miezi 2', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), 'miezi 3', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'mwezi mmoja', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), 'miezi 5', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'mwaka mmoja', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'miaka 2', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'mwaka mmoja', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), 'miaka 5', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'కొన్ని క్షణాలు', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'ఒక నిమిషం', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'ఒక నిమిషం', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 నిమిషాలు', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 నిమిషాలు', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ఒక గంట', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ఒక గంట', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 గంటలు', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 గంటలు', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 గంటలు', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ఒక రోజు', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ఒక రోజు', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 రోజులు', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ఒక రోజు', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 రోజులు', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 రోజులు', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ఒక నెల', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ఒక నెల', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ఒక నెల', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 నెలలు', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 నెలలు', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 నెలలు', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ఒక నెల', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 నెలలు', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ఒక సంవత్సరం', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 సంవత్సరాలు', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ఒక సంవత్సరం', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 సంవత్సరాలు', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'hivi punde baadaye', 'prefix');
- assert.equal(moment(0).from(30000), 'tokea hivi punde', 'suffix');
+ assert.equal(moment(30000).from(0), 'కొన్ని క్షణాలు లో', 'prefix');
+ assert.equal(moment(0).from(30000), 'కొన్ని క్షణాలు క్రితం', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'tokea hivi punde', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'కొన్ని క్షణాలు క్రితం', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'hivi punde baadaye', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'masiku 5 baadaye', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'కొన్ని క్షణాలు లో', 'కొన్ని క్షణాలు లో');
+ assert.equal(moment().add({d: 5}).fromNow(), '5 రోజులు లో', '5 రోజులు లో');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'leo saa 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'leo saa 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'leo saa 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'kesho saa 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'leo saa 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'jana 12:00', 'yesterday at the same time');
+
+ assert.equal(moment(a).calendar(), 'నేడు మధ్యాహ్నం 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'నేడు మధ్యాహ్నం 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 3}).calendar(), 'నేడు మధ్యాహ్నం 3:00', 'Now plus 3 hours');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'రేపు మధ్యాహ్నం 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'నేడు మధ్యాహ్నం 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'నిన్న మధ్యాహ్నం 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('[wiki ijayo] dddd [saat] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[wiki ijayo] dddd [saat] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[wiki ijayo] dddd [saat] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days end of day');
}
});
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[wiki iliyopita] dddd [saat] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[గత] dddd[,] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[wiki iliyopita] dddd [saat] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[గత] dddd[,] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[wiki iliyopita] dddd [saat] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[గత] dddd[,] LT'), 'Today - ' + i + ' days end of day');
}
});
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
weeksAgo = moment().subtract({w: 2});
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
-test('weeks year starting sunday format', function (assert) {
- assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1', 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2', 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', 'Jan 9 2012 should be week 3');
+test('meridiem', function (assert) {
+ assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), 'రాత్రి', 'before dawn');
+ assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'ఉదయం', 'morning');
+ assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), 'మధ్యాహ్నం', 'during day');
+ assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'సాయంత్రం', 'evening');
+ assert.equal(moment([2011, 2, 23, 19, 30]).format('a'), 'సాయంత్రం', 'late evening');
+ assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'రాత్రి', 'night');
+
+ assert.equal(moment([2011, 2, 23, 2, 30]).format('A'), 'రాత్రి', 'before dawn');
+ assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'ఉదయం', 'morning');
+ assert.equal(moment([2011, 2, 23, 14, 30]).format('A'), 'మధ్యాహ్నం', ' during day');
+ assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'సాయంత్రం', 'evening');
+ assert.equal(moment([2011, 2, 23, 19, 30]).format('A'), 'సాయంత్రం', 'late evening');
+ assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'రాత్రి', 'night');
+});
+
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1వ', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1వ', 'Jan 7 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2వ', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2వ', 'Jan 14 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3వ', 'Jan 15 2012 should be week 3');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('ta');
+localeModule('tet');
test('parse', function (assert) {
- var tests = 'ஜனவரி ஜனவரி_பிப்ரவரி பிப்ரவரி_மார்ச் மார்ச்_ஏப்ரல் ஏப்ரல்_மே மே_ஜூன் ஜூன்_ஜூலை ஜூலை_ஆகஸ்ட் ஆகஸ்ட்_செப்டெம்பர் செப்டெம்பர்_அக்டோபர் அக்டோபர்_நவம்பர் நவம்பர்_டிசம்பர் டிசம்பர்'.split('_'), i;
+ var tests = 'Janeiru Jan_Fevereiru Fev_Marsu Mar_Abril Abr_Maiu Mai_Juniu Jun_Juliu Jul_Augustu Aug_Setembru Set_Outubru Out_Novembru Nov_Dezembru Dez'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'ஞாயிற்றுக்கிழமை, பிப்ரவரி ௧௪வது ௨௦௧௦, ௩:௨௫:௫௦ எற்பாடு'],
- ['ddd, hA', 'ஞாயிறு, ௩ எற்பாடு'],
- ['M Mo MM MMMM MMM', '௨ ௨வது ௦௨ பிப்ரவரி பிப்ரவரி'],
- ['YYYY YY', '௨௦௧௦ ௧௦'],
- ['D Do DD', '௧௪ ௧௪வது ௧௪'],
- ['d do dddd ddd dd', '௦ ௦வது ஞாயிற்றுக்கிழமை ஞாயிறு ஞா'],
- ['DDD DDDo DDDD', '௪௫ ௪௫வது ௦௪௫'],
- ['w wo ww', '௮ ௮வது ௦௮'],
- ['h hh', '௩ ௦௩'],
- ['H HH', '௧௫ ௧௫'],
- ['m mm', '௨௫ ௨௫'],
- ['s ss', '௫௦ ௫௦'],
- ['a A', ' எற்பாடு எற்பாடு'],
- ['[ஆண்டின்] DDDo [நாள்]', 'ஆண்டின் ௪௫வது நாள்'],
- ['LTS', '௧௫:௨௫:௫௦'],
- ['L', '௧௪/௦௨/௨௦௧௦'],
- ['LL', '௧௪ பிப்ரவரி ௨௦௧௦'],
- ['LLL', '௧௪ பிப்ரவரி ௨௦௧௦, ௧௫:௨௫'],
- ['LLLL', 'ஞாயிற்றுக்கிழமை, ௧௪ பிப்ரவரி ௨௦௧௦, ௧௫:௨௫'],
- ['l', '௧௪/௨/௨௦௧௦'],
- ['ll', '௧௪ பிப்ரவரி ௨௦௧௦'],
- ['lll', '௧௪ பிப்ரவரி ௨௦௧௦, ௧௫:௨௫'],
- ['llll', 'ஞாயிறு, ௧௪ பிப்ரவரி ௨௦௧௦, ௧௫:௨௫']
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'Domingu, Fevereiru 14th 2010, 3:25:50 pm'],
+ ['ddd, hA', 'Dom, 3PM'],
+ ['M Mo MM MMMM MMM', '2 2nd 02 Fevereiru Fev'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14th 14'],
+ ['d do dddd ddd dd', '0 0th Domingu Dom Do'],
+ ['DDD DDDo DDDD', '45 45th 045'],
+ ['w wo ww', '6 6th 06'],
+ ['h hh', '3 03'],
+ ['H HH', '15 15'],
+ ['m mm', '25 25'],
+ ['s ss', '50 50'],
+ ['a A', 'pm PM'],
+ ['[the] DDDo [day of the year]', 'the 45th day of the year'],
+ ['LTS', '15:25:50'],
+ ['L', '14/02/2010'],
+ ['LL', '14 Fevereiru 2010'],
+ ['LLL', '14 Fevereiru 2010 15:25'],
+ ['LLLL', 'Domingu, 14 Fevereiru 2010 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 Fev 2010'],
+ ['lll', '14 Fev 2010 15:25'],
+ ['llll', 'Dom, 14 Fev 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '௧வது', '௧வது');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '௨வது', '௨வது');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '௩வது', '௩வது');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '௪வது', '௪வது');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '௫வது', '௫வது');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '௬வது', '௬வது');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '௭வது', '௭வது');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '௮வது', '௮வது');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '௯வது', '௯வது');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '௧௦வது', '௧௦வது');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1st', '1st');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2nd', '2nd');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3rd', '3rd');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4th', '4th');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5th', '5th');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6th', '6th');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7th', '7th');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8th', '8th');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9th', '9th');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10th', '10th');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '௧௧வது', '௧௧வது');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '௧௨வது', '௧௨வது');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '௧௩வது', '௧௩வது');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '௧௪வது', '௧௪வது');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '௧௫வது', '௧௫வது');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '௧௬வது', '௧௬வது');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '௧௭வது', '௧௭வது');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '௧௮வது', '௧௮வது');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '௧௯வது', '௧௯வது');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '௨௦வது', '௨௦வது');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11th', '11th');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12th', '12th');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13th', '13th');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14th', '14th');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15th', '15th');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16th', '16th');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17th', '17th');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18th', '18th');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19th', '19th');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20th', '20th');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '௨௧வது', '௨௧வது');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '௨௨வது', '௨௨வது');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '௨௩வது', '௨௩வது');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '௨௪வது', '௨௪வது');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '௨௫வது', '௨௫வது');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '௨௬வது', '௨௬வது');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '௨௭வது', '௨௭வது');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '௨௮வது', '௨௮வது');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '௨௯வது', '௨௯வது');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '௩௦வது', '௩௦வது');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21st', '21st');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22nd', '22nd');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23rd', '23rd');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24th', '24th');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25th', '25th');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26th', '26th');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27th', '27th');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28th', '28th');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29th', '29th');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30th', '30th');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '௩௧வது', '௩௧வது');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31st', '31st');
});
test('format month', function (assert) {
- var expected = 'ஜனவரி ஜனவரி_பிப்ரவரி பிப்ரவரி_மார்ச் மார்ச்_ஏப்ரல் ஏப்ரல்_மே மே_ஜூன் ஜூன்_ஜூலை ஜூலை_ஆகஸ்ட் ஆகஸ்ட்_செப்டெம்பர் செப்டெம்பர்_அக்டோபர் அக்டோபர்_நவம்பர் நவம்பர்_டிசம்பர் டிசம்பர்'.split('_'), i;
+ var expected = 'Janeiru Jan_Fevereiru Fev_Marsu Mar_Abril Abr_Maiu Mai_Juniu Jun_Juliu Jul_Augustu Aug_Setembru Set_Outubru Out_Novembru Nov_Dezembru Dez'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'ஞாயிற்றுக்கிழமை ஞாயிறு ஞா_திங்கட்கிழமை திங்கள் தி_செவ்வாய்கிழமை செவ்வாய் செ_புதன்கிழமை புதன் பு_வியாழக்கிழமை வியாழன் வி_வெள்ளிக்கிழமை வெள்ளி வெ_சனிக்கிழமை சனி ச'.split('_'), i;
+ var expected = 'Domingu Dom Do_Segunda Seg Seg_Tersa Ters Te_Kuarta Kua Ku_Kinta Kint Ki_Sexta Sext Sex_Sabadu Sab Sa'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ஒரு சில விநாடிகள்', '44 விநாடிகள் = ஒரு சில விநாடிகள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'ஒரு நிமிடம்', '45 விநாடிகள் = ஒரு நிமிடம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'ஒரு நிமிடம்', '89 விநாடிகள் = ஒரு நிமிடம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '௨ நிமிடங்கள்', '90 விநாடிகள் = ௨ நிமிடங்கள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '௪௪ நிமிடங்கள்', '44 நிமிடங்கள் = 44 நிமிடங்கள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ஒரு மணி நேரம்', '45 நிமிடங்கள் = ஒரு மணி நேரம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ஒரு மணி நேரம்', '89 நிமிடங்கள் = ஒரு மணி நேரம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '௨ மணி நேரம்', '90 நிமிடங்கள் = ௨ மணி நேரம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '௫ மணி நேரம்', '5 மணி நேரம் = 5 மணி நேரம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '௨௧ மணி நேரம்', '௨௧ மணி நேரம் = ௨௧ மணி நேரம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ஒரு நாள்', '௨௨ மணி நேரம் = ஒரு நாள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ஒரு நாள்', '௩5 மணி நேரம் = ஒரு நாள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '௨ நாட்கள்', '௩6 மணி நேரம் = ௨ days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ஒரு நாள்', '௧ நாள் = ஒரு நாள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '௫ நாட்கள்', '5 நாட்கள் = 5 நாட்கள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '௨௫ நாட்கள்', '௨5 நாட்கள் = ௨5 நாட்கள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ஒரு மாதம்', '௨6 நாட்கள் = ஒரு மாதம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ஒரு மாதம்', '௩0 நாட்கள் = ஒரு மாதம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ஒரு மாதம்', '45 நாட்கள் = ஒரு மாதம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '௨ மாதங்கள்', '46 நாட்கள் = ௨ மாதங்கள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '௨ மாதங்கள்', '75 நாட்கள் = ௨ மாதங்கள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '௩ மாதங்கள்', '76 நாட்கள் = ௩ மாதங்கள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ஒரு மாதம்', '௧ மாதம் = ஒரு மாதம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '௫ மாதங்கள்', '5 மாதங்கள் = 5 மாதங்கள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ஒரு வருடம்', '௩45 நாட்கள் = ஒரு வருடம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '௨ ஆண்டுகள்', '548 நாட்கள் = ௨ ஆண்டுகள்');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ஒரு வருடம்', '௧ வருடம் = ஒரு வருடம்');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '௫ ஆண்டுகள்', '5 ஆண்டுகள் = 5 ஆண்டுகள்');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'minutu balun', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'minutu ida', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'minutu ida', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'minutus 2', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), 'minutus 44', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'horas ida', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'horas ida', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'horas 2', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), 'horas 5', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), 'horas 21', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'loron ida', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'loron ida', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'loron 2', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'loron ida', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), 'loron 5', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), 'loron 25', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'fulan ida', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'fulan ida', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'fulan ida', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'fulan 2', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'fulan 2', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), 'fulan 3', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'fulan ida', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), 'fulan 5', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'tinan ida', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'tinan 2', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'tinan ida', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), 'tinan 5', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'ஒரு சில விநாடிகள் இல்', 'prefix');
- assert.equal(moment(0).from(30000), 'ஒரு சில விநாடிகள் முன்', 'suffix');
+ assert.equal(moment(30000).from(0), 'iha minutu balun', 'prefix');
+ assert.equal(moment(0).from(30000), 'minutu balun liuba', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'ஒரு சில விநாடிகள் முன்', 'இப்போது இருந்து கடந்த காலத்தில் காட்ட வேண்டும்');
+ assert.equal(moment().fromNow(), 'minutu balun liuba', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'ஒரு சில விநாடிகள் இல்', 'ஒரு சில விநாடிகள் இல்');
- assert.equal(moment().add({d: 5}).fromNow(), '௫ நாட்கள் இல்', '5 நாட்கள் இல்');
+ assert.equal(moment().add({s: 30}).fromNow(), 'iha minutu balun', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'iha loron 5', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'இன்று ௧௨:௦௦', 'இன்று 12:00');
- assert.equal(moment(a).add({m: 25}).calendar(), 'இன்று ௧௨:௨௫', 'இன்று 12:25');
- assert.equal(moment(a).add({h: 1}).calendar(), 'இன்று ௧௩:௦௦', 'இன்று 13:00');
- assert.equal(moment(a).add({d: 1}).calendar(), 'நாளை ௧௨:௦௦', 'நாளை 12:00');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'இன்று ௧௧:௦௦', 'இன்று 11:00');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'நேற்று ௧௨:௦௦', 'நேற்று 12:00');
+ assert.equal(moment(a).calendar(), 'Ohin iha 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Ohin iha 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Ohin iha 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Aban iha 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Ohin iha 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Horiseik iha 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd, LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [iha] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd, LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [iha] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd, LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [iha] LT'), 'Today + ' + i + ' days end of day');
}
});
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[கடந்த வாரம்] dddd, LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [semana kotuk] [iha] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[கடந்த வாரம்] dddd, LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [semana kotuk] [iha] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[கடந்த வாரம்] dddd, LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [semana kotuk] [iha] LT'), 'Today - ' + i + ' days end of day');
}
});
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
-test('meridiem', function (assert) {
- assert.equal(moment([2011, 2, 23, 0, 30]).format('a'), ' யாமம்', '(after) midnight');
- assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), ' வைகறை', 'before dawn');
- assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), ' காலை', 'morning');
- assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), ' எற்பாடு', 'during day');
- assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), ' எற்பாடு', 'evening');
- assert.equal(moment([2011, 2, 23, 19, 30]).format('a'), ' மாலை', 'late evening');
- assert.equal(moment([2011, 2, 23, 23, 30]).format('a'), ' யாமம்', '(before) midnight');
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52nd', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1st', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1st', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2nd', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2nd', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('te');
+localeModule('th');
test('parse', function (assert) {
- var tests = 'à°\9cనవరి à°\9cà°¨._à°«à°¿à°¬à±\8dరవరి à°«à°¿à°¬à±\8dà°°._మారà±\8dà°\9aà°¿ మారà±\8dà°\9aà°¿_à°\8fà°ªà±\8dà°°à°¿à°²à±\8d à°\8fà°ªà±\8dà°°à°¿._à°®à±\87 à°®à±\87_à°\9cà±\82à°¨à±\8d à°\9cà±\82à°¨à±\8d_à°\9cà±\82à°²à±\86à±\96 à°\9cà±\82à°²à±\86à±\96_à°\86à°\97à°¸à±\8dà°\9fà±\81 à°\86à°\97._à°¸à±\86à°ªà±\8dà°\9fà±\86à°\82బరà±\8d à°¸à±\86à°ªà±\8d._à°\85à°\95à±\8dà°\9fà±\8bబరà±\8d à°\85à°\95à±\8dà°\9fà±\8b._నవà°\82బరà±\8d నవ._à°¡à°¿à°¸à±\86à°\82బరà±\8d à°¡à°¿à°¸à±\86.'.split('_'), i;
+ var tests = 'มà¸\81ราà¸\84ม ม.à¸\84._à¸\81ุมภาà¸\9eัà¸\99à¸\98à¹\8c à¸\81.à¸\9e._มีà¸\99าà¸\84ม มี.à¸\84._à¹\80มษายà¸\99 à¹\80ม.ย._à¸\9eฤษภาà¸\84ม à¸\9e.à¸\84._มิà¸\96ุà¸\99ายà¸\99 มิ.ย._à¸\81รà¸\81à¸\8eาà¸\84ม à¸\81.à¸\84._สิà¸\87หาà¸\84ม ส.à¸\84._à¸\81ัà¸\99ยายà¸\99 à¸\81.ย._à¸\95ุลาà¸\84ม à¸\95.à¸\84._à¸\9eฤศà¸\88ิà¸\81ายà¸\99 à¸\9e.ย._à¸\98ัà¸\99วาà¸\84ม à¸\98.à¸\84.'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, Do తేదీ MMMM YYYY, a h:mm:ss', 'ఆదివారం, 14వ తేదీ ఫిబ్రవరి 2010, మధ్యాహ్నం 3:25:50'],
- ['ddd, a h గంటలు', 'ఆది, మధ్యాహ్నం 3 గంటలు'],
- ['M Mo నెల MM MMMM MMM', '2 2వ నెల 02 ఫిబ్రవరి ఫిబ్ర.'],
+ ['dddd, Do MMMM YYYY, h:mm:ss a', 'อาทิตย์, 14 กุมภาพันธ์ 2010, 3:25:50 หลังเที่ยง'],
+ ['ddd, h A', 'อาทิตย์, 3 หลังเที่ยง'],
+ ['M Mo MM MMMM MMM', '2 2 02 กุมภาพันธ์ ก.พ.'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14వ 14'],
- ['d do dddd ddd dd', '0 0వ ఆదివారం ఆది ఆ'],
- ['DDD DDDo DDDD', '45 45వ 045'],
- ['w wo ww', '8 8వ 08'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 อาทิตย์ อาทิตย์ อา.'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '8 8 08'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'మధ్యాహ్నం మధ్యాహ్నం'],
- ['LTS', 'మధ్యాహ్నం 3:25:50'],
+ ['a A', 'หลังเที่ยง หลังเที่ยง'],
+ ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+ ['LTS', '15:25:50'],
['L', '14/02/2010'],
- ['LL', '14 à°«à°¿à°¬à±\8dరవరి 2010'],
- ['LLL', '14 à°«à°¿à°¬à±\8dరవరి 2010, మధà±\8dయాహà±\8dà°¨à°\82 3:25'],
- ['LLLL', 'à°\86దివారà°\82, 14 à°«à°¿à°¬à±\8dరవరి 2010, మధà±\8dయాహà±\8dà°¨à°\82 3:25'],
+ ['LL', '14 à¸\81ุมภาà¸\9eัà¸\99à¸\98à¹\8c 2010'],
+ ['LLL', '14 à¸\81ุมภาà¸\9eัà¸\99à¸\98à¹\8c 2010 à¹\80วลา 15:25'],
+ ['LLLL', 'วัà¸\99à¸à¸²à¸\97ิà¸\95ยà¹\8cà¸\97ีà¹\88 14 à¸\81ุมภาà¸\9eัà¸\99à¸\98à¹\8c 2010 à¹\80วลา 15:25'],
['l', '14/2/2010'],
- ['ll', '14 à°«à°¿à°¬à±\8dà°°. 2010'],
- ['lll', '14 à°«à°¿à°¬à±\8dà°°. 2010, మధà±\8dయాహà±\8dà°¨à°\82 3:25'],
- ['llll', 'à°\86ది, 14 à°«à°¿à°¬à±\8dà°°. 2010, మధà±\8dయాహà±\8dà°¨à°\82 3:25']
+ ['ll', '14 à¸\81.à¸\9e. 2010'],
+ ['lll', '14 à¸\81.à¸\9e. 2010 à¹\80วลา 15:25'],
+ ['llll', 'วัà¸\99à¸à¸²à¸\97ิà¸\95ยà¹\8cà¸\97ีà¹\88 14 à¸\81.à¸\9e. 2010 à¹\80วลา 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
}
});
-test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1వ', '1వ');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2వ', '2వ');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3వ', '3వ');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4వ', '4వ');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5వ', '5వ');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6వ', '6వ');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7వ', '7వ');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8వ', '8వ');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9వ', '9వ');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10వ', '10వ');
-
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11వ', '11వ');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12వ', '12వ');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13వ', '13వ');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14వ', '14వ');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15వ', '15వ');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16వ', '16వ');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17వ', '17వ');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18వ', '18వ');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19వ', '19వ');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20వ', '20వ');
-
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21వ', '21వ');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22వ', '22వ');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23వ', '23వ');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24వ', '24వ');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25వ', '25వ');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26వ', '26వ');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27వ', '27వ');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28వ', '28వ');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29వ', '29వ');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30వ', '30వ');
-
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31వ', '31వ');
-});
-
test('format month', function (assert) {
- var expected = 'à°\9cనవరి à°\9cà°¨._à°«à°¿à°¬à±\8dరవరి à°«à°¿à°¬à±\8dà°°._మారà±\8dà°\9aà°¿ మారà±\8dà°\9aà°¿_à°\8fà°ªà±\8dà°°à°¿à°²à±\8d à°\8fà°ªà±\8dà°°à°¿._à°®à±\87 à°®à±\87_à°\9cà±\82à°¨à±\8d à°\9cà±\82à°¨à±\8d_à°\9cà±\82à°²à±\86à±\96 à°\9cà±\82à°²à±\86à±\96_à°\86à°\97à°¸à±\8dà°\9fà±\81 à°\86à°\97._à°¸à±\86à°ªà±\8dà°\9fà±\86à°\82బరà±\8d à°¸à±\86à°ªà±\8d._à°\85à°\95à±\8dà°\9fà±\8bబరà±\8d à°\85à°\95à±\8dà°\9fà±\8b._నవà°\82బరà±\8d నవ._à°¡à°¿à°¸à±\86à°\82బరà±\8d à°¡à°¿à°¸à±\86.'.split('_'), i;
+ var expected = 'มà¸\81ราà¸\84ม ม.à¸\84._à¸\81ุมภาà¸\9eัà¸\99à¸\98à¹\8c à¸\81.à¸\9e._มีà¸\99าà¸\84ม มี.à¸\84._à¹\80มษายà¸\99 à¹\80ม.ย._à¸\9eฤษภาà¸\84ม à¸\9e.à¸\84._มิà¸\96ุà¸\99ายà¸\99 มิ.ย._à¸\81รà¸\81à¸\8eาà¸\84ม à¸\81.à¸\84._สิà¸\87หาà¸\84ม ส.à¸\84._à¸\81ัà¸\99ยายà¸\99 à¸\81.ย._à¸\95ุลาà¸\84ม à¸\95.à¸\84._à¸\9eฤศà¸\88ิà¸\81ายà¸\99 à¸\9e.ย._à¸\98ัà¸\99วาà¸\84ม à¸\98.à¸\84.'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'à°\86దివారà°\82 à°\86ది à°\86_à°¸à±\8bమవారà°\82 à°¸à±\8bà°® à°¸à±\8b_à°®à°\82à°\97ళవారà°\82 à°®à°\82à°\97à°³ à°®à°\82_à°¬à±\81ధవారà°\82 à°¬à±\81à°§ à°¬à±\81_à°\97à±\81à°°à±\81వారà°\82 à°\97à±\81à°°à±\81 à°\97à±\81_à°¶à±\81à°\95à±\8dరవారà°\82 à°¶à±\81à°\95à±\8dà°° à°¶à±\81_శనివారà°\82 శని à°¶'.split('_'), i;
+ var expected = 'à¸à¸²à¸\97ิà¸\95ยà¹\8c à¸à¸²à¸\97ิà¸\95ยà¹\8c à¸à¸²._à¸\88ัà¸\99à¸\97รà¹\8c à¸\88ัà¸\99à¸\97รà¹\8c à¸\88._à¸à¸±à¸\87à¸\84าร à¸à¸±à¸\87à¸\84าร à¸._à¸\9eุà¸\98 à¸\9eุà¸\98 à¸\9e._à¸\9eฤหัสà¸\9aà¸\94ี à¸\9eฤหัส à¸\9eฤ._ศุà¸\81รà¹\8c ศุà¸\81รà¹\8c ศ._à¹\80สารà¹\8c à¹\80สารà¹\8c ส.'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'à°\95à±\8aà°¨à±\8dని à°\95à±\8dషణాలà±\81', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'ఒక నిమిషం', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'ఒక నిమిషం', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 నిమిషాలà±\81', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 నిమిషాలà±\81', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ఒక గంట', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ఒక గంట', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 à°\97à°\82à°\9fà°²à±\81', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 à°\97à°\82à°\9fà°²à±\81', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 à°\97à°\82à°\9fà°²à±\81', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ఒక రోజు', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ఒక రోజు', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 à°°à±\8bà°\9cà±\81à°²à±\81', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ఒక రోజు', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 à°°à±\8bà°\9cà±\81à°²à±\81', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 à°°à±\8bà°\9cà±\81à°²à±\81', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ఒక నెల', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ఒక నెల', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ఒక నెల', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 à°¨à±\86లలà±\81', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 à°¨à±\86లలà±\81', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 à°¨à±\86లలà±\81', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ఒక నెల', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 à°¨à±\86లలà±\81', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ఒక సంవత్సరం', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 à°¸à°\82వతà±\8dసరాలà±\81', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ఒక సంవత్సరం', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 à°¸à°\82వతà±\8dసరాలà±\81', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'à¹\84มà¹\88à¸\81ีà¹\88วิà¸\99าà¸\97ี', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), '1 นาที', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), '1 นาที', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 à¸\99าà¸\97ี', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 à¸\99าà¸\97ี', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), '1 ชั่วโมง', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), '1 ชั่วโมง', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 à¸\8aัà¹\88วà¹\82มà¸\87', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 à¸\8aัà¹\88วà¹\82มà¸\87', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 à¸\8aัà¹\88วà¹\82มà¸\87', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), '1 วัน', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), '1 วัน', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 วัà¸\99', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), '1 วัน', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 วัà¸\99', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 วัà¸\99', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), '1 เดือน', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), '1 เดือน', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), '1 เดือน', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 à¹\80à¸\94ืà¸à¸\99', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 à¹\80à¸\94ืà¸à¸\99', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 à¹\80à¸\94ืà¸à¸\99', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), '1 เดือน', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 à¹\80à¸\94ืà¸à¸\99', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), '1 ปี', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 à¸\9bี', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), '1 ปี', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 à¸\9bี', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'à°\95à±\8aà°¨à±\8dని à°\95à±\8dషణాలà±\81 à°²à±\8b', 'prefix');
- assert.equal(moment(0).from(30000), 'à°\95à±\8aà°¨à±\8dని à°\95à±\8dషణాలà±\81 à°\95à±\8dà°°à°¿à°¤à°\82', 'suffix');
+ assert.equal(moment(30000).from(0), 'à¸à¸µà¸\81 à¹\84มà¹\88à¸\81ีà¹\88วิà¸\99าà¸\97ี', 'prefix');
+ assert.equal(moment(0).from(30000), 'à¹\84มà¹\88à¸\81ีà¹\88วิà¸\99าà¸\97ีà¸\97ีà¹\88à¹\81ลà¹\89ว', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'à°\95à±\8aà°¨à±\8dని à°\95à±\8dషణాలà±\81 à°\95à±\8dà°°à°¿à°¤à°\82', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'à¹\84มà¹\88à¸\81ีà¹\88วิà¸\99าà¸\97ีà¸\97ีà¹\88à¹\81ลà¹\89ว', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'à°\95à±\8aà°¨à±\8dని à°\95à±\8dషణాలà±\81 à°²à±\8b', 'à°\95à±\8aà°¨à±\8dని à°\95à±\8dషణాలà±\81 à°²à±\8b');
- assert.equal(moment().add({d: 5}).fromNow(), '5 రోజులు లో', '5 రోజులు లో');
+ assert.equal(moment().add({s: 30}).fromNow(), 'à¸à¸µà¸\81 à¹\84มà¹\88à¸\81ีà¹\88วิà¸\99าà¸\97ี', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'อีก 5 วัน', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'à°¨à±\87à°¡à±\81 మధà±\8dయాహà±\8dà°¨à°\82 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'à°¨à±\87à°¡à±\81 మధà±\8dయాహà±\8dà°¨à°\82 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 3}).calendar(), 'నేడు మధ్యాహ్నం 3:00', 'Now plus 3 hours');
- assert.equal(moment(a).add({d: 1}).calendar(), 'à°°à±\87à°ªà±\81 మధà±\8dయాహà±\8dà°¨à°\82 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'à°¨à±\87à°¡à±\81 మధà±\8dయాహà±\8dà°¨à°\82 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'నినà±\8dà°¨ మధà±\8dయాహà±\8dà°¨à°\82 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'วัà¸\99à¸\99ีà¹\89 à¹\80วลา 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'วัà¸\99à¸\99ีà¹\89 à¹\80วลา 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'วันนี้ เวลา 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'à¸\9eรุà¹\88à¸\87à¸\99ีà¹\89 à¹\80วลา 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'วัà¸\99à¸\99ีà¹\89 à¹\80วลา 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'à¹\80มืà¹\88à¸à¸§à¸²à¸\99à¸\99ีà¹\89 à¹\80วลา 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd[หน้า เวลา] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd[หน้า เวลา] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd[หน้า เวลา] LT'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
-
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[à°\97à°¤] dddd[,] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[วัà¸\99]dddd[à¸\97ีà¹\88à¹\81ลà¹\89ว à¹\80วลา] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[à°\97à°¤] dddd[,] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[วัà¸\99]dddd[à¸\97ีà¹\88à¹\81ลà¹\89ว à¹\80วลา] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[à°\97à°¤] dddd[,] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[วัà¸\99]dddd[à¸\97ีà¹\88à¹\81ลà¹\89ว à¹\80วลา] LT'), 'Today - ' + i + ' days end of day');
}
});
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
weeksAgo = moment().subtract({w: 2});
weeksFromNow = moment().add({w: 2});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
-test('meridiem', function (assert) {
- assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), 'రాత్రి', 'before dawn');
- assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'ఉదయం', 'morning');
- assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), 'మధ్యాహ్నం', 'during day');
- assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'సాయంత్రం', 'evening');
- assert.equal(moment([2011, 2, 23, 19, 30]).format('a'), 'సాయంత్రం', 'late evening');
- assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'రాత్రి', 'night');
-
- assert.equal(moment([2011, 2, 23, 2, 30]).format('A'), 'రాత్రి', 'before dawn');
- assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'ఉదయం', 'morning');
- assert.equal(moment([2011, 2, 23, 14, 30]).format('A'), 'మధ్యాహ్నం', ' during day');
- assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'సాయంత్రం', 'evening');
- assert.equal(moment([2011, 2, 23, 19, 30]).format('A'), 'సాయంత్రం', 'late evening');
- assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'రాత్రి', 'night');
-});
-
-test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1వ', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1వ', 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2వ', 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2వ', 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3వ', 'Jan 15 2012 should be week 3');
+test('weeks year starting sunday format', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', 'Jan 7 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2', 'Jan 14 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('tet');
+localeModule('tl-ph');
test('parse', function (assert) {
- var tests = 'Janeiru Jan_Fevereiru Fev_Marsu Mar_Abril Abr_Maiu Mai_Juniu Jun_Juliu Jul_Augustu Aug_Setembru Set_Outubru Out_Novembru Nov_Dezembru Dez'.split('_'), i;
+ var tests = 'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split('_'),
+ i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'Domingu, Fevereiru 14th 2010, 3:25:50 pm'],
- ['ddd, hA', 'Dom, 3PM'],
- ['M Mo MM MMMM MMM', '2 2nd 02 Fevereiru Fev'],
- ['YYYY YY', '2010 10'],
- ['D Do DD', '14 14th 14'],
- ['d do dddd ddd dd', '0 0th Domingu Dom Do'],
- ['DDD DDDo DDDD', '45 45th 045'],
- ['w wo ww', '6 6th 06'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'Linggo, Pebrero 14 2010, 3:25:50 pm'],
+ ['ddd, hA', 'Lin, 3PM'],
+ ['M Mo MM MMMM MMM', '2 2 02 Pebrero Peb'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 Linggo Lin Li'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '6 6 06'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45th day of the year'],
+ ['[the] DDDo [day of the year]', 'the 45 day of the year'],
['LTS', '15:25:50'],
- ['L', '14/02/2010'],
- ['LL', '14 Fevereiru 2010'],
- ['LLL', '14 Fevereiru 2010 15:25'],
- ['LLLL', 'Domingu, 14 Fevereiru 2010 15:25'],
- ['l', '14/2/2010'],
- ['ll', '14 Fev 2010'],
- ['lll', '14 Fev 2010 15:25'],
- ['llll', 'Dom, 14 Fev 2010 15:25']
+ ['L', '02/14/2010'],
+ ['LL', 'Pebrero 14, 2010'],
+ ['LLL', 'Pebrero 14, 2010 15:25'],
+ ['LLLL', 'Linggo, Pebrero 14, 2010 15:25'],
+ ['l', '2/14/2010'],
+ ['ll', 'Peb 14, 2010'],
+ ['lll', 'Peb 14, 2010 15:25'],
+ ['llll', 'Lin, Peb 14, 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1st', '1st');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2nd', '2nd');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3rd', '3rd');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4th', '4th');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5th', '5th');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6th', '6th');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7th', '7th');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8th', '8th');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9th', '9th');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10th', '10th');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11th', '11th');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12th', '12th');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13th', '13th');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14th', '14th');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15th', '15th');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16th', '16th');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17th', '17th');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18th', '18th');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19th', '19th');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20th', '20th');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21st', '21st');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22nd', '22nd');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23rd', '23rd');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24th', '24th');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25th', '25th');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26th', '26th');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27th', '27th');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28th', '28th');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29th', '29th');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30th', '30th');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31st', '31st');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
});
test('format month', function (assert) {
- var expected = 'Janeiru Jan_Fevereiru Fev_Marsu Mar_Abril Abr_Maiu Mai_Juniu Jun_Juliu Jul_Augustu Aug_Setembru Set_Outubru Out_Novembru Nov_Dezembru Dez'.split('_'), i;
+ var expected = 'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'Domingu Dom Do_Segunda Seg Seg_Tersa Ters Te_Kuarta Kua Ku_Kinta Kint Ki_Sexta Sext Sex_Sabadu Sab Sa'.split('_'), i;
+ var expected = 'Linggo Lin Li_Lunes Lun Lu_Martes Mar Ma_Miyerkules Miy Mi_Huwebes Huw Hu_Biyernes Biy Bi_Sabado Sab Sab'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'minutu balun', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'minutu ida', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'minutu ida', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'minutus 2', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), 'minutus 44', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'horas ida', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'horas ida', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'horas 2', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), 'horas 5', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), 'horas 21', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'loron ida', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'loron ida', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'loron 2', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'loron ida', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), 'loron 5', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), 'loron 25', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'fulan ida', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'fulan ida', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'fulan ida', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'fulan 2', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'fulan 2', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), 'fulan 3', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'fulan ida', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), 'fulan 5', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'tinan ida', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'tinan 2', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'tinan ida', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), 'tinan 5', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ilang segundo', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'isang minuto', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'isang minuto', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minuto', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuto', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'isang oras', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'isang oras', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 oras', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 oras', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 oras', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'isang araw', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'isang araw', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 araw', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'isang araw', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 araw', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 araw', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'isang buwan', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'isang buwan', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'isang buwan', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 buwan', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 buwan', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 buwan', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'isang buwan', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 buwan', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'isang taon', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 taon', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'isang taon', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 taon', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'iha minutu balun', 'prefix');
- assert.equal(moment(0).from(30000), 'minutu balun liuba', 'suffix');
-});
-
-test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'minutu balun liuba', 'now from now should display as in the past');
+ assert.equal(moment(30000).from(0), 'sa loob ng ilang segundo', 'prefix');
+ assert.equal(moment(0).from(30000), 'ilang segundo ang nakalipas', 'suffix');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'iha minutu balun', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'iha loron 5', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'sa loob ng ilang segundo', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'sa loob ng 5 araw', 'in 5 days');
});
-test('calendar day', function (assert) {
+test('same day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'Ohin iha 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'Ohin iha 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'Ohin iha 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'Aban iha 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'Ohin iha 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Horiseik iha 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), '12:00 ngayong araw', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), '12:25 ngayong araw', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), '13:00 ngayong araw', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Bukas ng 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), '11:00 ngayong araw', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), '12:00 kahapon', 'yesterday at the same time');
});
-test('calendar next week', function (assert) {
+test('same next week', function (assert) {
var i, m;
+
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [iha] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('LT [sa susunod na] dddd'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [iha] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('LT [sa susunod na] dddd'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [iha] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('LT [sa susunod na] dddd'), 'Today + ' + i + ' days end of day');
}
});
-test('calendar last week', function (assert) {
+test('same last week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [semana kotuk] [iha] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('LT [noong nakaraang] dddd'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [semana kotuk] [iha] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('LT [noong nakaraang] dddd'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [semana kotuk] [iha] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('LT [noong nakaraang] dddd'), 'Today - ' + i + ' days end of day');
}
});
-test('calendar all else', function (assert) {
+test('same all else', function (assert) {
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52nd', 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1st', 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1st', 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2nd', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2nd', 'Jan 15 2012 should be week 2');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('th');
+localeModule('tlh');
-test('parse', function (assert) {
- var tests = 'มกราคม ม.ค._กุมภาพันธ์ ก.พ._มีนาคม มี.ค._เมษายน เม.ย._พฤษภาคม พ.ค._มิถุนายน มิ.ย._กรกฎาคม ก.ค._สิงหาคม ส.ค._กันยายน ก.ย._ตุลาคม ต.ค._พฤศจิกายน พ.ย._ธันวาคม ธ.ค.'.split('_'), i;
+//Current parsing method doesn't allow parsing correctly months 10, 11 and 12.
+/*
+ * test('parse', function (assert) {
+ var tests = 'tera’ jar wa’.jar wa’_tera’ jar cha’.jar cha’_tera’ jar wej.jar wej_tera’ jar loS.jar loS_tera’ jar vagh.jar vagh_tera’ jar jav.jar jav_tera’ jar Soch.jar Soch_tera’ jar chorgh.jar chorgh_tera’ jar Hut.jar Hut_tera’ jar wa’maH.jar wa’maH_tera’ jar wa’maH wa’.jar wa’maH wa’_tera’ jar wa’maH cha’.jar wa’maH cha’'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
for (i = 0; i < 12; i++) {
- tests[i] = tests[i].split(' ');
+ tests[i] = tests[i].split('.');
equalTest(tests[i][0], 'MMM', i);
equalTest(tests[i][1], 'MMM', i);
equalTest(tests[i][0], 'MMMM', i);
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
}
});
-
+*/
test('format', function (assert) {
var a = [
- ['dddd, Do MMMM YYYY, h:mm:ss a', 'อาทิตย์, 14 กุมภาพันธ์ 2010, 3:25:50 หลังเที่ยง'],
- ['ddd, h A', 'อาทิตย์, 3 หลังเที่ยง'],
- ['M Mo MM MMMM MMM', '2 2 02 กุมภาพันธ์ ก.พ.'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'lojmItjaj, tera’ jar cha’ 14. 2010, 3:25:50 pm'],
+ ['ddd, hA', 'lojmItjaj, 3PM'],
+ ['M Mo MM MMMM MMM', '2 2. 02 tera’ jar cha’ jar cha’'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 อาทิตย์ อาทิตย์ อา.'],
- ['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '8 8 08'],
+ ['D Do DD', '14 14. 14'],
+ ['d do dddd ddd dd', '0 0. lojmItjaj lojmItjaj lojmItjaj'],
+ ['DDD DDDo DDDD', '45 45. 045'],
+ ['w wo ww', '6 6. 06'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'หลังเที่ยง หลังเที่ยง'],
- ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+ ['a A', 'pm PM'],
+ ['[DIS jaj] DDDo', 'DIS jaj 45.'],
['LTS', '15:25:50'],
- ['L', '2010/02/14'],
- ['LL', '14 กุมภาพันธ์ 2010'],
- ['LLL', '14 กุมภาพันธ์ 2010 เวลา 15:25'],
- ['LLLL', 'วันอาทิตย์ที่ 14 กุมภาพันธ์ 2010 เวลา 15:25'],
- ['l', '2010/2/14'],
- ['ll', '14 ก.พ. 2010'],
- ['lll', '14 ก.พ. 2010 เวลา 15:25'],
- ['llll', 'วันอาทิตย์ที่ 14 ก.พ. 2010 เวลา 15:25']
+ ['L', '14.02.2010'],
+ ['LL', '14 tera’ jar cha’ 2010'],
+ ['LLL', '14 tera’ jar cha’ 2010 15:25'],
+ ['LLLL', 'lojmItjaj, 14 tera’ jar cha’ 2010 15:25'],
+ ['l', '14.2.2010'],
+ ['ll', '14 jar cha’ 2010'],
+ ['lll', '14 jar cha’ 2010 15:25'],
+ ['llll', 'lojmItjaj, 14 jar cha’ 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
}
});
+test('format ordinal', function (assert) {
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+});
+
test('format month', function (assert) {
- var expected = 'มกราคม ม.ค._กุมภาพันธ์ ก.พ._มีนาคม มี.ค._เมษายน เม.ย._พฤษภาคม พ.ค._มิถุนายน มิ.ย._กรกฎาคม ก.ค._สิงหาคม ส.ค._กันยายน ก.ย._ตุลาคม ต.ค._พฤศจิกายน พ.ย._ธันวาคม ธ.ค.'.split('_'), i;
+ var expected = 'tera’ jar wa’ jar wa’_tera’ jar cha’ jar cha’_tera’ jar wej jar wej_tera’ jar loS jar loS_tera’ jar vagh jar vagh_tera’ jar jav jar jav_tera’ jar Soch jar Soch_tera’ jar chorgh jar chorgh_tera’ jar Hut jar Hut_tera’ jar wa’maH jar wa’maH_tera’ jar wa’maH wa’ jar wa’maH wa’_tera’ jar wa’maH cha’ jar wa’maH cha’'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'อาทิตย์ อาทิตย์ อา._จันทร์ จันทร์ จ._อังคาร อังคาร อ._พุธ พุธ พ._พฤหัสบดี พฤหัส พฤ._ศุกร์ ศุกร์ ศ._เสาร์ เสาร์ ส.'.split('_'), i;
+ var expected = 'lojmItjaj lojmItjaj lojmItjaj_DaSjaj DaSjaj DaSjaj_povjaj povjaj povjaj_ghItlhjaj ghItlhjaj ghItlhjaj_loghjaj loghjaj loghjaj_buqjaj buqjaj buqjaj_ghInjaj ghInjaj ghInjaj'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ไม่กี่วินาที', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), '1 นาที', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), '1 นาที', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 นาที', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 นาที', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), '1 ชั่วโมง', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), '1 ชั่วโมง', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 ชั่วโมง', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 ชั่วโมง', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 ชั่วโมง', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), '1 วัน', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), '1 วัน', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 วัน', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), '1 วัน', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 วัน', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 วัน', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), '1 เดือน', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), '1 เดือน', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), '1 เดือน', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 เดือน', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 เดือน', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 เดือน', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), '1 เดือน', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 เดือน', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), '1 ปี', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ปี', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), '1 ปี', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ปี', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'puS lup', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'wa’ tup', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'wa’ tup', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'cha’ tup', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), 'loSmaH loS tup', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'wa’ rep', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'wa’ rep', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'cha’ rep', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), 'vagh rep', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), 'cha’maH wa’ rep', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'wa’ jaj', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'wa’ jaj', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'cha’ jaj', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'wa’ jaj', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), 'vagh jaj', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), 'cha’maH vagh jaj', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'wa’ jar', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'wa’ jar', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'wa’ jar', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'cha’ jar', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'cha’ jar', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), 'wej jar', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'wa’ jar', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), 'vagh jar', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'wa’ DIS', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'cha’ DIS', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'wa’ DIS', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), 'vagh DIS', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 112}), true), 'wa’vatlh wa’maH cha’ DIS', '112 years = 112 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 122}), true), 'wa’vatlh cha’maH cha’ DIS', '122 years = 122 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 213}), true), 'cha’vatlh wa’maH wej DIS', '213 years = 213 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 223}), true), 'cha’vatlh cha’maH wej DIS', '223 years = 223 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'อีก ไม่กี่วินาที', 'prefix');
- assert.equal(moment(0).from(30000), 'ไม่กี่วินาทีที่แล้ว', 'suffix');
+ assert.equal(moment(30000).from(0), 'puS lup pIq', 'suffix');
+ assert.equal(moment(0).from(30000), 'puS lup ret', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'ไม่กี่วินาทีที่แล้ว', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'puS lup ret', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'อีก ไม่กี่วินาที', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'อีก 5 วัน', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'puS lup pIq', 'in a few seconds');
+ assert.equal(moment().add({h: 1}).fromNow(), 'wa’ rep pIq', 'in an hour');
+ assert.equal(moment().add({d: 5}).fromNow(), 'vagh leS', 'in 5 days');
+ assert.equal(moment().add({M: 2}).fromNow(), 'cha’ waQ', 'in 2 months');
+ assert.equal(moment().add({y: 1}).fromNow(), 'wa’ nem', 'in a year');
+ assert.equal(moment().add({s: -30}).fromNow(), 'puS lup ret', 'a few seconds ago');
+ assert.equal(moment().add({h: -1}).fromNow(), 'wa’ rep ret', 'an hour ago');
+ assert.equal(moment().add({d: -5}).fromNow(), 'vagh Hu’', '5 days ago');
+ assert.equal(moment().add({M: -2}).fromNow(), 'cha’ wen', '2 months ago');
+ assert.equal(moment().add({y: -1}).fromNow(), 'wa’ ben', 'a year ago');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'วันนี้ เวลา 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'วันนี้ เวลา 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'วันนี้ เวลา 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'พรุ่งนี้ เวลา 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'วันนี้ เวลา 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'เมื่อวานนี้ เวลา 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'DaHjaj 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'DaHjaj 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'DaHjaj 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'wa’leS 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'DaHjaj 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'wa’Hu’ 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd[หน้า เวลา] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('LLL'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd[หน้า เวลา] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('LLL'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd[หน้า เวลา] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('LLL'), 'Today + ' + i + ' days end of day');
}
});
var i, m;
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[วัน]dddd[ที่แล้ว เวลา] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('LLL'), 'Today - ' + i + ' days current time');
+
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[วัน]dddd[ที่แล้ว เวลา] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('LLL'), 'Today - ' + i + ' days beginning of day');
+
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[วัน]dddd[ที่แล้ว เวลา] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('LLL'), 'Today - ' + i + ' days end of day');
}
});
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
weeksAgo = moment().subtract({w: 2});
weeksFromNow = moment().add({w: 2});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
-test('weeks year starting sunday format', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2', 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
+test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('tl-ph');
+localeModule('tr');
test('parse', function (assert) {
- var tests = 'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split('_'),
- i;
+ var tests = 'Ocak Oca_Şubat Şub_Mart Mar_Nisan Nis_Mayıs May_Haziran Haz_Temmuz Tem_Ağustos Ağu_Eylül Eyl_Ekim Eki_Kasım Kas_Aralık Ara'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'Linggo, Pebrero 14 2010, 3:25:50 pm'],
- ['ddd, hA', 'Lin, 3PM'],
- ['M Mo MM MMMM MMM', '2 2 02 Pebrero Peb'],
- ['YYYY YY', '2010 10'],
- ['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 Linggo Lin Li'],
- ['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '6 6 06'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'Pazar, Şubat 14\'üncü 2010, 3:25:50 pm'],
+ ['ddd, hA', 'Paz, 3PM'],
+ ['M Mo MM MMMM MMM', '2 2\'nci 02 Şubat Şub'],
+ ['YYYY YY', '2010 10'],
+ ['D Do DD', '14 14\'üncü 14'],
+ ['d do dddd ddd dd', '0 0\'ıncı Pazar Paz Pz'],
+ ['DDD DDDo DDDD', '45 45\'inci 045'],
+ ['w wo ww', '7 7\'nci 07'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+ ['[yılın] DDDo [günü]', 'yılın 45\'inci günü'],
['LTS', '15:25:50'],
- ['L', '02/14/2010'],
- ['LL', 'Pebrero 14, 2010'],
- ['LLL', 'Pebrero 14, 2010 15:25'],
- ['LLLL', 'Linggo, Pebrero 14, 2010 15:25'],
- ['l', '2/14/2010'],
- ['ll', 'Peb 14, 2010'],
- ['lll', 'Peb 14, 2010 15:25'],
- ['llll', 'Lin, Peb 14, 2010 15:25']
+ ['L', '14.02.2010'],
+ ['LL', '14 Şubat 2010'],
+ ['LLL', '14 Şubat 2010 15:25'],
+ ['LLLL', 'Pazar, 14 Şubat 2010 15:25'],
+ ['l', '14.2.2010'],
+ ['ll', '14 Şub 2010'],
+ ['lll', '14 Şub 2010 15:25'],
+ ['llll', 'Paz, 14 Şub 2010 15:25']
],
- b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ DDDo = [
+ [359, '360\'ıncı'],
+ [199, '200\'üncü'],
+ [149, '150\'nci']
+ ],
+ dt = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ DDDoDt,
i;
+
for (i = 0; i < a.length; i++) {
- assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ assert.equal(dt.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ }
+ for (i = 0; i < DDDo.length; i++) {
+ DDDoDt = moment([2010]);
+ assert.equal(DDDoDt.add(DDDo[i][0], 'days').format('DDDo'), DDDo[i][1], DDDo[i][0] + ' ---> ' + DDDo[i][1]);
}
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1\'inci', '1st');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2\'nci', '2nd');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3\'üncü', '3rd');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4\'üncü', '4th');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5\'inci', '5th');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6\'ncı', '6th');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7\'nci', '7th');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8\'inci', '8th');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9\'uncu', '9th');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10\'uncu', '10th');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11\'inci', '11th');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12\'nci', '12th');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13\'üncü', '13th');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14\'üncü', '14th');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15\'inci', '15th');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16\'ncı', '16th');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17\'nci', '17th');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18\'inci', '18th');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19\'uncu', '19th');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20\'nci', '20th');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21\'inci', '21th');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22\'nci', '22th');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23\'üncü', '23th');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24\'üncü', '24th');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25\'inci', '25th');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26\'ncı', '26th');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27\'nci', '27th');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28\'inci', '28th');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29\'uncu', '29th');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30\'uncu', '30th');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31\'inci', '31st');
});
test('format month', function (assert) {
- var expected = 'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split('_'), i;
+ var expected = 'Ocak Oca_Şubat Şub_Mart Mar_Nisan Nis_Mayıs May_Haziran Haz_Temmuz Tem_Ağustos Ağu_Eylül Eyl_Ekim Eki_Kasım Kas_Aralık Ara'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'Linggo Lin Li_Lunes Lun Lu_Martes Mar Ma_Miyerkules Miy Mi_Huwebes Huw Hu_Biyernes Biy Bi_Sabado Sab Sab'.split('_'), i;
+ var expected = 'Pazar Paz Pz_Pazartesi Pts Pt_Salı Sal Sa_Çarşamba Çar Ça_Perşembe Per Pe_Cuma Cum Cu_Cumartesi Cts Ct'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ilang segundo', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'isang minuto', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'isang minuto', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minuto', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuto', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'isang oras', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'isang oras', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 oras', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 oras', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 oras', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'isang araw', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'isang araw', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 araw', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'isang araw', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 araw', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 araw', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'isang buwan', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'isang buwan', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'isang buwan', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 buwan', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 buwan', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 buwan', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'isang buwan', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 buwan', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'isang taon', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 taon', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'isang taon', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 taon', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'birkaç saniye', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'bir dakika', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'bir dakika', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 dakika', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 dakika', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'bir saat', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'bir saat', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 saat', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 saat', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 saat', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'bir gün', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'bir gün', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 gün', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'bir gün', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 gün', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 gün', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'bir ay', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'bir ay', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'bir ay', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 ay', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 ay', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 ay', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'bir ay', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 ay', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'bir yıl', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 yıl', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'bir yıl', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 yıl', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'sa loob ng ilang segundo', 'prefix');
- assert.equal(moment(0).from(30000), 'ilang segundo ang nakalipas', 'suffix');
+ assert.equal(moment(30000).from(0), 'birkaç saniye sonra', 'prefix');
+ assert.equal(moment(0).from(30000), 'birkaç saniye önce', 'suffix');
+});
+
+test('now from now', function (assert) {
+ assert.equal(moment().fromNow(), 'birkaç saniye önce', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'sa loob ng ilang segundo', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'sa loob ng 5 araw', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'birkaç saniye sonra', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), '5 gün sonra', 'in 5 days');
});
-test('same day', function (assert) {
+test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), '12:00 ngayong araw', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), '12:25 ngayong araw', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), '13:00 ngayong araw', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'Bukas ng 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), '11:00 ngayong araw', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), '12:00 kahapon', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'bugün saat 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'bugün saat 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'bugün saat 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'yarın saat 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'bugün saat 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'dün 12:00', 'yesterday at the same time');
});
-test('same next week', function (assert) {
+test('calendar next week', function (assert) {
var i, m;
-
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('LT [sa susunod na] dddd'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[haftaya] dddd [saat] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('LT [sa susunod na] dddd'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[haftaya] dddd [saat] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('LT [sa susunod na] dddd'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[haftaya] dddd [saat] LT'), 'Today + ' + i + ' days end of day');
}
});
-test('same last week', function (assert) {
+test('calendar last week', function (assert) {
var i, m;
-
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('LT [noong nakaraang] dddd'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[geçen hafta] dddd [saat] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('LT [noong nakaraang] dddd'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[geçen hafta] dddd [saat] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('LT [noong nakaraang] dddd'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[geçen hafta] dddd [saat] LT'), 'Today - ' + i + ' days end of day');
}
});
-test('same all else', function (assert) {
+test('calendar all else', function (assert) {
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
+ assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1\'inci', 'Dec 26 2011 should be week 1');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1\'inci', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2\'nci', 'Jan 2 2012 should be week 2');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2\'nci', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3\'üncü', 'Jan 9 2012 should be week 3');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('tlh');
+localeModule('tzl');
-//Current parsing method doesn't allow parsing correctly months 10, 11 and 12.
-/*
- * test('parse', function (assert) {
- var tests = 'tera’ jar wa’.jar wa’_tera’ jar cha’.jar cha’_tera’ jar wej.jar wej_tera’ jar loS.jar loS_tera’ jar vagh.jar vagh_tera’ jar jav.jar jav_tera’ jar Soch.jar Soch_tera’ jar chorgh.jar chorgh_tera’ jar Hut.jar Hut_tera’ jar wa’maH.jar wa’maH_tera’ jar wa’maH wa’.jar wa’maH wa’_tera’ jar wa’maH cha’.jar wa’maH cha’'.split('_'), i;
+test('parse', function (assert) {
+ var tests = 'Januar Jan_Fevraglh Fev_Març Mar_Avrïu Avr_Mai Mai_Gün Gün_Julia Jul_Guscht Gus_Setemvar Set_Listopäts Lis_Noemvar Noe_Zecemvar Zec'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
for (i = 0; i < 12; i++) {
- tests[i] = tests[i].split('.');
+ tests[i] = tests[i].split(' ');
equalTest(tests[i][0], 'MMM', i);
equalTest(tests[i][1], 'MMM', i);
equalTest(tests[i][0], 'MMMM', i);
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
}
});
-*/
+
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'lojmItjaj, tera’ jar cha’ 14. 2010, 3:25:50 pm'],
- ['ddd, hA', 'lojmItjaj, 3PM'],
- ['M Mo MM MMMM MMM', '2 2. 02 tera’ jar cha’ jar cha’'],
+ ['dddd, MMMM Do YYYY, h.mm.ss a', 'Súladi, Fevraglh 14. 2010, 3.25.50 d\'o'],
+ ['ddd, hA', 'Súl, 3D\'O'],
+ ['M Mo MM MMMM MMM', '2 2. 02 Fevraglh Fev'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14. 14'],
- ['d do dddd ddd dd', '0 0. lojmItjaj lojmItjaj lojmItjaj'],
+ ['d do dddd ddd dd', '0 0. Súladi Súl Sú'],
['DDD DDDo DDDD', '45 45. 045'],
['w wo ww', '6 6. 06'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'pm PM'],
- ['[DIS jaj] DDDo', 'DIS jaj 45.'],
- ['LTS', '15:25:50'],
+ ['a A', 'd\'o D\'O'],
+ ['[the] DDDo [day of the year]', 'the 45. day of the year'],
+ ['LTS', '15.25.50'],
['L', '14.02.2010'],
- ['LL', '14 tera’ jar cha’ 2010'],
- ['LLL', '14 tera’ jar cha’ 2010 15:25'],
- ['LLLL', 'lojmItjaj, 14 tera’ jar cha’ 2010 15:25'],
+ ['LL', '14. Fevraglh dallas 2010'],
+ ['LLL', '14. Fevraglh dallas 2010 15.25'],
+ ['LLLL', 'Súladi, li 14. Fevraglh dallas 2010 15.25'],
['l', '14.2.2010'],
- ['ll', '14 jar cha’ 2010'],
- ['lll', '14 jar cha’ 2010 15:25'],
- ['llll', 'lojmItjaj, 14 jar cha’ 2010 15:25']
+ ['ll', '14. Fev dallas 2010'],
+ ['lll', '14. Fev dallas 2010 15.25'],
+ ['llll', 'Súl, li 14. Fev dallas 2010 15.25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format month', function (assert) {
- var expected = 'tera’ jar wa’ jar wa’_tera’ jar cha’ jar cha’_tera’ jar wej jar wej_tera’ jar loS jar loS_tera’ jar vagh jar vagh_tera’ jar jav jar jav_tera’ jar Soch jar Soch_tera’ jar chorgh jar chorgh_tera’ jar Hut jar Hut_tera’ jar wa’maH jar wa’maH_tera’ jar wa’maH wa’ jar wa’maH wa’_tera’ jar wa’maH cha’ jar wa’maH cha’'.split('_'), i;
+ var expected = 'Januar Jan_Fevraglh Fev_Març Mar_Avrïu Avr_Mai Mai_Gün Gün_Julia Jul_Guscht Gus_Setemvar Set_Listopäts Lis_Noemvar Noe_Zecemvar Zec'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'lojmItjaj lojmItjaj lojmItjaj_DaSjaj DaSjaj DaSjaj_povjaj povjaj povjaj_ghItlhjaj ghItlhjaj ghItlhjaj_loghjaj loghjaj loghjaj_buqjaj buqjaj buqjaj_ghInjaj ghInjaj ghInjaj'.split('_'), i;
+ var expected = 'Súladi Súl Sú_Lúneçi Lún Lú_Maitzi Mai Ma_Márcuri Már Má_Xhúadi Xhú Xh_Viénerçi Vié Vi_Sáturi Sát Sá'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'puS lup', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'wa’ tup', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'wa’ tup', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), 'cha’ tup', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), 'loSmaH loS tup', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'wa’ rep', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'wa’ rep', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), 'cha’ rep', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), 'vagh rep', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), 'cha’maH wa’ rep', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'wa’ jaj', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'wa’ jaj', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), 'cha’ jaj', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'wa’ jaj', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), 'vagh jaj', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), 'cha’maH vagh jaj', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'wa’ jar', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'wa’ jar', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'wa’ jar', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), 'cha’ jar', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), 'cha’ jar', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), 'wej jar', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'wa’ jar', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), 'vagh jar', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'wa’ DIS', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), 'cha’ DIS', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'wa’ DIS', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), 'vagh DIS', '5 years = 5 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 112}), true), 'wa’vatlh wa’maH cha’ DIS', '112 years = 112 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 122}), true), 'wa’vatlh cha’maH cha’ DIS', '122 years = 122 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 213}), true), 'cha’vatlh wa’maH wej DIS', '213 years = 213 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 223}), true), 'cha’vatlh cha’maH wej DIS', '223 years = 223 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'viensas secunds', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), '\'n míut', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), '\'n míut', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 míuts', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 míuts', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), '\'n þora', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), '\'n þora', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 þoras', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 þoras', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 þoras', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), '\'n ziua', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), '\'n ziua', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 ziuas', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), '\'n ziua', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 ziuas', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 ziuas', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), '\'n mes', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), '\'n mes', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), '\'n mes', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mesen', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mesen', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mesen', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), '\'n mes', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mesen', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), '\'n ar', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ars', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), '\'n ar', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ars', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'puS lup pIq', 'suffix');
- assert.equal(moment(0).from(30000), 'puS lup ret', 'suffix');
+ assert.equal(moment(30000).from(0), 'osprei viensas secunds', 'prefix');
+ assert.equal(moment(0).from(30000), 'ja\'iensas secunds', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'puS lup ret', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'ja\'iensas secunds', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'puS lup pIq', 'in a few seconds');
- assert.equal(moment().add({h: 1}).fromNow(), 'wa’ rep pIq', 'in an hour');
- assert.equal(moment().add({d: 5}).fromNow(), 'vagh leS', 'in 5 days');
- assert.equal(moment().add({M: 2}).fromNow(), 'cha’ waQ', 'in 2 months');
- assert.equal(moment().add({y: 1}).fromNow(), 'wa’ nem', 'in a year');
- assert.equal(moment().add({s: -30}).fromNow(), 'puS lup ret', 'a few seconds ago');
- assert.equal(moment().add({h: -1}).fromNow(), 'wa’ rep ret', 'an hour ago');
- assert.equal(moment().add({d: -5}).fromNow(), 'vagh Hu’', '5 days ago');
- assert.equal(moment().add({M: -2}).fromNow(), 'cha’ wen', '2 months ago');
- assert.equal(moment().add({y: -1}).fromNow(), 'wa’ ben', 'a year ago');
+ assert.equal(moment().add({s: 30}).fromNow(), 'osprei viensas secunds', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'osprei 5 ziuas', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'DaHjaj 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'DaHjaj 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'DaHjaj 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'wa’leS 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'DaHjaj 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'wa’Hu’ 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'oxhi à 12.00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'oxhi à 12.25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'oxhi à 13.00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'demà à 12.00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'oxhi à 11.00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'ieiri à 12.00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('LLL'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('LLL'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('LLL'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
+
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('LLL'), 'Today - ' + i + ' days current time');
-
+ assert.equal(m.calendar(), m.format('[sür el] dddd [lasteu à] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('LLL'), 'Today - ' + i + ' days beginning of day');
-
+ assert.equal(m.calendar(), m.format('[sür el] dddd [lasteu à] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('LLL'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[sür el] dddd [lasteu à] LT'), 'Today - ' + i + ' days end of day');
}
});
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
+// Monday is the first day of the week.
+// The week that contains Jan 4th is the first week of the year.
+
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('tr');
+localeModule('tzm-latn');
test('parse', function (assert) {
- var tests = 'Ocak Oca_Şubat Şub_Mart Mar_Nisan Nis_Mayıs May_Haziran Haz_Temmuz Tem_Ağustos Ağu_Eylül Eyl_Ekim Eki_Kasım Kas_Aralık Ara'.split('_'), i;
+ var tests = 'innayr innayr_brˤayrˤ brˤayrˤ_marˤsˤ marˤsˤ_ibrir ibrir_mayyw mayyw_ywnyw ywnyw_ywlywz ywlywz_ɣwšt ɣwšt_šwtanbir šwtanbir_ktˤwbrˤ ktˤwbrˤ_nwwanbir nwwanbir_dwjnbir dwjnbir'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'Pazar, Şubat 14\'üncü 2010, 3:25:50 pm'],
- ['ddd, hA', 'Paz, 3PM'],
- ['M Mo MM MMMM MMM', '2 2\'nci 02 Şubat Şub'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'asamas, brˤayrˤ 14 2010, 3:25:50 pm'],
+ ['ddd, hA', 'asamas, 3PM'],
+ ['M Mo MM MMMM MMM', '2 2 02 brˤayrˤ brˤayrˤ'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14\'üncü 14'],
- ['d do dddd ddd dd', '0 0\'ıncı Pazar Paz Pz'],
- ['DDD DDDo DDDD', '45 45\'inci 045'],
- ['w wo ww', '7 7\'nci 07'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 asamas asamas asamas'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '8 8 08'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
['a A', 'pm PM'],
- ['[yılın] DDDo [günü]', 'yılın 45\'inci günü'],
+ ['[the] DDDo [day of the year]', 'the 45 day of the year'],
['LTS', '15:25:50'],
- ['L', '14.02.2010'],
- ['LL', '14 Şubat 2010'],
- ['LLL', '14 Şubat 2010 15:25'],
- ['LLLL', 'Pazar, 14 Şubat 2010 15:25'],
- ['l', '14.2.2010'],
- ['ll', '14 Şub 2010'],
- ['lll', '14 Şub 2010 15:25'],
- ['llll', 'Paz, 14 Şub 2010 15:25']
- ],
- DDDo = [
- [359, '360\'ıncı'],
- [199, '200\'üncü'],
- [149, '150\'nci']
+ ['L', '14/02/2010'],
+ ['LL', '14 brˤayrˤ 2010'],
+ ['LLL', '14 brˤayrˤ 2010 15:25'],
+ ['LLLL', 'asamas 14 brˤayrˤ 2010 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 brˤayrˤ 2010'],
+ ['lll', '14 brˤayrˤ 2010 15:25'],
+ ['llll', 'asamas 14 brˤayrˤ 2010 15:25']
],
- dt = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
- DDDoDt,
+ b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
-
for (i = 0; i < a.length; i++) {
- assert.equal(dt.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
- }
- for (i = 0; i < DDDo.length; i++) {
- DDDoDt = moment([2010]);
- assert.equal(DDDoDt.add(DDDo[i][0], 'days').format('DDDo'), DDDo[i][1], DDDo[i][0] + ' ---> ' + DDDo[i][1]);
+ assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
}
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1\'inci', '1st');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2\'nci', '2nd');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3\'üncü', '3rd');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4\'üncü', '4th');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5\'inci', '5th');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6\'ncı', '6th');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7\'nci', '7th');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8\'inci', '8th');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9\'uncu', '9th');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10\'uncu', '10th');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11\'inci', '11th');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12\'nci', '12th');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13\'üncü', '13th');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14\'üncü', '14th');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15\'inci', '15th');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16\'ncı', '16th');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17\'nci', '17th');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18\'inci', '18th');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19\'uncu', '19th');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20\'nci', '20th');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21\'inci', '21th');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22\'nci', '22th');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23\'üncü', '23th');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24\'üncü', '24th');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25\'inci', '25th');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26\'ncı', '26th');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27\'nci', '27th');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28\'inci', '28th');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29\'uncu', '29th');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30\'uncu', '30th');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31\'inci', '31st');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
});
test('format month', function (assert) {
- var expected = 'Ocak Oca_Şubat Şub_Mart Mar_Nisan Nis_Mayıs May_Haziran Haz_Temmuz Tem_Ağustos Ağu_Eylül Eyl_Ekim Eki_Kasım Kas_Aralık Ara'.split('_'), i;
+ var expected = 'innayr innayr_brˤayrˤ brˤayrˤ_marˤsˤ marˤsˤ_ibrir ibrir_mayyw mayyw_ywnyw ywnyw_ywlywz ywlywz_ɣwšt ɣwšt_šwtanbir šwtanbir_ktˤwbrˤ ktˤwbrˤ_nwwanbir nwwanbir_dwjnbir dwjnbir'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'Pazar Paz Pz_Pazartesi Pts Pt_Salı Sal Sa_Çarşamba Çar Ça_Perşembe Per Pe_Cuma Cum Cu_Cumartesi Cts Ct'.split('_'), i;
+ var expected = 'asamas asamas asamas_aynas aynas aynas_asinas asinas asinas_akras akras akras_akwas akwas akwas_asimwas asimwas asimwas_asiḍyas asiḍyas asiḍyas'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'birkaç saniye', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'bir dakika', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'bir dakika', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 dakika', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 dakika', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'bir saat', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'bir saat', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 saat', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 saat', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 saat', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'bir gün', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'bir gün', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 gün', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'bir gün', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 gün', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 gün', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'bir ay', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'bir ay', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'bir ay', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 ay', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 ay', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 ay', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'bir ay', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 ay', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'bir yıl', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 yıl', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'bir yıl', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 yıl', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'imik', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'minuḍ', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'minuḍ', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minuḍ', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuḍ', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'saɛa', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'saɛa', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 tassaɛin', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 tassaɛin', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 tassaɛin', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ass', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ass', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 ossan', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ass', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 ossan', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 ossan', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ayowr', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ayowr', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ayowr', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 iyyirn', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 iyyirn', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 iyyirn', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ayowr', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 iyyirn', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'asgas', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 isgasn', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'asgas', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 isgasn', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'birkaç saniye sonra', 'prefix');
- assert.equal(moment(0).from(30000), 'birkaç saniye önce', 'suffix');
+ assert.equal(moment(30000).from(0), 'dadkh s yan imik', 'prefix');
+ assert.equal(moment(0).from(30000), 'yan imik', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'birkaç saniye önce', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'yan imik', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'birkaç saniye sonra', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), '5 gün sonra', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'dadkh s yan imik', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'dadkh s yan 5 ossan', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'bugün saat 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'bugün saat 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'bugün saat 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'yarın saat 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'bugün saat 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'dün 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'asdkh g 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'asdkh g 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'asdkh g 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'aska g 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'asdkh g 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'assant g 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('[haftaya] dddd [saat] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [g] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[haftaya] dddd [saat] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [g] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[haftaya] dddd [saat] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [g] LT'), 'Today + ' + i + ' days end of day');
}
});
var i, m;
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[geçen hafta] dddd [saat] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [g] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[geçen hafta] dddd [saat] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [g] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[geçen hafta] dddd [saat] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [g] LT'), 'Today - ' + i + ' days end of day');
}
});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1\'inci', 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1\'inci', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2\'nci', 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2\'nci', 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3\'üncü', 'Jan 9 2012 should be week 3');
+ assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
+ assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', 'Jan 7 2012 should be week 2');
+ assert.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', 'Jan 13 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('tzl');
+localeModule('tzm');
test('parse', function (assert) {
- var tests = 'Januar Jan_Fevraglh Fev_Març Mar_Avrïu Avr_Mai Mai_Gün Gün_Julia Jul_Guscht Gus_Setemvar Set_Listopäts Lis_Noemvar Noe_Zecemvar Zec'.split('_'), i;
+ var tests = 'ⵉⵏⵏⴰⵢⵔ ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h.mm.ss a', 'Súladi, Fevraglh 14. 2010, 3.25.50 d\'o'],
- ['ddd, hA', 'Súl, 3D\'O'],
- ['M Mo MM MMMM MMM', '2 2. 02 Fevraglh Fev'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'ⴰⵙⴰⵎⴰⵙ, ⴱⵕⴰⵢⵕ 14 2010, 3:25:50 pm'],
+ ['ddd, hA', 'ⴰⵙⴰⵎⴰⵙ, 3PM'],
+ ['M Mo MM MMMM MMM', '2 2 02 ⴱⵕⴰⵢⵕ ⴱⵕⴰⵢⵕ'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14. 14'],
- ['d do dddd ddd dd', '0 0. Súladi Súl Sú'],
- ['DDD DDDo DDDD', '45 45. 045'],
- ['w wo ww', '6 6. 06'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '8 8 08'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'd\'o D\'O'],
- ['[the] DDDo [day of the year]', 'the 45. day of the year'],
- ['LTS', '15.25.50'],
- ['L', '14.02.2010'],
- ['LL', '14. Fevraglh dallas 2010'],
- ['LLL', '14. Fevraglh dallas 2010 15.25'],
- ['LLLL', 'Súladi, li 14. Fevraglh dallas 2010 15.25'],
- ['l', '14.2.2010'],
- ['ll', '14. Fev dallas 2010'],
- ['lll', '14. Fev dallas 2010 15.25'],
- ['llll', 'Súl, li 14. Fev dallas 2010 15.25']
+ ['a A', 'pm PM'],
+ ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+ ['LTS', '15:25:50'],
+ ['L', '14/02/2010'],
+ ['LL', '14 ⴱⵕⴰⵢⵕ 2010'],
+ ['LLL', '14 ⴱⵕⴰⵢⵕ 2010 15:25'],
+ ['LLLL', 'ⴰⵙⴰⵎⴰⵙ 14 ⴱⵕⴰⵢⵕ 2010 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 ⴱⵕⴰⵢⵕ 2010'],
+ ['lll', '14 ⴱⵕⴰⵢⵕ 2010 15:25'],
+ ['llll', 'ⴰⵙⴰⵎⴰⵙ 14 ⴱⵕⴰⵢⵕ 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
});
test('format month', function (assert) {
- var expected = 'Januar Jan_Fevraglh Fev_Març Mar_Avrïu Avr_Mai Mai_Gün Gün_Julia Jul_Guscht Gus_Setemvar Set_Listopäts Lis_Noemvar Noe_Zecemvar Zec'.split('_'), i;
+ var expected = 'ⵉⵏⵏⴰⵢⵔ ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'Súladi Súl Sú_Lúneçi Lún Lú_Maitzi Mai Ma_Márcuri Már Má_Xhúadi Xhú Xh_Viénerçi Vié Vi_Sáturi Sát Sá'.split('_'), i;
+ var expected = 'ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ ⴰⵢⵏⴰⵙ ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ ⴰⵙⵉⵏⴰⵙ ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ ⴰⴽⵔⴰⵙ ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ ⴰⴽⵡⴰⵙ ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ ⴰⵙⵉⵎⵡⴰⵙ ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ ⴰⵙⵉⴹⵢⴰⵙ ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'viensas secunds', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), '\'n míut', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), '\'n míut', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 míuts', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 míuts', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), '\'n þora', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), '\'n þora', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 þoras', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 þoras', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 þoras', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), '\'n ziua', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), '\'n ziua', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 ziuas', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), '\'n ziua', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 ziuas', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 ziuas', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), '\'n mes', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), '\'n mes', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), '\'n mes', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mesen', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mesen', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mesen', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), '\'n mes', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mesen', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), '\'n ar', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ars', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), '\'n ar', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ars', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ⵉⵎⵉⴽ', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'ⵎⵉⵏⵓⴺ', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'ⵎⵉⵏⵓⴺ', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 ⵎⵉⵏⵓⴺ', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 ⵎⵉⵏⵓⴺ', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ⵙⴰⵄⴰ', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ⵙⴰⵄⴰ', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 ⵜⴰⵙⵙⴰⵄⵉⵏ', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 ⵜⴰⵙⵙⴰⵄⵉⵏ', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 ⵜⴰⵙⵙⴰⵄⵉⵏ', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ⴰⵙⵙ', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ⴰⵙⵙ', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 oⵙⵙⴰⵏ', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ⴰⵙⵙ', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 oⵙⵙⴰⵏ', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 oⵙⵙⴰⵏ', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ⴰⵢoⵓⵔ', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ⴰⵢoⵓⵔ', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ⴰⵢoⵓⵔ', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 ⵉⵢⵢⵉⵔⵏ', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 ⵉⵢⵢⵉⵔⵏ', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 ⵉⵢⵢⵉⵔⵏ', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ⴰⵢoⵓⵔ', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 ⵉⵢⵢⵉⵔⵏ', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ⴰⵙⴳⴰⵙ', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ⵉⵙⴳⴰⵙⵏ', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ⴰⵙⴳⴰⵙ', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ⵉⵙⴳⴰⵙⵏ', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'osprei viensas secunds', 'prefix');
- assert.equal(moment(0).from(30000), 'ja\'iensas secunds', 'suffix');
+ assert.equal(moment(30000).from(0), 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ ⵉⵎⵉⴽ', 'prefix');
+ assert.equal(moment(0).from(30000), 'ⵢⴰⵏ ⵉⵎⵉⴽ', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'ja\'iensas secunds', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'ⵢⴰⵏ ⵉⵎⵉⴽ', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'osprei viensas secunds', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'osprei 5 ziuas', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ ⵉⵎⵉⴽ', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ 5 oⵙⵙⴰⵏ', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'oxhi à 12.00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'oxhi à 12.25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'oxhi à 13.00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'demà à 12.00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'oxhi à 11.00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'ieiri à 12.00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'ⴰⵙⴷⵅ ⴴ 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'ⴰⵙⴷⵅ ⴴ 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'ⴰⵙⴷⵅ ⴴ 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'ⴰⵙⴽⴰ ⴴ 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'ⴰⵙⴷⵅ ⴴ 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'ⴰⵚⴰⵏⵜ ⴴ 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [à] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
-
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('[sür el] dddd [lasteu à] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[sür el] dddd [lasteu à] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[sür el] dddd [lasteu à] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today - ' + i + ' days end of day');
}
});
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
-// Monday is the first day of the week.
-// The week that contains Jan 4th is the first week of the year.
-
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
+ assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
+ assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', 'Jan 7 2012 should be week 2');
+ assert.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', 'Jan 13 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('tzm-latn');
+localeModule('uk');
test('parse', function (assert) {
- var tests = 'innayr innayr_brˤayrˤ brˤayrˤ_marˤsˤ marˤsˤ_ibrir ibrir_mayyw mayyw_ywnyw ywnyw_ywlywz ywlywz_ɣwšt ɣwšt_šwtanbir šwtanbir_ktˤwbrˤ ktˤwbrˤ_nwwanbir nwwanbir_dwjnbir dwjnbir'.split('_'), i;
+ var tests = 'січень січ_лютий лют_березень бер_квітень квіт_травень трав_червень черв_липень лип_серпень серп_вересень вер_жовтень жовт_листопад лист_грудень груд'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'asamas, brˤayrˤ 14 2010, 3:25:50 pm'],
- ['ddd, hA', 'asamas, 3PM'],
- ['M Mo MM MMMM MMM', '2 2 02 brˤayrˤ brˤayrˤ'],
+ ['dddd, Do MMMM YYYY, HH:mm:ss', 'неділя, 14-го лютого 2010, 15:25:50'],
+ ['ddd, h A', 'нд, 3 дня'],
+ ['M Mo MM MMMM MMM', '2 2-й 02 лютий лют'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 asamas asamas asamas'],
- ['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '8 8 08'],
+ ['D Do DD', '14 14-го 14'],
+ ['d do dddd ddd dd', '0 0-й неділя нд нд'],
+ ['DDD DDDo DDDD', '45 45-й 045'],
+ ['w wo ww', '7 7-й 07'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+ ['a A', 'дня дня'],
+ ['DDDo [день року]', '45-й день року'],
['LTS', '15:25:50'],
- ['L', '14/02/2010'],
- ['LL', '14 brˤayrˤ 2010'],
- ['LLL', '14 brˤayrˤ 2010 15:25'],
- ['LLLL', 'asamas 14 brˤayrˤ 2010 15:25'],
- ['l', '14/2/2010'],
- ['ll', '14 brˤayrˤ 2010'],
- ['lll', '14 brˤayrˤ 2010 15:25'],
- ['llll', 'asamas 14 brˤayrˤ 2010 15:25']
+ ['L', '14.02.2010'],
+ ['LL', '14 лютого 2010 р.'],
+ ['LLL', '14 лютого 2010 р., 15:25'],
+ ['LLLL', 'неділя, 14 лютого 2010 р., 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
}
});
+test('format meridiem', function (assert) {
+ assert.equal(moment([2012, 11, 28, 0, 0]).format('A'), 'ночі', 'night');
+ assert.equal(moment([2012, 11, 28, 3, 59]).format('A'), 'ночі', 'night');
+ assert.equal(moment([2012, 11, 28, 4, 0]).format('A'), 'ранку', 'morning');
+ assert.equal(moment([2012, 11, 28, 11, 59]).format('A'), 'ранку', 'morning');
+ assert.equal(moment([2012, 11, 28, 12, 0]).format('A'), 'дня', 'afternoon');
+ assert.equal(moment([2012, 11, 28, 16, 59]).format('A'), 'дня', 'afternoon');
+ assert.equal(moment([2012, 11, 28, 17, 0]).format('A'), 'вечора', 'evening');
+ assert.equal(moment([2012, 11, 28, 23, 59]).format('A'), 'вечора', 'evening');
+});
+
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-й', '1-й');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-й', '2-й');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-й', '3-й');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-й', '4-й');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-й', '5-й');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-й', '6-й');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-й', '7-й');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-й', '8-й');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-й', '9-й');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-й', '10-й');
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-й', '11-й');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-й', '12-й');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-й', '13-й');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-й', '14-й');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-й', '15-й');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-й', '16-й');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-й', '17-й');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-й', '18-й');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-й', '19-й');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-й', '20-й');
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-й', '21-й');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-й', '22-й');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-й', '23-й');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-й', '24-й');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-й', '25-й');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-й', '26-й');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-й', '27-й');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-й', '28-й');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-й', '29-й');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-й', '30-й');
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-й', '31-й');
});
test('format month', function (assert) {
- var expected = 'innayr innayr_brˤayrˤ brˤayrˤ_marˤsˤ marˤsˤ_ibrir ibrir_mayyw mayyw_ywnyw ywnyw_ywlywz ywlywz_ɣwšt ɣwšt_šwtanbir šwtanbir_ktˤwbrˤ ktˤwbrˤ_nwwanbir nwwanbir_dwjnbir dwjnbir'.split('_'), i;
+ var expected = 'січень січ_лютий лют_березень бер_квітень квіт_травень трав_червень черв_липень лип_серпень серп_вересень вер_жовтень жовт_листопад лист_грудень груд'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
+test('format month case', function (assert) {
+ var months = {
+ 'nominative': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_'),
+ 'accusative': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_')
+ }, i;
+ for (i = 0; i < 12; i++) {
+ assert.equal(moment([2011, i, 1]).format('D MMMM'), '1 ' + months.accusative[i], '1 ' + months.accusative[i]);
+ assert.equal(moment([2011, i, 1]).format('MMMM'), months.nominative[i], '1 ' + months.nominative[i]);
+ }
+});
+
test('format week', function (assert) {
- var expected = 'asamas asamas asamas_aynas aynas aynas_asinas asinas asinas_akras akras akras_akwas akwas akwas_asimwas asimwas asimwas_asiḍyas asiḍyas asiḍyas'.split('_'), i;
+ var expected = 'неділя нд нд_понеділок пн пн_вівторок вт вт_середа ср ср_четвер чт чт_п’ятниця пт пт_субота сб сб'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'imik', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'minuḍ', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'minuḍ', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minuḍ', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minuḍ', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'saɛa', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'saɛa', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 tassaɛin', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 tassaɛin', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 tassaɛin', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ass', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ass', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 ossan', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ass', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 ossan', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 ossan', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ayowr', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ayowr', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ayowr', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 iyyirn', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 iyyirn', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 iyyirn', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ayowr', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 iyyirn', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'asgas', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 isgasn', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'asgas', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 isgasn', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'декілька секунд', '44 seconds = seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'хвилина', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'хвилина', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 хвилини', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 хвилини', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'годину', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'годину', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 години', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 годин', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 година', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'день', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'день', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 дні', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'день', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 днів', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 11}), true), '11 днів', '11 days = 11 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 21}), true), '21 день', '21 days = 21 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 днів', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'місяць', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'місяць', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'місяць', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 місяці', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 місяці', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 місяці', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'місяць', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 місяців', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'рік', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 роки', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'рік', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 років', '5 years = 5 years');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'dadkh s yan imik', 'prefix');
- assert.equal(moment(0).from(30000), 'yan imik', 'suffix');
-});
-
-test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'yan imik', 'now from now should display as in the past');
+ assert.equal(moment(30000).from(0), 'за декілька секунд', 'prefix');
+ assert.equal(moment(0).from(30000), 'декілька секунд тому', 'suffix');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'dadkh s yan imik', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'dadkh s yan 5 ossan', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'за декілька секунд', 'in seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'за 5 днів', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'asdkh g 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'asdkh g 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'asdkh g 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'aska g 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'asdkh g 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'assant g 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'Сьогодні о 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Сьогодні о 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Сьогодні о 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Завтра о 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 2}).calendar(), 'Сьогодні о 10:00', 'Now minus 2 hours');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Вчора о 12:00', 'yesterday at the same time');
+ // A special case for Ukrainian since 11 hours have different preposition
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Сьогодні об 11:00', 'same day at 11 o\'clock');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [g] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[У] dddd [о' + (m.hours() === 11 ? 'б' : '') + '] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [g] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[У] dddd [о] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [g] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[У] dddd [о] LT'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
+
+ function makeFormat(d) {
+ switch (d.day()) {
+ case 0:
+ case 3:
+ case 5:
+ case 6:
+ return '[Минулої] dddd [о' + (d.hours() === 11 ? 'б' : '') + '] LT';
+ case 1:
+ case 2:
+ case 4:
+ return '[Минулого] dddd [о' + (d.hours() === 11 ? 'б' : '') + '] LT';
+ }
+ }
+
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [g] 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('dddd [g] 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('dddd [g] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days end of day');
}
});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
- assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', 'Jan 7 2012 should be week 2');
- assert.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', 'Jan 13 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
+ assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-й', 'Dec 26 2011 should be week 1');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-й', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2-й', 'Jan 2 2012 should be week 2');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2-й', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-й', 'Jan 9 2012 should be week 3');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('tzm');
+localeModule('ur');
+
+var months = [
+ 'جنوری',
+ 'فروری',
+ 'مارچ',
+ 'اپریل',
+ 'مئی',
+ 'جون',
+ 'جولائی',
+ 'اگست',
+ 'ستمبر',
+ 'اکتوبر',
+ 'نومبر',
+ 'دسمبر'
+];
+var days = [
+ 'اتوار',
+ 'پیر',
+ 'منگل',
+ 'بدھ',
+ 'جمعرات',
+ 'جمعہ',
+ 'ہفتہ'
+];
test('parse', function (assert) {
- var tests = 'ⵉⵏⵏⴰⵢⵔ ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
- for (i = 0; i < 12; i++) {
- tests[i] = tests[i].split(' ');
- equalTest(tests[i][0], 'MMM', i);
- equalTest(tests[i][1], 'MMM', i);
- equalTest(tests[i][0], 'MMMM', i);
- equalTest(tests[i][1], 'MMMM', i);
- equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
- equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
- equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
- equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+ for (var i = 0; i < 12; i++) {
+ equalTest(months[i], 'MMM', i);
+ equalTest(months[i], 'MMMM', i);
}
});
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'ⴰⵙⴰⵎⴰⵙ, ⴱⵕⴰⵢⵕ 14 2010, 3:25:50 pm'],
- ['ddd, hA', 'ⴰⵙⴰⵎⴰⵙ, 3PM'],
- ['M Mo MM MMMM MMM', '2 2 02 ⴱⵕⴰⵢⵕ ⴱⵕⴰⵢⵕ'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'اتوار، فروری 14 2010، 3:25:50 شام'],
+ ['ddd, hA', 'اتوار، 3شام'],
+ ['M Mo MM MMMM MMM', '2 2 02 فروری فروری'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ'],
+ ['d do dddd ddd dd', '0 0 اتوار اتوار اتوار'],
['DDD DDDo DDDD', '45 45 045'],
- ['w wo ww', '8 8 08'],
+ ['w wo ww', '6 6 06'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'pm PM'],
- ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+ ['a A', 'شام شام'],
+ ['[سال کا] DDDo[واں دن]', 'سال کا 45واں دن'],
['LTS', '15:25:50'],
['L', '14/02/2010'],
- ['LL', '14 ⴱⵕⴰⵢⵕ 2010'],
- ['LLL', '14 ⴱⵕⴰⵢⵕ 2010 15:25'],
- ['LLLL', 'ⴰⵙⴰⵎⴰⵙ 14 ⴱⵕⴰⵢⵕ 2010 15:25'],
+ ['LL', '14 فروری 2010'],
+ ['LLL', '14 فروری 2010 15:25'],
+ ['LLLL', 'اتوار، 14 فروری 2010 15:25'],
['l', '14/2/2010'],
- ['ll', '14 ⴱⵕⴰⵢⵕ 2010'],
- ['lll', '14 ⴱⵕⴰⵢⵕ 2010 15:25'],
- ['llll', 'ⴰⵙⴰⵎⴰⵙ 14 ⴱⵕⴰⵢⵕ 2010 15:25']
+ ['ll', '14 فروری 2010'],
+ ['lll', '14 فروری 2010 15:25'],
+ ['llll', 'اتوار، 14 فروری 2010 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format month', function (assert) {
- var expected = 'ⵉⵏⵏⴰⵢⵔ ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), i;
- for (i = 0; i < expected.length; i++) {
- assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+ for (var i = 0; i < months.length; i++) {
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), months[i] + ' ' + months[i], months[i] + ' ' + months[i]);
}
});
test('format week', function (assert) {
- var expected = 'ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ ⴰⵢⵏⴰⵙ ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ ⴰⵙⵉⵏⴰⵙ ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ ⴰⴽⵔⴰⵙ ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ ⴰⴽⵡⴰⵙ ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ ⴰⵙⵉⵎⵡⴰⵙ ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ ⴰⵙⵉⴹⵢⴰⵙ ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), i;
- for (i = 0; i < expected.length; i++) {
- assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
+ for (var i = 0; i < days.length; i++) {
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), days[i] + ' ' + days[i] + ' ' + days[i], days[i] + ' ' + days[i] + ' ' + days[i]);
}
});
test('from', function (assert) {
var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ⵉⵎⵉⴽ', '44 seconds = a few seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'ⵎⵉⵏⵓⴺ', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'ⵎⵉⵏⵓⴺ', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 ⵎⵉⵏⵓⴺ', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 ⵎⵉⵏⵓⴺ', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ⵙⴰⵄⴰ', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ⵙⴰⵄⴰ', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 ⵜⴰⵙⵙⴰⵄⵉⵏ', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 ⵜⴰⵙⵙⴰⵄⵉⵏ', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 ⵜⴰⵙⵙⴰⵄⵉⵏ', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ⴰⵙⵙ', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ⴰⵙⵙ', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 oⵙⵙⴰⵏ', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ⴰⵙⵙ', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 oⵙⵙⴰⵏ', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 oⵙⵙⴰⵏ', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ⴰⵢoⵓⵔ', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ⴰⵢoⵓⵔ', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ⴰⵢoⵓⵔ', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 ⵉⵢⵢⵉⵔⵏ', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 ⵉⵢⵢⵉⵔⵏ', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 ⵉⵢⵢⵉⵔⵏ', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ⴰⵢoⵓⵔ', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 ⵉⵢⵢⵉⵔⵏ', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ⴰⵙⴳⴰⵙ', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 ⵉⵙⴳⴰⵙⵏ', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ⴰⵙⴳⴰⵙ', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 ⵉⵙⴳⴰⵙⵏ', '5 years = 5 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'چند سیکنڈ', '44 seconds = چند سیکنڈ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'ایک منٹ', '45 seconds = ایک منٹ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'ایک منٹ', '89 seconds = ایک منٹ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 منٹ', '90 seconds = 2 منٹ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 منٹ', '44 minutes = 44 منٹ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ایک گھنٹہ', '45 minutes = ایک گھنٹہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ایک گھنٹہ', '89 minutes = ایک گھنٹہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 گھنٹے', '90 minutes = 2 گھنٹے');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 گھنٹے', '5 hours = 5 گھنٹے');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 گھنٹے', '21 hours = 21 گھنٹے');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ایک دن', '22 hours = ایک دن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ایک دن', '35 hours = ایک دن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 دن', '36 hours = 2 دن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ایک دن', '1 day = ایک دن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 دن', '5 days = 5 دن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 دن', '25 days = 25 دن');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ایک ماہ', '26 days = ایک ماہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ایک ماہ', '30 days = ایک ماہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ایک ماہ', '43 days = ایک ماہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 ماہ', '46 days = 2 ماہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 ماہ', '75 days = 2 ماہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 ماہ', '76 days = 3 ماہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ایک ماہ', '1 month = ایک ماہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 ماہ', '5 months = 5 ماہ');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ایک سال', '345 days = ایک سال');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 سال', '548 days = 2 سال');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ایک سال', '1 year = ایک سال');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 سال', '5 years = 5 سال');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ ⵉⵎⵉⴽ', 'prefix');
- assert.equal(moment(0).from(30000), 'ⵢⴰⵏ ⵉⵎⵉⴽ', 'suffix');
+ assert.equal(moment(30000).from(0), 'چند سیکنڈ بعد', 'prefix');
+ assert.equal(moment(0).from(30000), 'چند سیکنڈ قبل', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'ⵢⴰⵏ ⵉⵎⵉⴽ', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'چند سیکنڈ قبل', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ ⵉⵎⵉⴽ', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ 5 oⵙⵙⴰⵏ', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'چند سیکنڈ بعد', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), '5 دن بعد', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'ⴰⵙⴷⵅ ⴴ 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'ⴰⵙⴷⵅ ⴴ 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'ⴰⵙⴷⵅ ⴴ 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'ⴰⵙⴽⴰ ⴴ 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'ⴰⵙⴷⵅ ⴴ 11:00', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'ⴰⵚⴰⵏⵜ ⴴ 12:00', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), 'آج بوقت 12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'آج بوقت 12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'آج بوقت 13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'کل بوقت 12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'آج بوقت 11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'گذشتہ روز بوقت 12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [بوقت] LT'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [بوقت] LT'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [بوقت] LT'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
+
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[گذشتہ] dddd [بوقت] LT'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[گذشتہ] dddd [بوقت] LT'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('dddd [ⴴ] LT'), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[گذشتہ] dddd [بوقت] LT'), 'Today - ' + i + ' days end of day');
}
});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
- assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', 'Jan 7 2012 should be week 2');
- assert.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', 'Jan 13 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
defineCommonLocaleTests(name, -1, -1);
}
-localeModule('uk');
+localeModule('uz-latn');
test('parse', function (assert) {
- var tests = 'січень січ_лютий лют_березень бер_квітень квіт_травень трав_червень черв_липень лип_серпень серп_вересень вер_жовтень жовт_листопад лист_грудень груд'.split('_'), i;
+ var tests = 'Yanvar Yan_Fevral Fev_Mart Mar_Aprel Apr_May May_Iyun Iyun_Iyul Iyul_Avgust Avg_Sentabr Sen_Oktabr Okt_Noyabr Noy_Dekabr Dek'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, Do MMMM YYYY, HH:mm:ss', 'неділя, 14-го лютого 2010, 15:25:50'],
- ['ddd, h A', 'нд, 3 дня'],
- ['M Mo MM MMMM MMM', '2 2-й 02 лютий лют'],
+ ['dddd, Do-MMMM YYYY, h:mm:ss', 'Yakshanba, 14-Fevral 2010, 3:25:50'],
+ ['ddd, h:mm', 'Yak, 3:25'],
+ ['M Mo MM MMMM MMM', '2 2 02 Fevral Fev'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14-го 14'],
- ['d do dddd ddd dd', '0 0-й неділя нд нд'],
- ['DDD DDDo DDDD', '45 45-й 045'],
- ['w wo ww', '7 7-й 07'],
+ ['D Do DD', '14 14 14'],
+ ['d do dddd ddd dd', '0 0 Yakshanba Yak Ya'],
+ ['DDD DDDo DDDD', '45 45 045'],
+ ['w wo ww', '7 7 07'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'дня дня'],
- ['DDDo [день року]', '45-й день року'],
+ ['a A', 'pm PM'],
+ ['[yilning] DDDo-[kuni]', 'yilning 45-kuni'],
['LTS', '15:25:50'],
- ['L', '14.02.2010'],
- ['LL', '14 лютого 2010 р.'],
- ['LLL', '14 лютого 2010 р., 15:25'],
- ['LLLL', 'неділя, 14 лютого 2010 р., 15:25']
+ ['L', '14/02/2010'],
+ ['LL', '14 Fevral 2010'],
+ ['LLL', '14 Fevral 2010 15:25'],
+ ['LLLL', '14 Fevral 2010, Yakshanba 15:25'],
+ ['l', '14/2/2010'],
+ ['ll', '14 Fev 2010'],
+ ['lll', '14 Fev 2010 15:25'],
+ ['llll', '14 Fev 2010, Yak 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
}
});
-test('format meridiem', function (assert) {
- assert.equal(moment([2012, 11, 28, 0, 0]).format('A'), 'ночі', 'night');
- assert.equal(moment([2012, 11, 28, 3, 59]).format('A'), 'ночі', 'night');
- assert.equal(moment([2012, 11, 28, 4, 0]).format('A'), 'ранку', 'morning');
- assert.equal(moment([2012, 11, 28, 11, 59]).format('A'), 'ранку', 'morning');
- assert.equal(moment([2012, 11, 28, 12, 0]).format('A'), 'дня', 'afternoon');
- assert.equal(moment([2012, 11, 28, 16, 59]).format('A'), 'дня', 'afternoon');
- assert.equal(moment([2012, 11, 28, 17, 0]).format('A'), 'вечора', 'evening');
- assert.equal(moment([2012, 11, 28, 23, 59]).format('A'), 'вечора', 'evening');
-});
-
test('format ordinal', function (assert) {
- assert.equal(moment([2011, 0, 1]).format('DDDo'), '1-й', '1-й');
- assert.equal(moment([2011, 0, 2]).format('DDDo'), '2-й', '2-й');
- assert.equal(moment([2011, 0, 3]).format('DDDo'), '3-й', '3-й');
- assert.equal(moment([2011, 0, 4]).format('DDDo'), '4-й', '4-й');
- assert.equal(moment([2011, 0, 5]).format('DDDo'), '5-й', '5-й');
- assert.equal(moment([2011, 0, 6]).format('DDDo'), '6-й', '6-й');
- assert.equal(moment([2011, 0, 7]).format('DDDo'), '7-й', '7-й');
- assert.equal(moment([2011, 0, 8]).format('DDDo'), '8-й', '8-й');
- assert.equal(moment([2011, 0, 9]).format('DDDo'), '9-й', '9-й');
- assert.equal(moment([2011, 0, 10]).format('DDDo'), '10-й', '10-й');
-
- assert.equal(moment([2011, 0, 11]).format('DDDo'), '11-й', '11-й');
- assert.equal(moment([2011, 0, 12]).format('DDDo'), '12-й', '12-й');
- assert.equal(moment([2011, 0, 13]).format('DDDo'), '13-й', '13-й');
- assert.equal(moment([2011, 0, 14]).format('DDDo'), '14-й', '14-й');
- assert.equal(moment([2011, 0, 15]).format('DDDo'), '15-й', '15-й');
- assert.equal(moment([2011, 0, 16]).format('DDDo'), '16-й', '16-й');
- assert.equal(moment([2011, 0, 17]).format('DDDo'), '17-й', '17-й');
- assert.equal(moment([2011, 0, 18]).format('DDDo'), '18-й', '18-й');
- assert.equal(moment([2011, 0, 19]).format('DDDo'), '19-й', '19-й');
- assert.equal(moment([2011, 0, 20]).format('DDDo'), '20-й', '20-й');
-
- assert.equal(moment([2011, 0, 21]).format('DDDo'), '21-й', '21-й');
- assert.equal(moment([2011, 0, 22]).format('DDDo'), '22-й', '22-й');
- assert.equal(moment([2011, 0, 23]).format('DDDo'), '23-й', '23-й');
- assert.equal(moment([2011, 0, 24]).format('DDDo'), '24-й', '24-й');
- assert.equal(moment([2011, 0, 25]).format('DDDo'), '25-й', '25-й');
- assert.equal(moment([2011, 0, 26]).format('DDDo'), '26-й', '26-й');
- assert.equal(moment([2011, 0, 27]).format('DDDo'), '27-й', '27-й');
- assert.equal(moment([2011, 0, 28]).format('DDDo'), '28-й', '28-й');
- assert.equal(moment([2011, 0, 29]).format('DDDo'), '29-й', '29-й');
- assert.equal(moment([2011, 0, 30]).format('DDDo'), '30-й', '30-й');
-
- assert.equal(moment([2011, 0, 31]).format('DDDo'), '31-й', '31-й');
+ assert.equal(moment([2016, 0, 1]).format('DDDo'), '1', '1');
+ assert.equal(moment([2016, 0, 2]).format('DDDo'), '2', '2');
+ assert.equal(moment([2016, 0, 3]).format('DDDo'), '3', '3');
+ assert.equal(moment([2016, 0, 4]).format('DDDo'), '4', '4');
+ assert.equal(moment([2016, 0, 5]).format('DDDo'), '5', '5');
+ assert.equal(moment([2016, 0, 6]).format('DDDo'), '6', '6');
+ assert.equal(moment([2016, 0, 7]).format('DDDo'), '7', '7');
+ assert.equal(moment([2016, 0, 8]).format('DDDo'), '8', '8');
+ assert.equal(moment([2016, 0, 9]).format('DDDo'), '9', '9');
+ assert.equal(moment([2016, 0, 10]).format('DDDo'), '10', '10');
+
+ assert.equal(moment([2016, 0, 11]).format('DDDo'), '11', '11');
+ assert.equal(moment([2016, 0, 12]).format('DDDo'), '12', '12');
+ assert.equal(moment([2016, 0, 13]).format('DDDo'), '13', '13');
+ assert.equal(moment([2016, 0, 14]).format('DDDo'), '14', '14');
+ assert.equal(moment([2016, 0, 15]).format('DDDo'), '15', '15');
+ assert.equal(moment([2016, 0, 16]).format('DDDo'), '16', '16');
+ assert.equal(moment([2016, 0, 17]).format('DDDo'), '17', '17');
+ assert.equal(moment([2016, 0, 18]).format('DDDo'), '18', '18');
+ assert.equal(moment([2016, 0, 19]).format('DDDo'), '19', '19');
+ assert.equal(moment([2016, 0, 20]).format('DDDo'), '20', '20');
+
+ assert.equal(moment([2016, 0, 21]).format('DDDo'), '21', '21');
+ assert.equal(moment([2016, 0, 22]).format('DDDo'), '22', '22');
+ assert.equal(moment([2016, 0, 23]).format('DDDo'), '23', '23');
+ assert.equal(moment([2016, 0, 24]).format('DDDo'), '24', '24');
+ assert.equal(moment([2016, 0, 25]).format('DDDo'), '25', '25');
+ assert.equal(moment([2016, 0, 26]).format('DDDo'), '26', '26');
+ assert.equal(moment([2016, 0, 27]).format('DDDo'), '27', '27');
+ assert.equal(moment([2016, 0, 28]).format('DDDo'), '28', '28');
+ assert.equal(moment([2016, 0, 29]).format('DDDo'), '29', '29');
+ assert.equal(moment([2016, 0, 30]).format('DDDo'), '30', '30');
+
+ assert.equal(moment([2016, 0, 31]).format('DDDo'), '31', '31');
});
test('format month', function (assert) {
- var expected = 'січень січ_лютий лют_березень бер_квітень квіт_травень трав_червень черв_липень лип_серпень серп_вересень вер_жовтень жовт_листопад лист_грудень груд'.split('_'), i;
+ var expected = 'Yanvar Yan_Fevral Fev_Mart Mar_Aprel Apr_May May_Iyun Iyun_Iyul Iyul_Avgust Avg_Sentabr Sen_Oktabr Okt_Noyabr Noy_Dekabr Dek'.split('_'), i;
for (i = 0; i < expected.length; i++) {
- assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
- }
-});
-
-test('format month case', function (assert) {
- var months = {
- 'nominative': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_'),
- 'accusative': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_')
- }, i;
- for (i = 0; i < 12; i++) {
- assert.equal(moment([2011, i, 1]).format('D MMMM'), '1 ' + months.accusative[i], '1 ' + months.accusative[i]);
- assert.equal(moment([2011, i, 1]).format('MMMM'), months.nominative[i], '1 ' + months.nominative[i]);
+ assert.equal(moment([2016, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
});
test('format week', function (assert) {
- var expected = 'неділя нд нд_понеділок пн пн_вівторок вт вт_середа ср ср_четвер чт чт_п’ятниця пт пт_субота сб сб'.split('_'), i;
+ var expected = 'Yakshanba Yak Ya_Dushanba Dush Du_Seshanba Sesh Se_Chorshanba Chor Cho_Payshanba Pay Pa_Juma Jum Ju_Shanba Shan Sha'.split('_'), i;
for (i = 0; i < expected.length; i++) {
- assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
+ assert.equal(moment([2016, 0, 3 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
});
test('from', function (assert) {
- var start = moment([2007, 1, 28]);
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'декілька секунд', '44 seconds = seconds');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'хвилина', '45 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'хвилина', '89 seconds = a minute');
- assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 хвилини', '90 seconds = 2 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 хвилини', '44 minutes = 44 minutes');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'годину', '45 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'годину', '89 minutes = an hour');
- assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 години', '90 minutes = 2 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 годин', '5 hours = 5 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 година', '21 hours = 21 hours');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'день', '22 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'день', '35 hours = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 дні', '36 hours = 2 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'день', '1 day = a day');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 днів', '5 days = 5 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 11}), true), '11 днів', '11 days = 11 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 21}), true), '21 день', '21 days = 21 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 днів', '25 days = 25 days');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'місяць', '26 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'місяць', '30 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'місяць', '43 days = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 місяці', '46 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 місяці', '75 days = 2 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 місяці', '76 days = 3 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'місяць', '1 month = a month');
- assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 місяців', '5 months = 5 months');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'рік', '345 days = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 роки', '548 days = 2 years');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'рік', '1 year = a year');
- assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 років', '5 years = 5 years');
+ var start = moment([2017, 1, 28]);
+ assert.equal(start.from(moment([2017, 1, 28]).add({s: 44}), true), 'soniya', '44 soniya = soniya');
+ assert.equal(start.from(moment([2017, 1, 28]).add({s: 45}), true), 'bir daqiqa', '45 soniya = bir daqiqa');
+ assert.equal(start.from(moment([2017, 1, 28]).add({s: 89}), true), 'bir daqiqa', '89 soniya = bir daqiqa');
+ assert.equal(start.from(moment([2017, 1, 28]).add({s: 90}), true), '2 daqiqa', '90 soniya = 2 daqiqa');
+ assert.equal(start.from(moment([2017, 1, 28]).add({m: 44}), true), '44 daqiqa', '44 daqiqa = 44 daqiqa');
+ assert.equal(start.from(moment([2017, 1, 28]).add({m: 45}), true), 'bir soat', '45 minut = bir soat');
+ assert.equal(start.from(moment([2017, 1, 28]).add({m: 89}), true), 'bir soat', '89 minut = bir soat');
+ assert.equal(start.from(moment([2017, 1, 28]).add({m: 90}), true), '2 soat', '90 minut = 2 soat');
+ assert.equal(start.from(moment([2017, 1, 28]).add({h: 5}), true), '5 soat', '5 soat = 5 soat');
+ assert.equal(start.from(moment([2017, 1, 28]).add({h: 21}), true), '21 soat', '21 soat = 21 soat');
+ assert.equal(start.from(moment([2017, 1, 28]).add({h: 22}), true), 'bir kun', '22 soat = bir kun');
+ assert.equal(start.from(moment([2017, 1, 28]).add({h: 35}), true), 'bir kun', '35 soat = bir kun');
+ assert.equal(start.from(moment([2017, 1, 28]).add({h: 36}), true), '2 kun', '36 soat = 2 kun');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 1}), true), 'bir kun', '1 kun = 1 kun');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 5}), true), '5 kun', '5 kun = 5 kun');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 25}), true), '25 kun', '25 kun = 25 kun');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 26}), true), 'bir oy', '26 kun = bir oy');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 30}), true), 'bir oy', '30 kun = bir oy');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 43}), true), 'bir oy', '45 kun = bir oy');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 46}), true), '2 oy', '46 kun = 2 oy');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 74}), true), '2 oy', '75 kun = 2 oy');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 76}), true), '3 oy', '76 kun = 3 oy');
+ assert.equal(start.from(moment([2017, 1, 28]).add({M: 1}), true), 'bir oy', 'bir oy = bir oy');
+ assert.equal(start.from(moment([2017, 1, 28]).add({M: 5}), true), '5 oy', '5 oy = 5 oy');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 345}), true), 'bir yil', '345 kun = bir yil');
+ assert.equal(start.from(moment([2017, 1, 28]).add({d: 548}), true), '2 yil', '548 kun = 2 yil');
+ assert.equal(start.from(moment([2017, 1, 28]).add({y: 1}), true), 'bir yil', '1 yil = bir yil');
+ assert.equal(start.from(moment([2017, 1, 28]).add({y: 5}), true), '5 yil', '5 yil = 5 yil');
});
test('suffix', function (assert) {
- assert.equal(moment(30000).from(0), 'за декілька секунд', 'prefix');
- assert.equal(moment(0).from(30000), 'декілька секунд тому', 'suffix');
+ assert.equal(moment(30000).from(0), 'Yaqin soniya ichida', 'prefix');
+ assert.equal(moment(0).from(30000), 'Bir necha soniya oldin', 'suffix');
+});
+
+test('now from now', function (assert) {
+ assert.equal(moment().fromNow(), 'Bir necha soniya oldin', 'now from now should display as in the past');
});
test('fromNow', function (assert) {
- assert.equal(moment().add({s: 30}).fromNow(), 'за декілька секунд', 'in seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'за 5 днів', 'in 5 days');
+ assert.equal(moment().add({s: 30}).fromNow(), 'Yaqin soniya ichida', 'in a few seconds');
+ assert.equal(moment().add({d: 5}).fromNow(), 'Yaqin 5 kun ichida', 'in 5 days');
});
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), 'Сьогодні о 12:00', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), 'Сьогодні о 12:25', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), 'Сьогодні о 13:00', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), 'Завтра о 12:00', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 2}).calendar(), 'Сьогодні о 10:00', 'Now minus 2 hours');
- assert.equal(moment(a).subtract({d: 1}).calendar(), 'Вчора о 12:00', 'yesterday at the same time');
- // A special case for Ukrainian since 11 hours have different preposition
- assert.equal(moment(a).subtract({h: 1}).calendar(), 'Сьогодні об 11:00', 'same day at 11 o\'clock');
+ assert.equal(moment(a).calendar(), 'Bugun soat 12:00 da', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'Bugun soat 12:25 da', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), 'Bugun soat 13:00 da', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'Ertaga 12:00 da', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'Bugun soat 11:00 da', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'Kecha soat 12:00 da', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
var i, m;
for (i = 2; i < 7; i++) {
m = moment().add({d: i});
- assert.equal(m.calendar(), m.format('[У] dddd [о' + (m.hours() === 11 ? 'б' : '') + '] LT'), 'Today + ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('dddd [kuni soat] LT [da]'), 'Today + ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format('[У] dddd [о] LT'), 'Today + ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('dddd [kuni soat] LT [da]'), 'Today + ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format('[У] dddd [о] LT'), 'Today + ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('dddd [kuni soat] LT [da]'), 'Today + ' + i + ' days end of day');
}
});
test('calendar last week', function (assert) {
var i, m;
- function makeFormat(d) {
- switch (d.day()) {
- case 0:
- case 3:
- case 5:
- case 6:
- return '[Минулої] dddd [о' + (d.hours() === 11 ? 'б' : '') + '] LT';
- case 1:
- case 2:
- case 4:
- return '[Минулого] dddd [о' + (d.hours() === 11 ? 'б' : '') + '] LT';
- }
- }
-
for (i = 2; i < 7; i++) {
m = moment().subtract({d: i});
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days current time');
+ assert.equal(m.calendar(), m.format('[O\'tgan] dddd [kuni soat] LT [da]'), 'Today - ' + i + ' days current time');
m.hours(0).minutes(0).seconds(0).milliseconds(0);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days beginning of day');
+ assert.equal(m.calendar(), m.format('[O\'tgan] dddd [kuni soat] LT [da]'), 'Today - ' + i + ' days beginning of day');
m.hours(23).minutes(59).seconds(59).milliseconds(999);
- assert.equal(m.calendar(), m.format(makeFormat(m)), 'Today - ' + i + ' days end of day');
+ assert.equal(m.calendar(), m.format('[O\'tgan] dddd [kuni soat] LT [da]'), 'Today - ' + i + ' days end of day');
}
});
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-й', 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-й', 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2-й', 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2-й', 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-й', 'Jan 9 2012 should be week 3');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 2');
});
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
['s ss', '50 50'],
['a A', '下午 下午'],
['[这年的第] DDDo', '这年的第 45日'],
- ['LTS', '下午3点25分50秒'],
- ['L', '2010-02-14'],
+ ['LTS', '15:25:50'],
+ ['L', '2010年2月14日'],
['LL', '2010年2月14日'],
['LLL', '2010年2月14日下午3点25分'],
['LLLL', '2010年2月14日星期日下午3点25分'],
- ['l', '2010-02-14'],
+ ['l', '2010年2月14日'],
['ll', '2010年2月14日'],
- ['lll', '2010年2月14日下午3点25分'],
- ['llll', '2010年2月14日星期日下午3点25分']
+ ['lll', '2010年2月14日 15:25'],
+ ['llll', '2010年2月14日星期日 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), '今天中午12点整', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), '今天中午12点25分', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), '今天下午1点整', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), '明天中午12点整', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), '今天上午11点整', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), '昨天中午12点整', 'yesterday at the same time');
-});
-
-test('calendar current week', function (assert) {
- var i, m,
- today = moment().startOf('day');
-
- for (i = 0; i < 7; i++) {
- m = moment().startOf('week').add({d: i});
- if (Math.abs(m.diff(today, 'days')) <= 1) {
- continue; // skip today, yesterday, tomorrow
- }
- assert.equal(m.calendar(), m.format('[本]ddd凌晨12点整'), 'Monday + ' + i + ' days current time');
- }
+ assert.equal(moment(a).calendar(), '今天12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), '今天12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), '今天13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), '明天12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), '今天11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), '昨天12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
- var i, m,
- today = moment().startOf('day');
-
- for (i = 7; i < 14; i++) {
- m = moment().startOf('week').add({d: i});
- if (Math.abs(m.diff(today, 'days')) >= 7) {
- continue;
- }
- if (Math.abs(m.diff(today, 'days')) <= 1) {
- continue; // skip today, yesterday, tomorrow
- }
- assert.equal(m.calendar(), m.format('[下]ddd凌晨12点整'), 'Today + ' + i + ' days beginning of day');
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().add({d: i});
+ assert.equal(m.calendar(), m.format('[下]ddddLT'), 'Today + ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('[下]ddddLT'), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('[下]ddddLT'), 'Today + ' + i + ' days end of day');
}
- assert.equal(42, 42, 'at least one assert');
});
test('calendar last week', function (assert) {
- var i, m,
- today = moment().startOf('day');
-
- for (i = 1; i < 8; i++) {
- m = moment().startOf('week').subtract({d: i});
- if ((Math.abs(m.diff(today, 'days')) >= 7) || (Math.abs(m.diff(today, 'days')) <= 1)) {
- continue;
- }
- assert.equal(m.calendar(), m.format('[上]ddd凌晨12点整'), 'Monday - ' + i + ' days next week');
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().subtract({d: i});
+ assert.equal(m.calendar(), m.format('[上]ddddLT'), 'Today - ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('[上]ddddLT'), 'Today - ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('[上]ddddLT'), 'Today - ' + i + ' days end of day');
}
- assert.equal(42, 42, 'at least one assert');
});
test('calendar all else', function (assert) {
var weeksAgo = moment().subtract({w: 1}),
weeksFromNow = moment().add({w: 1});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('LL'), '1 week ago');
- assert.equal(weeksFromNow.calendar(), weeksFromNow.format('LL'), 'in 1 week');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
weeksAgo = moment().subtract({w: 2});
weeksFromNow = moment().add({w: 2});
- assert.equal(weeksAgo.calendar(), weeksAgo.format('LL'), '2 weeks ago');
- assert.equal(weeksFromNow.calendar(), weeksFromNow.format('LL'), 'in 2 weeks');
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
test('meridiem', function (assert) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
['s ss', '50 50'],
['a A', '下午 下午'],
['[這年的第] DDDo', '這年的第 45日'],
- ['LTS', '下午3點25分50秒'],
+ ['LTS', '15:25:50'],
['L', '2010年2月14日'],
['LL', '2010年2月14日'],
- ['LLL', '2010年2月14日下午3點25分'],
- ['LLLL', '2010年2月14日星期日下午3點25分'],
+ ['LLL', '2010年2月14日 15:25'],
+ ['LLLL', '2010年2月14日星期日 15:25'],
['l', '2010年2月14日'],
['ll', '2010年2月14日'],
- ['lll', '2010年2月14日下午3點25分'],
- ['llll', '2010年2月14日星期日下午3點25分']
+ ['lll', '2010年2月14日 15:25'],
+ ['llll', '2010年2月14日星期日 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), '今天中午12點00分', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), '今天中午12點25分', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), '今天下午1點00分', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), '明天中午12點00分', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), '今天上午11點00分', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), '昨天中午12點00分', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), '今天12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), '今天12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), '今天13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), '明天12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), '今天11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), '昨天12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
['s ss', '50 50'],
['a A', '下午 下午'],
['[這年的第] DDDo', '這年的第 45日'],
- ['LTS', '下午3點25分50秒'],
+ ['LTS', '15:25:50'],
['L', '2010年2月14日'],
['LL', '2010年2月14日'],
- ['LLL', '2010年2月14日下午3點25分'],
- ['LLLL', '2010年2月14日星期日下午3點25分'],
+ ['LLL', '2010年2月14日 15:25'],
+ ['LLLL', '2010年2月14日星期日 15:25'],
['l', '2010年2月14日'],
['ll', '2010年2月14日'],
- ['lll', '2010年2月14日下午3點25分'],
- ['llll', '2010年2月14日星期日下午3點25分']
+ ['lll', '2010年2月14日 15:25'],
+ ['llll', '2010年2月14日星期日 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
test('calendar day', function (assert) {
var a = moment().hours(12).minutes(0).seconds(0);
- assert.equal(moment(a).calendar(), '今天中午12點00分', 'today at the same time');
- assert.equal(moment(a).add({m: 25}).calendar(), '今天中午12點25分', 'Now plus 25 min');
- assert.equal(moment(a).add({h: 1}).calendar(), '今天下午1點00分', 'Now plus 1 hour');
- assert.equal(moment(a).add({d: 1}).calendar(), '明天中午12點00分', 'tomorrow at the same time');
- assert.equal(moment(a).subtract({h: 1}).calendar(), '今天上午11點00分', 'Now minus 1 hour');
- assert.equal(moment(a).subtract({d: 1}).calendar(), '昨天中午12點00分', 'yesterday at the same time');
+ assert.equal(moment(a).calendar(), '今天12:00', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), '今天12:25', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 1}).calendar(), '今天13:00', 'Now plus 1 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), '明天12:00', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), '今天11:00', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), '昨天12:00', 'yesterday at the same time');
});
test('calendar next week', function (assert) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
['h:mm a', '12:00 am'],
['h:mm a', '12:30 am'],
['HH:mm', '12:00'],
+ ['kk:mm', '12:00'],
['YYYY-MM-DDTHH:mm:ss', '2011-11-11T11:11:11'],
['MM-DD-YYYY [M]', '12-02-1999 M'],
['ddd MMM DD HH:mm:ss YYYY', 'Tue Apr 07 22:52:51 2009'],
['HH:mm:ss S', '00:30:00 7'],
['HH:mm:ss SS', '00:30:00 78'],
['HH:mm:ss SSS', '00:30:00 789'],
+ ['kk:mm:ss', '12:00:00'],
+ ['kk:mm:ss', '12:30:00'],
+ ['kk:mm:ss', '24:00:00'],
+ ['kk:mm:ss S', '24:30:00 1'],
+ ['kk:mm:ss SS', '24:30:00 12'],
+ ['kk:mm:ss SSS', '24:30:00 123'],
+ ['kk:mm:ss S', '24:30:00 7'],
+ ['kk:mm:ss SS', '24:30:00 78'],
+ ['kk:mm:ss SSS', '24:30:00 789'],
['X', '1234567890'],
['x', '1234567890123'],
['LT', '12:30 AM'],
assert.equal(moment('11-02-10', ['MM/DD/YY', 'YY MM DD', 'DD-MM-YY']).format('MM DD YYYY'), '02 11 2010', 'all unparsed substrings have influence on format penalty');
assert.equal(moment('11-02-10', ['MM-DD-YY HH:mm', 'YY MM DD']).format('MM DD YYYY'), '02 10 2011', 'prefer formats without extra tokens');
- assert.equal(moment('11-02-10 junk', ['MM-DD-YY', 'YY.MM.DD junk']).format('MM DD YYYY'), '02 10 2011', 'prefer formats that dont result in extra characters');
+ assert.equal(moment('11-02-10 junk', ['MM-DD-YY', 'YY.MM.DD [junk]']).format('MM DD YYYY'), '02 10 2011', 'prefer formats that dont result in extra characters');
assert.equal(moment('11-22-10', ['YY-MM-DD', 'YY-DD-MM']).format('MM DD YYYY'), '10 22 2011', 'prefer valid results');
assert.equal(moment('gibberish', ['YY-MM-DD', 'YY-DD-MM']).format('MM DD YYYY'), 'Invalid date', 'doest throw for invalid strings');
assert.equal(moment('gibberish', []).format('MM DD YYYY'), 'Invalid date', 'doest throw for an empty array');
- //https://github.com/moment/moment/issues/1143
+ // https://github.com/moment/moment/issues/1143
assert.equal(moment(
'System Administrator and Database Assistant (7/1/2011), System Administrator and Database Assistant (7/1/2011), Database Coordinator (7/1/2011), Vice President (7/1/2011), System Administrator and Database Assistant (5/31/2012), Database Coordinator (7/1/2012), System Administrator and Database Assistant (7/1/2013)',
['MM/DD/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD', 'YYYY-MM-DDTHH:mm:ssZ'])
test('string with array of formats + ISO', function (assert) {
assert.equal(moment('1994', [moment.ISO_8601, 'MM', 'HH:mm', 'YYYY']).year(), 1994, 'iso: assert parse YYYY');
assert.equal(moment('17:15', [moment.ISO_8601, 'MM', 'HH:mm', 'YYYY']).hour(), 17, 'iso: assert parse HH:mm (1)');
+ assert.equal(moment('24:15', [moment.ISO_8601, 'MM', 'kk:mm', 'YYYY']).hour(), 0, 'iso: assert parse kk:mm');
assert.equal(moment('17:15', [moment.ISO_8601, 'MM', 'HH:mm', 'YYYY']).minutes(), 15, 'iso: assert parse HH:mm (2)');
assert.equal(moment('06', [moment.ISO_8601, 'MM', 'HH:mm', 'YYYY']).month(), 6 - 1, 'iso: assert parse MM');
assert.equal(moment('2012-06-01', [moment.ISO_8601, 'MM', 'HH:mm', 'YYYY']).parsingFlags().iso, true, 'iso: assert parse iso');
assert.equal(moment(moment.utc())._isUTC, true, 'An implicit cloned utc moment should have _isUTC == true');
});
+test('parsing RFC 2822', function (assert) {
+ var testCases = {
+ 'clean RFC2822 datetime with all options': 'Tue, 01 Nov 2016 01:23:45 UT',
+ 'clean RFC2822 datetime without comma': 'Tue 01 Nov 2016 02:23:45 GMT',
+ 'clean RFC2822 datetime without seconds': 'Tue, 01 Nov 2016 03:23 +0000',
+ 'clean RFC2822 datetime without century': 'Tue, 01 Nov 16 04:23:45 Z',
+ 'clean RFC2822 datetime without day': '01 Nov 2016 05:23:45 z',
+ 'clean RFC2822 datetime with single-digit day-of-month': 'Tue, 1 Nov 2016 06:23:45 GMT',
+ 'RFC2822 datetime with CFWSs': '(Init Comment) Tue,\n 1 Nov 2016 (Split\n Comment) 07:23:45 +0000 (GMT)'
+ };
+ var testCase;
+
+ for (testCase in testCases) {
+ var testResult = moment(testCases[testCase], moment.RFC_2822, true);
+ assert.ok(testResult.isValid(), testResult);
+ assert.ok(testResult.parsingFlags().rfc2822, testResult + ' - rfc2822 parsingFlag');
+ }
+});
+
+test('non RFC 2822 strings', function (assert) {
+ var testCases = {
+ 'RFC2822 datetime with all options but invalid day delimiter': 'Tue. 01 Nov 2016 01:23:45 GMT',
+ 'RFC2822 datetime with mismatching Day (week v date)': 'Mon, 01 Nov 2016 01:23:45 GMT'
+ };
+ var testCase;
+
+ for (testCase in testCases) {
+ var testResult = moment(testCases[testCase], moment.RFC_2822, true);
+ assert.ok(!testResult.isValid(), testResult);
+ assert.ok(!testResult.parsingFlags().rfc2822, testResult + ' - rfc2822 parsingFlag');
+ }
+});
+
test('parsing iso', function (assert) {
var offset = moment([2011, 9, 8]).utcOffset(),
pad = function (input) {
assert.ok(isNaN(momentAsDate.getTime()), 'toDate returns an invalid Date invalid');
});
+test('k, kk', function (assert) {
+ for (var i = -1; i <= 24; i++) {
+ var kVal = i + ':15:59';
+ var kkVal = (i < 10 ? '0' : '') + i + ':15:59';
+ if (i !== 24) {
+ assert.ok(moment(kVal, 'k:mm:ss').isSame(moment(kVal, 'H:mm:ss')), kVal + ' k parsing');
+ assert.ok(moment(kkVal, 'kk:mm:ss').isSame(moment(kkVal, 'HH:mm:ss')), kkVal + ' kk parsing');
+ } else {
+ assert.equal(moment(kVal, 'k:mm:ss').format('k:mm:ss'), kVal, kVal + ' k parsing');
+ assert.equal(moment(kkVal, 'kk:mm:ss').format('kk:mm:ss'), kkVal, kkVal + ' skk parsing');
+ }
+ }
+});
+
})));
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+function module$1 (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ teardownDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+}
+
+module$1('days in year');
+
+// https://github.com/moment/moment/issues/3717
+test('YYYYDDD should not parse DDD=000', function (assert) {
+ assert.equal(moment(7000000, moment.ISO_8601, true).isValid(), false);
+ assert.equal(moment('7000000', moment.ISO_8601, true).isValid(), false);
+ assert.equal(moment(7000000, moment.ISO_8601, false).isValid(), false);
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
test('milliseconds instantiation', function (assert) {
assert.equal(moment.duration(72).milliseconds(), 72, 'milliseconds');
+ assert.equal(moment.duration(72).humanize(), 'a few seconds', 'Duration should be valid');
});
test('undefined instantiation', function (assert) {
assert.equal(moment.duration(undefined).milliseconds(), 0, 'milliseconds');
+ assert.equal(moment.duration(undefined).isValid(), true, '_isValid');
+ assert.equal(moment.duration(undefined).humanize(), 'a few seconds', 'Duration should be valid');
});
test('null instantiation', function (assert) {
assert.equal(moment.duration(null).milliseconds(), 0, 'milliseconds');
+ assert.equal(moment.duration(null).isValid(), true, '_isValid');
+ assert.equal(moment.duration(null).humanize(), 'a few seconds', 'Duration should be valid');
+});
+
+test('NaN instantiation', function (assert) {
+ assert.ok(isNaN(moment.duration(NaN).milliseconds()), 'milliseconds should be NaN');
+ assert.equal(moment.duration(NaN).isValid(), false, '_isValid');
+ assert.equal(moment.duration(NaN).humanize(), 'Invalid date', 'Duration should be invalid');
});
test('instantiation by type', function (assert) {
assert.equal(moment.duration({M: -1}).toISOString(), '-P1M', 'one month ago');
assert.equal(moment.duration({m: -1}).toISOString(), '-PT1M', 'one minute ago');
assert.equal(moment.duration({s: -0.5}).toISOString(), '-PT0.5S', 'one half second ago');
- assert.equal(moment.duration({y: -0.5, M: 1}).toISOString(), '-P5M', 'a month after half a year ago');
+ assert.equal(moment.duration({y: -1, M: 1}).toISOString(), '-P11M', 'a month after a year ago');
assert.equal(moment.duration({}).toISOString(), 'P0D', 'zero duration');
assert.equal(moment.duration({M: 16, d:40, s: 86465}).toISOString(), 'P1Y4M40DT24H1M5S', 'all fields');
});
assert.equal(moment.duration({M: -1}).toString(), '-P1M', 'one month ago');
assert.equal(moment.duration({m: -1}).toString(), '-PT1M', 'one minute ago');
assert.equal(moment.duration({s: -0.5}).toString(), '-PT0.5S', 'one half second ago');
- assert.equal(moment.duration({y: -0.5, M: 1}).toString(), '-P5M', 'a month after half a year ago');
+ assert.equal(moment.duration({y: -1, M: 1}).toString(), '-P11M', 'a month after a year ago');
assert.equal(moment.duration({}).toString(), 'P0D', 'zero duration');
assert.equal(moment.duration({M: 16, d:40, s: 86465}).toString(), 'P1Y4M40DT24H1M5S', 'all fields');
});
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+function module$1 (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ teardownDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+}
+
+module$1('invalid');
+
+test('invalid duration', function (assert) {
+ var m = moment.duration.invalid(); // should be invalid
+ assert.equal(m.isValid(), false);
+ assert.ok(isNaN(m.valueOf()));
+});
+
+test('valid duration', function (assert) {
+ var m = moment.duration({d: null}); // should be valid, for now
+ assert.equal(m.isValid(), true);
+ assert.equal(m.valueOf(), 0);
+});
+
+test('invalid duration - only smallest unit can have decimal', function (assert) {
+ var m = moment.duration({'days': 3.5, 'hours': 1.1}); // should be invalid
+ assert.equal(m.isValid(), false);
+ assert.ok(isNaN(m.valueOf())); // .valueOf() returns NaN for invalid durations
+});
+
+test('valid duration - smallest unit can have decimal', function (assert) {
+ var m = moment.duration({'days': 3, 'hours': 1.1}); // should be valid
+ assert.equal(m.isValid(), true);
+ assert.equal(m.asHours(), 73.1);
+});
+
+test('invalid duration with two arguments', function (assert) {
+ var m = moment.duration(NaN, 'days');
+ assert.equal(m.isValid(), false);
+ assert.ok(isNaN(m.valueOf()));
+});
+
+test('invalid duration operations', function (assert) {
+ var invalids = [
+ moment.duration(NaN),
+ moment.duration(NaN, 'days'),
+ moment.duration.invalid()
+ ],
+ i,
+ invalid,
+ valid = moment.duration();
+
+ for (i = 0; i < invalids.length; ++i) {
+ invalid = invalids[i];
+
+ assert.ok(!invalid.add(5, 'hours').isValid(), 'invalid.add is invalid; i=' + i);
+ assert.ok(!invalid.subtract(30, 'days').isValid(), 'invalid.subtract is invalid; i=' + i);
+ assert.ok(!invalid.abs().isValid(), 'invalid.abs is invalid; i=' + i);
+ assert.ok(isNaN(invalid.as('years')), 'invalid.as is NaN; i=' + i);
+ assert.ok(isNaN(invalid.asMilliseconds()), 'invalid.asMilliseconds is NaN; i=' + i);
+ assert.ok(isNaN(invalid.asSeconds()), 'invalid.asSeconds is NaN; i=' + i);
+ assert.ok(isNaN(invalid.asMinutes()), 'invalid.asMinutes is NaN; i=' + i);
+ assert.ok(isNaN(invalid.asHours()), 'invalid.asHours is NaN; i=' + i);
+ assert.ok(isNaN(invalid.asDays()), 'invalid.asDays is NaN; i=' + i);
+ assert.ok(isNaN(invalid.asWeeks()), 'invalid.asWeeks is NaN; i=' + i);
+ assert.ok(isNaN(invalid.asMonths()), 'invalid.asMonths is NaN; i=' + i);
+ assert.ok(isNaN(invalid.asYears()), 'invalid.asYears is NaN; i=' + i);
+ assert.ok(isNaN(invalid.valueOf()), 'invalid.valueOf is NaN; i=' + i);
+ assert.ok(isNaN(invalid.get('hours')), 'invalid.get is NaN; i=' + i);
+
+ assert.ok(isNaN(invalid.milliseconds()), 'invalid.milliseconds is NaN; i=' + i);
+ assert.ok(isNaN(invalid.seconds()), 'invalid.seconds is NaN; i=' + i);
+ assert.ok(isNaN(invalid.minutes()), 'invalid.minutes is NaN; i=' + i);
+ assert.ok(isNaN(invalid.hours()), 'invalid.hours is NaN; i=' + i);
+ assert.ok(isNaN(invalid.days()), 'invalid.days is NaN; i=' + i);
+ assert.ok(isNaN(invalid.weeks()), 'invalid.weeks is NaN; i=' + i);
+ assert.ok(isNaN(invalid.months()), 'invalid.months is NaN; i=' + i);
+ assert.ok(isNaN(invalid.years()), 'invalid.years is NaN; i=' + i);
+
+ assert.equal(invalid.humanize(),
+ invalid.localeData().invalidDate(),
+ 'invalid.humanize is localized invalid duration string; i=' + i);
+ assert.equal(invalid.toISOString(),
+ invalid.localeData().invalidDate(),
+ 'invalid.toISOString is localized invalid duration string; i=' + i);
+ assert.equal(invalid.toString(),
+ invalid.localeData().invalidDate(),
+ 'invalid.toString is localized invalid duration string; i=' + i);
+ assert.equal(invalid.toJSON(), invalid.localeData().invalidDate(), 'invalid.toJSON is null; i=' + i);
+ assert.equal(invalid.locale(), 'en', 'invalid.locale; i=' + i);
+ assert.equal(invalid.localeData()._abbr, 'en', 'invalid.localeData()._abbr; i=' + i);
+ }
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// big negative years
date = moment.utc('-020123-10-09T20:30:40.678');
assert.equal(date.toISOString(), '-020123-10-09T20:30:40.678Z', 'ISO8601 format on big negative year');
+
+ //invalid dates
+ date = moment.utc('2017-12-32');
+ assert.equal(date.toISOString(), null, 'An invalid date to iso string is null');
});
// See https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
assert.equal(moment.utc().year(-20123).format('YYYYYY'), '-020123', 'big negative year with YYYYYY');
});
+test('toISOString() when 0 year', function (assert) {
+ // https://github.com/moment/moment/issues/3765
+ var date = moment('0000-01-01T21:00:00.000Z');
+ assert.equal(date.toISOString(), '0000-01-01T21:00:00.000Z');
+ assert.equal(date.toDate().toISOString(), '0000-01-01T21:00:00.000Z');
+});
+
test('iso week formats', function (assert) {
- // http://en.wikipedia.org/wiki/ISO_week_date
+ // https://en.wikipedia.org/wiki/ISO_week_date
var cases = {
'2005-01-02': '2004-53',
'2005-12-31': '2005-52',
});
test('iso week year formats', function (assert) {
- // http://en.wikipedia.org/wiki/ISO_week_date
+ // https://en.wikipedia.org/wiki/ISO_week_date
var cases = {
'2005-01-02': '2004-53',
'2005-12-31': '2005-52',
});
test('week year formats', function (assert) {
- // http://en.wikipedia.org/wiki/ISO_week_date
+ // https://en.wikipedia.org/wiki/ISO_week_date
var cases = {
'2005-01-02': '2004-53',
'2005-12-31': '2005-52',
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+function module$1 (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ teardownDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+}
+
+module$1('instanceof');
+
+test('instanceof', function (assert) {
+ var mm = moment([2010, 0, 1]);
+
+ var extend = function (a, b) {
+ var i;
+ for (i in b) {
+ a[i] = b[i];
+ }
+ return a;
+ };
+
+ assert.equal(moment() instanceof moment, true, 'simple moment object');
+ assert.equal(extend({}, moment()) instanceof moment, false, 'extended moment object');
+ assert.equal(moment(null) instanceof moment, true, 'invalid moment object');
+
+ assert.equal(new Date() instanceof moment, false, 'date object is not moment object');
+ assert.equal(Object instanceof moment, false, 'Object is not moment object');
+ assert.equal('foo' instanceof moment, false, 'string is not moment object');
+ assert.equal(1 instanceof moment, false, 'number is not moment object');
+ assert.equal(NaN instanceof moment, false, 'NaN is not moment object');
+ assert.equal(null instanceof moment, false, 'null is not moment object');
+ assert.equal(undefined instanceof moment, false, 'undefined is not moment object');
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
-}
-function setupDeprecationHandler(test, moment$$1, scope) {
- test._expectedDeprecations = null;
- test._observedDeprecations = null;
- test._oldSupress = moment$$1.suppressDeprecationWarnings;
- moment$$1.suppressDeprecationWarnings = true;
- test.expectedDeprecations = function () {
- test._expectedDeprecations = arguments;
- test._observedDeprecations = [];
- };
- moment$$1.deprecationHandler = function (name, msg) {
- var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
- if (deprecationId === -1) {
- throw new Error('Unexpected deprecation thrown name=' +
- name + ' msg=' + msg);
- }
- test._observedDeprecations[deprecationId] = 1;
- };
-}
-
-function teardownDeprecationHandler(test, moment$$1, scope) {
- moment$$1.suppressDeprecationWarnings = test._oldSupress;
-
- if (test._expectedDeprecations != null) {
- var missedDeprecations = [];
- each(test._expectedDeprecations, function (deprecationPattern, id) {
- if (test._observedDeprecations[id] !== 1) {
- missedDeprecations.push(deprecationPattern);
- }
- });
- if (missedDeprecations.length !== 0) {
- throw new Error('Expected deprecation warnings did not happen: ' +
- missedDeprecations.join(' '));
- }
- }
-}
-
-function matchedDeprecation(name, msg, deprecations) {
- if (deprecations == null) {
- return -1;
- }
- for (var i = 0; i < deprecations.length; ++i) {
- if (name != null && name === deprecations[i]) {
- return i;
- }
- if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
- return i;
- }
- }
- return -1;
-}
-
-/*global QUnit:false*/
-
-var test = QUnit.test;
-
-var expect = QUnit.expect;
-
-function module$1 (name, lifecycle) {
- QUnit.module(name, {
- setup : function () {
- moment.locale('en');
- moment.createFromInputFallback = function (config) {
- throw new Error('input not handled by moment: ' + config._i);
- };
- setupDeprecationHandler(test, moment, 'core');
- if (lifecycle && lifecycle.setup) {
- lifecycle.setup();
- }
- },
- teardown : function () {
- teardownDeprecationHandler(test, moment, 'core');
- if (lifecycle && lifecycle.teardown) {
- lifecycle.teardown();
- }
- }
- });
-}
-
-module$1('instanceof');
-
-test('instanceof', function (assert) {
- var mm = moment([2010, 0, 1]);
-
- var extend = function (a, b) {
- var i;
- for (i in b) {
- a[i] = b[i];
- }
- return a;
- };
-
- assert.equal(moment() instanceof moment, true, 'simple moment object');
- assert.equal(extend({}, moment()) instanceof moment, false, 'extended moment object');
- assert.equal(moment(null) instanceof moment, true, 'invalid moment object');
-
- assert.equal(new Date() instanceof moment, false, 'date object is not moment object');
- assert.equal(Object instanceof moment, false, 'Object is not moment object');
- assert.equal('foo' instanceof moment, false, 'string is not moment object');
- assert.equal(1 instanceof moment, false, 'number is not moment object');
- assert.equal(NaN instanceof moment, false, 'NaN is not moment object');
- assert.equal(null instanceof moment, false, 'null is not moment object');
- assert.equal(undefined instanceof moment, false, 'undefined is not moment object');
-});
-
-})));
-
-
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, (function (moment) { 'use strict';
-
-function each(array, callback) {
- var i;
- for (i = 0; i < array.length; i++) {
- callback(array[i], i, array);
- }
-}
-
-function objectKeys(obj) {
- if (Object.keys) {
- return Object.keys(obj);
- } else {
- // IE8
- var res = [], i;
- for (i in obj) {
- if (obj.hasOwnProperty(i)) {
- res.push(i);
- }
- }
- return res;
- }
-}
-
-// Pick the first defined of two or three arguments.
-
-function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
- }
- }
- });
-
- test('date format correctness', function (assert) {
- var data, tokens;
- data = moment.localeData()._longDateFormat;
- tokens = objectKeys(data);
- each(tokens, function (srchToken) {
- // Check each format string to make sure it does not contain any
- // tokens that need to be expanded.
- each(tokens, function (baseToken) {
- // strip escaped sequences
- var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
- assert.equal(false, !!~format.indexOf(srchToken),
- 'contains ' + srchToken + ' in ' + baseToken);
- });
- });
- });
-
- test('month parsing correctness', function (assert) {
- var i, m;
-
- if (locale === 'tr') {
- // I can't fix it :(
- expect(0);
- return;
- }
- function tester(format) {
- var r;
- r = moment(m.format(format), format);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
- r = moment(m.format(format).toLocaleUpperCase(), format);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
- r = moment(m.format(format).toLocaleLowerCase(), format);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
-
- r = moment(m.format(format), format, true);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
- r = moment(m.format(format).toLocaleUpperCase(), format, true);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
- r = moment(m.format(format).toLocaleLowerCase(), format, true);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
- }
-
- for (i = 0; i < 12; ++i) {
- m = moment([2015, i, 15, 18]);
- tester('MMM');
- tester('MMM.');
- tester('MMMM');
- tester('MMMM.');
- }
- });
-
- test('weekday parsing correctness', function (assert) {
- var i, m;
-
- if (locale === 'tr' || locale === 'az' || locale === 'ro') {
- // tr, az: There is a lower-case letter (ı), that converted to
- // upper then lower changes to i
- // ro: there is the letter ț which behaves weird under IE8
- expect(0);
- return;
- }
- function tester(format) {
- var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
- r = moment(m.format(format), format);
- assert.equal(r.weekday(), m.weekday(), baseMsg);
- r = moment(m.format(format).toLocaleUpperCase(), format);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
- r = moment(m.format(format).toLocaleLowerCase(), format);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
-
- r = moment(m.format(format), format, true);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
- r = moment(m.format(format).toLocaleUpperCase(), format, true);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
- r = moment(m.format(format).toLocaleLowerCase(), format, true);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
- }
-
- for (i = 0; i < 7; ++i) {
- m = moment.utc([2015, 0, i + 1, 18]);
- tester('dd');
- tester('ddd');
- tester('dddd');
- }
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
});
}
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
});
test('oddball permissiveness', function (assert) {
- //https://github.com/moment/moment/issues/1128
+ // https://github.com/moment/moment/issues/1128
assert.ok(moment('2010-10-3199', ['MM/DD/YYYY', 'MM-DD-YYYY', 'YYYY-MM-DD']).isValid());
- //https://github.com/moment/moment/issues/1122
+ // https://github.com/moment/moment/issues/1122
assert.ok(moment('3:25', ['h:mma', 'hh:mma', 'H:mm', 'HH:mm']).isValid());
});
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+function module$1 (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ teardownDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+}
+
+module$1('leap year');
+
+test('leap year', function (assert) {
+ assert.equal(moment([2010, 0, 1]).isLeapYear(), false, '2010');
+ assert.equal(moment([2100, 0, 1]).isLeapYear(), false, '2100');
+ assert.equal(moment([2008, 0, 1]).isLeapYear(), true, '2008');
+ assert.equal(moment([2000, 0, 1]).isLeapYear(), true, '2000');
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
-}
-
-function setupDeprecationHandler(test, moment$$1, scope) {
- test._expectedDeprecations = null;
- test._observedDeprecations = null;
- test._oldSupress = moment$$1.suppressDeprecationWarnings;
- moment$$1.suppressDeprecationWarnings = true;
- test.expectedDeprecations = function () {
- test._expectedDeprecations = arguments;
- test._observedDeprecations = [];
- };
- moment$$1.deprecationHandler = function (name, msg) {
- var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
- if (deprecationId === -1) {
- throw new Error('Unexpected deprecation thrown name=' +
- name + ' msg=' + msg);
- }
- test._observedDeprecations[deprecationId] = 1;
- };
-}
-
-function teardownDeprecationHandler(test, moment$$1, scope) {
- moment$$1.suppressDeprecationWarnings = test._oldSupress;
-
- if (test._expectedDeprecations != null) {
- var missedDeprecations = [];
- each(test._expectedDeprecations, function (deprecationPattern, id) {
- if (test._observedDeprecations[id] !== 1) {
- missedDeprecations.push(deprecationPattern);
- }
- });
- if (missedDeprecations.length !== 0) {
- throw new Error('Expected deprecation warnings did not happen: ' +
- missedDeprecations.join(' '));
- }
- }
-}
-
-function matchedDeprecation(name, msg, deprecations) {
- if (deprecations == null) {
- return -1;
- }
- for (var i = 0; i < deprecations.length; ++i) {
- if (name != null && name === deprecations[i]) {
- return i;
- }
- if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
- return i;
- }
- }
- return -1;
-}
-
-/*global QUnit:false*/
-
-var test = QUnit.test;
-var expect = QUnit.expect;
-
-function module$1 (name, lifecycle) {
- QUnit.module(name, {
- setup : function () {
- moment.locale('en');
- moment.createFromInputFallback = function (config) {
- throw new Error('input not handled by moment: ' + config._i);
- };
- setupDeprecationHandler(test, moment, 'core');
- if (lifecycle && lifecycle.setup) {
- lifecycle.setup();
- }
- },
- teardown : function () {
- teardownDeprecationHandler(test, moment, 'core');
- if (lifecycle && lifecycle.teardown) {
- lifecycle.teardown();
- }
- }
- });
-}
-
-module$1('leap year');
-
-test('leap year', function (assert) {
- assert.equal(moment([2010, 0, 1]).isLeapYear(), false, '2010');
- assert.equal(moment([2100, 0, 1]).isLeapYear(), false, '2100');
- assert.equal(moment([2008, 0, 1]).isLeapYear(), true, '2008');
- assert.equal(moment([2000, 0, 1]).isLeapYear(), true, '2000');
-});
-
-})));
-
-
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, (function (moment) { 'use strict';
-
-function each(array, callback) {
- var i;
- for (i = 0; i < array.length; i++) {
- callback(array[i], i, array);
- }
-}
-
-function objectKeys(obj) {
- if (Object.keys) {
- return Object.keys(obj);
- } else {
- // IE8
- var res = [], i;
- for (i in obj) {
- if (obj.hasOwnProperty(i)) {
- res.push(i);
- }
- }
- return res;
- }
-}
-
-// Pick the first defined of two or three arguments.
-
-function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
- }
- }
- });
-
- test('date format correctness', function (assert) {
- var data, tokens;
- data = moment.localeData()._longDateFormat;
- tokens = objectKeys(data);
- each(tokens, function (srchToken) {
- // Check each format string to make sure it does not contain any
- // tokens that need to be expanded.
- each(tokens, function (baseToken) {
- // strip escaped sequences
- var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
- assert.equal(false, !!~format.indexOf(srchToken),
- 'contains ' + srchToken + ' in ' + baseToken);
- });
- });
- });
-
- test('month parsing correctness', function (assert) {
- var i, m;
-
- if (locale === 'tr') {
- // I can't fix it :(
- expect(0);
- return;
- }
- function tester(format) {
- var r;
- r = moment(m.format(format), format);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
- r = moment(m.format(format).toLocaleUpperCase(), format);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
- r = moment(m.format(format).toLocaleLowerCase(), format);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
-
- r = moment(m.format(format), format, true);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
- r = moment(m.format(format).toLocaleUpperCase(), format, true);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
- r = moment(m.format(format).toLocaleLowerCase(), format, true);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
- }
-
- for (i = 0; i < 12; ++i) {
- m = moment([2015, i, 15, 18]);
- tester('MMM');
- tester('MMM.');
- tester('MMMM');
- tester('MMMM.');
- }
- });
-
- test('weekday parsing correctness', function (assert) {
- var i, m;
-
- if (locale === 'tr' || locale === 'az' || locale === 'ro') {
- // tr, az: There is a lower-case letter (ı), that converted to
- // upper then lower changes to i
- // ro: there is the letter ț which behaves weird under IE8
- expect(0);
- return;
- }
- function tester(format) {
- var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
- r = moment(m.format(format), format);
- assert.equal(r.weekday(), m.weekday(), baseMsg);
- r = moment(m.format(format).toLocaleUpperCase(), format);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
- r = moment(m.format(format).toLocaleLowerCase(), format);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
-
- r = moment(m.format(format), format, true);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
- r = moment(m.format(format).toLocaleUpperCase(), format, true);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
- r = moment(m.format(format).toLocaleLowerCase(), format, true);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
- }
-
- for (i = 0; i < 7; ++i) {
- m = moment.utc([2015, 0, i + 1, 18]);
- tester('dd');
- tester('ddd');
- tester('dddd');
- }
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
});
}
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
test('ordinal parse', function (assert) {
moment.defineLocale('base-ordinal-parse-1', {
- ordinalParse : /\d{1,2}x/
+ dayOfMonthOrdinalParse : /\d{1,2}x/
});
moment.defineLocale('child-ordinal-parse-1', {
parentLocale: 'base-ordinal-parse-1',
- ordinalParse : /\d{1,2}y/
+ dayOfMonthOrdinalParse : /\d{1,2}y/
});
assert.ok(moment.utc('2015-01-1y', 'YYYY-MM-Do', true).isValid(), 'ordinal parse uses child');
moment.defineLocale('base-ordinal-parse-2', {
- ordinalParse : /\d{1,2}x/
+ dayOfMonthOrdinalParse : /\d{1,2}x/
});
moment.defineLocale('child-ordinal-parse-2', {
parentLocale: 'base-ordinal-parse-2',
- ordinalParse : /\d{1,2}/
+ dayOfMonthOrdinalParse : /\d{1,2}/
});
assert.ok(moment.utc('2015-01-1', 'YYYY-MM-Do', true).isValid(), 'ordinal parse uses child (default)');
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
test('ordinal parse', function (assert) {
moment.defineLocale('ordinal-parse-1', null);
moment.defineLocale('ordinal-parse-1', {
- ordinalParse : /\d{1,2}x/
+ dayOfMonthOrdinalParse : /\d{1,2}x/
});
moment.updateLocale('ordinal-parse-1', {
- ordinalParse : /\d{1,2}y/
+ dayOfMonthOrdinalParse : /\d{1,2}y/
});
assert.ok(moment.utc('2015-01-1y', 'YYYY-MM-Do', true).isValid(), 'ordinal parse uses child');
moment.defineLocale('ordinal-parse-2', null);
moment.defineLocale('ordinal-parse-2', {
- ordinalParse : /\d{1,2}x/
+ dayOfMonthOrdinalParse : /\d{1,2}x/
});
moment.updateLocale('ordinal-parse-2', {
- ordinalParse : /\d{1,2}/
+ dayOfMonthOrdinalParse : /\d{1,2}/
});
assert.ok(moment.utc('2015-01-1', 'YYYY-MM-Do', true).isValid(), 'ordinal parse uses child (default)');
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
moment.relativeTimeThreshold('s', 45);
+ // A few seconds to seconds threshold
+ moment.relativeTimeThreshold('ss', 3);
+
+ a = moment();
+ a.subtract(3, 'seconds');
+ assert.equal(a.fromNow(), 'a few seconds ago', 'Below custom a few seconds to seconds threshold');
+ a.subtract(1, 'seconds');
+ assert.equal(a.fromNow(), '4 seconds ago', 'Above custom a few seconds to seconds threshold');
+
+ moment.relativeTimeThreshold('ss', 44);
+
// Minutes to hours threshold
moment.relativeTimeThreshold('m', 55);
a = moment();
moment.relativeTimeThreshold('s', 60);
moment.relativeTimeThreshold('m', 60);
moment.relativeTimeThreshold('h', 24);
- moment.relativeTimeThreshold('d', 31);
+ moment.relativeTimeThreshold('d', 27);
moment.relativeTimeThreshold('M', 12);
var a = moment.utc();
assert.equal(a.toNow(), 'in 23 hours', 'Round down towards the nearest hour');
a = moment.utc();
- a.subtract({days: 30, hours: 23, minutes: 59});
- assert.equal(a.toNow(), 'in 30 days', 'Round down towards the nearest day');
+ a.subtract({days: 26, hours: 23, minutes: 59});
+ assert.equal(a.toNow(), 'in 26 days', 'Round down towards the nearest day (just under)');
+
+ a = moment.utc();
+ a.subtract({days: 27});
+ assert.equal(a.toNow(), 'in a month', 'Round down towards the nearest day (just over)');
a = moment.utc();
a.subtract({days: 364});
moment.relativeTimeRounding(roundingDefault);
});
-test('retrive rounding settings', function (assert) {
+test('retrieve rounding settings', function (assert) {
moment.relativeTimeRounding(Math.round);
var roundingFunction = moment.relativeTimeRounding();
assert.equal(roundingFunction, Math.round, 'Can retrieve rounding setting');
});
-test('retrive threshold settings', function (assert) {
+test('retrieve threshold settings', function (assert) {
moment.relativeTimeThreshold('m', 45);
var minuteThreshold = moment.relativeTimeThreshold('m');
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient day of month ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict day of month ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+
+ test('month parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr') {
+ // I can't fix it :(
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r;
+ r = moment(m.format(format), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
+ }
+
+ for (i = 0; i < 12; ++i) {
+ m = moment([2015, i, 15, 18]);
+ tester('MMM');
+ tester('MMM.');
+ tester('MMMM');
+ tester('MMMM.');
+ }
+ });
+
+ test('weekday parsing correctness', function (assert) {
+ var i, m;
+
+ if (locale === 'tr' || locale === 'az' || locale === 'ro') {
+ // tr, az: There is a lower-case letter (ı), that converted to
+ // upper then lower changes to i
+ // ro: there is the letter ț which behaves weird under IE8
+ expect(0);
+ return;
+ }
+ function tester(format) {
+ var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
+ r = moment(m.format(format), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg);
+ r = moment(m.format(format).toLocaleUpperCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
+ r = moment(m.format(format).toLocaleLowerCase(), format);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
+
+ r = moment(m.format(format), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
+ r = moment(m.format(format).toLocaleUpperCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
+ r = moment(m.format(format).toLocaleLowerCase(), format, true);
+ assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
+ }
+
+ for (i = 0; i < 7; ++i) {
+ m = moment.utc([2015, 0, i + 1, 18]);
+ tester('dd');
+ tester('ddd');
+ tester('dddd');
+ }
+ });
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
+}
+
+function setupDeprecationHandler(test, moment$$1, scope) {
+ test._expectedDeprecations = null;
+ test._observedDeprecations = null;
+ test._oldSupress = moment$$1.suppressDeprecationWarnings;
+ moment$$1.suppressDeprecationWarnings = true;
+ test.expectedDeprecations = function () {
+ test._expectedDeprecations = arguments;
+ test._observedDeprecations = [];
+ };
+ moment$$1.deprecationHandler = function (name, msg) {
+ var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
+ if (deprecationId === -1) {
+ throw new Error('Unexpected deprecation thrown name=' +
+ name + ' msg=' + msg);
+ }
+ test._observedDeprecations[deprecationId] = 1;
+ };
+}
+
+function teardownDeprecationHandler(test, moment$$1, scope) {
+ moment$$1.suppressDeprecationWarnings = test._oldSupress;
+
+ if (test._expectedDeprecations != null) {
+ var missedDeprecations = [];
+ each(test._expectedDeprecations, function (deprecationPattern, id) {
+ if (test._observedDeprecations[id] !== 1) {
+ missedDeprecations.push(deprecationPattern);
+ }
+ });
+ if (missedDeprecations.length !== 0) {
+ throw new Error('Expected deprecation warnings did not happen: ' +
+ missedDeprecations.join(' '));
+ }
+ }
+}
+
+function matchedDeprecation(name, msg, deprecations) {
+ if (deprecations == null) {
+ return -1;
+ }
+ for (var i = 0; i < deprecations.length; ++i) {
+ if (name != null && name === deprecations[i]) {
+ return i;
+ }
+ if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+/*global QUnit:false*/
+
+var test = QUnit.test;
+
+var expect = QUnit.expect;
+
+function module$1 (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ setupDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ teardownDeprecationHandler(test, moment, 'core');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+}
+
+module$1('string prototype');
+
+test('string prototype overrides call', function (assert) {
+ var prior = String.prototype.call, b;
+ String.prototype.call = function () {
+ return null;
+ };
+
+ b = moment(new Date(2011, 7, 28, 15, 25, 50, 125));
+ assert.equal(b.format('MMMM Do YYYY, h:mm a'), 'August 28th 2011, 3:25 pm');
+
+ String.prototype.call = prior;
+});
+
+})));
+
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+}
+
+function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+}
+
+// Pick the first defined of two or three arguments.
+
+function defineCommonLocaleTests(locale, options) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
-}
-
-function setupDeprecationHandler(test, moment$$1, scope) {
- test._expectedDeprecations = null;
- test._observedDeprecations = null;
- test._oldSupress = moment$$1.suppressDeprecationWarnings;
- moment$$1.suppressDeprecationWarnings = true;
- test.expectedDeprecations = function () {
- test._expectedDeprecations = arguments;
- test._observedDeprecations = [];
- };
- moment$$1.deprecationHandler = function (name, msg) {
- var deprecationId = matchedDeprecation(name, msg, test._expectedDeprecations);
- if (deprecationId === -1) {
- throw new Error('Unexpected deprecation thrown name=' +
- name + ' msg=' + msg);
- }
- test._observedDeprecations[deprecationId] = 1;
- };
-}
-function teardownDeprecationHandler(test, moment$$1, scope) {
- moment$$1.suppressDeprecationWarnings = test._oldSupress;
-
- if (test._expectedDeprecations != null) {
- var missedDeprecations = [];
- each(test._expectedDeprecations, function (deprecationPattern, id) {
- if (test._observedDeprecations[id] !== 1) {
- missedDeprecations.push(deprecationPattern);
- }
- });
- if (missedDeprecations.length !== 0) {
- throw new Error('Expected deprecation warnings did not happen: ' +
- missedDeprecations.join(' '));
- }
- }
-}
-
-function matchedDeprecation(name, msg, deprecations) {
- if (deprecations == null) {
- return -1;
- }
- for (var i = 0; i < deprecations.length; ++i) {
- if (name != null && name === deprecations[i]) {
- return i;
- }
- if (msg != null && msg.substring(0, deprecations[i].length) === deprecations[i]) {
- return i;
- }
- }
- return -1;
-}
-
-/*global QUnit:false*/
-
-var test = QUnit.test;
-
-var expect = QUnit.expect;
-
-function module$1 (name, lifecycle) {
- QUnit.module(name, {
- setup : function () {
- moment.locale('en');
- moment.createFromInputFallback = function (config) {
- throw new Error('input not handled by moment: ' + config._i);
- };
- setupDeprecationHandler(test, moment, 'core');
- if (lifecycle && lifecycle.setup) {
- lifecycle.setup();
- }
- },
- teardown : function () {
- teardownDeprecationHandler(test, moment, 'core');
- if (lifecycle && lifecycle.teardown) {
- lifecycle.teardown();
- }
- }
- });
-}
-
-module$1('string prototype');
-
-test('string prototype overrides call', function (assert) {
- var prior = String.prototype.call, b;
- String.prototype.call = function () {
- return null;
- };
-
- b = moment(new Date(2011, 7, 28, 15, 25, 50, 125));
- assert.equal(b.format('MMMM Do YYYY, h:mm a'), 'August 28th 2011, 3:25 pm');
-
- String.prototype.call = prior;
-});
-
-})));
-
-
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, (function (moment) { 'use strict';
-
-function each(array, callback) {
- var i;
- for (i = 0; i < array.length; i++) {
- callback(array[i], i, array);
- }
-}
-
-function objectKeys(obj) {
- if (Object.keys) {
- return Object.keys(obj);
- } else {
- // IE8
- var res = [], i;
- for (i in obj) {
- if (obj.hasOwnProperty(i)) {
- res.push(i);
- }
- }
- return res;
- }
-}
-
-// Pick the first defined of two or three arguments.
-
-function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment.utc(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
- }
- }
- });
-
- test('date format correctness', function (assert) {
- var data, tokens;
- data = moment.localeData()._longDateFormat;
- tokens = objectKeys(data);
- each(tokens, function (srchToken) {
- // Check each format string to make sure it does not contain any
- // tokens that need to be expanded.
- each(tokens, function (baseToken) {
- // strip escaped sequences
- var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
- assert.equal(false, !!~format.indexOf(srchToken),
- 'contains ' + srchToken + ' in ' + baseToken);
- });
- });
- });
-
- test('month parsing correctness', function (assert) {
- var i, m;
-
- if (locale === 'tr') {
- // I can't fix it :(
- expect(0);
- return;
- }
- function tester(format) {
- var r;
- r = moment(m.format(format), format);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format);
- r = moment(m.format(format).toLocaleUpperCase(), format);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper');
- r = moment(m.format(format).toLocaleLowerCase(), format);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower');
-
- r = moment(m.format(format), format, true);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' strict');
- r = moment(m.format(format).toLocaleUpperCase(), format, true);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' upper strict');
- r = moment(m.format(format).toLocaleLowerCase(), format, true);
- assert.equal(r.month(), m.month(), 'month ' + i + ' fmt ' + format + ' lower strict');
- }
-
- for (i = 0; i < 12; ++i) {
- m = moment([2015, i, 15, 18]);
- tester('MMM');
- tester('MMM.');
- tester('MMMM');
- tester('MMMM.');
- }
- });
-
- test('weekday parsing correctness', function (assert) {
- var i, m;
-
- if (locale === 'tr' || locale === 'az' || locale === 'ro') {
- // tr, az: There is a lower-case letter (ı), that converted to
- // upper then lower changes to i
- // ro: there is the letter ț which behaves weird under IE8
- expect(0);
- return;
- }
- function tester(format) {
- var r, baseMsg = 'weekday ' + m.weekday() + ' fmt ' + format + ' ' + m.toISOString();
- r = moment(m.format(format), format);
- assert.equal(r.weekday(), m.weekday(), baseMsg);
- r = moment(m.format(format).toLocaleUpperCase(), format);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper');
- r = moment(m.format(format).toLocaleLowerCase(), format);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower');
-
- r = moment(m.format(format), format, true);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' strict');
- r = moment(m.format(format).toLocaleUpperCase(), format, true);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' upper strict');
- r = moment(m.format(format).toLocaleLowerCase(), format, true);
- assert.equal(r.weekday(), m.weekday(), baseMsg + ' lower strict');
- }
-
- for (i = 0; i < 7; ++i) {
- m = moment.utc([2015, 0, i + 1, 18]);
- tester('dd');
- tester('ddd');
- tester('dddd');
- }
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
});
}
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
module$1('week year');
test('iso week year', function (assert) {
- // Some examples taken from http://en.wikipedia.org/wiki/ISO_week
+ // Some examples taken from https://en.wikipedia.org/wiki/ISO_week
assert.equal(moment([2005, 0, 1]).isoWeekYear(), 2004);
assert.equal(moment([2005, 0, 2]).isoWeekYear(), 2004);
assert.equal(moment([2005, 0, 3]).isoWeekYear(), 2005);
});
test('week year', function (assert) {
- // Some examples taken from http://en.wikipedia.org/wiki/ISO_week
+ // Some examples taken from https://en.wikipedia.org/wiki/ISO_week
moment.locale('dow: 1,doy: 4', {week: {dow: 1, doy: 4}}); // like iso
assert.equal(moment([2005, 0, 1]).weekYear(), 2004);
assert.equal(moment([2005, 0, 2]).weekYear(), 2004);
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
});
test('years with iso week 53', function (assert) {
- // Based on a table taken from http://en.wikipedia.org/wiki/ISO_week_date
+ // Based on a table taken from https://en.wikipedia.org/wiki/ISO_week_date
// (as downloaded on 2014-01-06) listing the 71 years in a 400-year cycle
// that have 53 weeks; in this case reflecting the 2000 based cycle
assert.equal(moment([2004, 11, 31]).isoWeek(), 53, 'Dec 31 2004 should be iso week 53');
});
test('count years with iso week 53', function (assert) {
- // Based on http://en.wikipedia.org/wiki/ISO_week_date (as seen on 2014-01-06)
+ // Based on https://en.wikipedia.org/wiki/ISO_week_date (as seen on 2014-01-06)
// stating that there are 71 years in a 400-year cycle that have 53 weeks;
// in this case reflecting the 2000 based cycle
var count = 0, i;
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
z;
// Apparently there is -12:00 and +14:00
- // http://en.wikipedia.org/wiki/UTC+14:00
- // http://en.wikipedia.org/wiki/UTC-12:00
+ // https://en.wikipedia.org/wiki/UTC+14:00
+ // https://en.wikipedia.org/wiki/UTC-12:00
for (z = -12; z <= 14; ++z) {
assert.equal(m.clone().zone(z * 60, true).format(fmt), m.format(fmt),
'local to zone(' + z + ':00) failed to keep local time');
z;
// Apparently there is -12:00 and +14:00
- // http://en.wikipedia.org/wiki/UTC+14:00
- // http://en.wikipedia.org/wiki/UTC-12:00
+ // https://en.wikipedia.org/wiki/UTC+14:00
+ // https://en.wikipedia.org/wiki/UTC-12:00
for (z = -12; z <= 14; ++z) {
assert.equal(m.clone().zone(z * 60).valueOf(), m.valueOf(),
'local to zone(' + z + ':00) failed to keep utc time (implicit)');
z;
// Apparently there is -12:00 and +14:00
- // http://en.wikipedia.org/wiki/UTC+14:00
- // http://en.wikipedia.org/wiki/UTC-12:00
+ // https://en.wikipedia.org/wiki/UTC+14:00
+ // https://en.wikipedia.org/wiki/UTC-12:00
for (z = -12; z <= 14; ++z) {
m.zone(z * 60);
z;
// Apparently there is -12:00 and +14:00
- // http://en.wikipedia.org/wiki/UTC+14:00
- // http://en.wikipedia.org/wiki/UTC-12:00
+ // https://en.wikipedia.org/wiki/UTC+14:00
+ // https://en.wikipedia.org/wiki/UTC-12:00
for (z = -12; z <= 14; ++z) {
m.zone(z * 60);
// Pick the first defined of two or three arguments.
function defineCommonLocaleTests(locale, options) {
- test('lenient ordinal parsing', function (assert) {
+ test('lenient day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
+ 'lenient day of month ordinal parsing ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
+ 'lenient day of month ordinal parsing ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+ 'lenient day of month ordinal parsing ' + i + ' date check');
}
});
- test('lenient ordinal parsing of number', function (assert) {
+ test('lenient day of month ordinal parsing of number', function (assert) {
var i, testMoment;
for (i = 1; i <= 31; ++i) {
testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
+ 'lenient day of month ordinal parsing of number ' + i + ' year check');
assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
+ 'lenient day of month ordinal parsing of number ' + i + ' month check');
assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ 'lenient day of month ordinal parsing of number ' + i + ' date check');
}
});
- test('strict ordinal parsing', function (assert) {
+ test('strict day of month ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ assert.ok(testMoment.isValid(), 'strict day of month ordinal parsing ' + i);
}
});
tester('dddd');
}
});
+
+ test('valid localeData', function (assert) {
+ assert.equal(moment().localeData().months().length, 12, 'months should return 12 months');
+ assert.equal(moment().localeData().monthsShort().length, 12, 'monthsShort should return 12 months');
+ assert.equal(moment().localeData().weekdays().length, 7, 'weekdays should return 7 days');
+ assert.equal(moment().localeData().weekdaysShort().length, 7, 'weekdaysShort should return 7 days');
+ assert.equal(moment().localeData().weekdaysMin().length, 7, 'monthsShort should return 7 days');
+ });
}
function setupDeprecationHandler(test, moment$$1, scope) {
);
});
+test('parse zone with a minutes unit abs less than 16 should retain minutes', function (assert) {
+ //ensure when minutes are explicitly parsed, they are retained
+ //instead of converted to hours, even if less than 16
+ var n = moment.parseZone('2013-01-01T00:00:00-00:15');
+ assert.equal(n.utcOffset(), -15);
+ assert.equal(n.zone(), 15);
+ assert.equal(n.hour(), 0);
+ var o = moment.parseZone('2013-01-01T00:00:00+00:15');
+ assert.equal(o.utcOffset(), 15);
+ assert.equal(o.zone(), -15);
+ assert.equal(o.hour(), 0);
+});
+
})));