diff --git a/CHANGELOG.md b/CHANGELOG.md index d1976fc..3f0ed4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 1.5.0 +* Implement the `ILibDurationFmt` class to enable DurationFormatting. + ## 1.4.0 * Include the `DurationFmt.js` file from iLib in the `ilib-init.js` file within the assets. The developer can use `evaluate()` to obtain the result of Duration formatting until the DurationFmt class is properly implemented. @@ -21,7 +24,7 @@ * Updated the test cases where expectations have aligned between webOS versions and upstream since the CLDR update to 46 ## 1.0.0 -* Updated the structure to load separate locale data files. +* Updated the structure to load separate locale data files. Previously, the dependent ilib was a fully assembled JS file. Now, the ilib files are divided into the js and locale files. The JS code is assembled as `ilib-init.js`, and the locale files are generated with names like [language].js, e.g. `en.js`, `ko.js`. The iLib files are generated using the [ilib-assemble](https://github.com/iLib-js/ilib-assemble) tool. This change brings memory savings over previous versions of flutter_ilib. Initially, when the app is launched, the package automatically loads the locale data by detecting the system's locale. To load the updated locale data file when the locale changes, I suggest adding the following method at the appropriate time when the locale chanages. diff --git a/Docs.md b/Docs.md index 8320dfc..3bc1782 100644 --- a/Docs.md +++ b/Docs.md @@ -1,3 +1,4 @@ +# Date ## ILibDateOptions ### Properties @@ -7,6 +8,7 @@ |_\_ locale | Locales are specified either with a specifier string that follows the BCP-47 convention,
(roughly: "language-script-region").| |_\_ year | The year| |_\_ month | The month| +|_\_ week | The week| |_\_ day | The day of the month| |_\_ hour | The hour of the day| |_\_ minute | The minute [0..59]| @@ -20,7 +22,7 @@ ### Constructors ```dart -ILibDateOptions (String? locale, int? year, int? month, int? day, int? hour, int? minute, int? second, int? millisecond, int? unixtime, String? type, String? calendar, DateTime? dateTime) +ILibDateOptions (String? locale, int? year, int? month, int? week, int? day, int? hour, int? minute, int? second, int? millisecond, int? unixtime, String? type, String? calendar, DateTime? dateTime) ``` ### Methods @@ -29,6 +31,7 @@ ILibDateOptions (String? locale, int? year, int? month, int? day, int? hour, int |_String_ toJsonString() | A string representation of parameters to call functions of iLib library properly| +# Date Formatting ## ILibDateFmtOptions ### Properties @@ -70,8 +73,45 @@ ILibDateFmt(ILibDateFmtOptions options) |_String_ getTemplate()| Return the template string that is used to format date/times for this formatter instance| |_List\_ getMeridiemsRange()| Return the range of possible meridiems (times of day like "AM" or "PM") in this date formatter.| -## ILibLocaleInfo + +# Duration Formatting +## ILibDurationFmtOptions +### Properties +|name|description| +|------|---| +|_\_ locale| locale to use when formatting the duration. If the locale is not specified, then the default locale of the app will be used | +|_\_ length| Specify the length of the format to use. The length is the approximate size of the formatted string.
  • short - use a short representation of the duration. This is the most compact format possible for the locale. eg. 1y 1m 1w 1d 1:01:01
  • medium - use a medium length representation of the duration. This is a slightly longer format. eg. 1 yr 1 mo 1 wk 1 dy 1 hr 1 mi 1 se
  • long - use a long representation of the duration. This is a fully specified format, but some of the textual
  • full - use a full representation of the duration. This is a fully specified format where all the textual parts are spelled out completely. eg. 1 year, 1 month, 1 week, 1 day, 1 hour, 1 minute and 1 second parts may still be abbreviated. eg. 1 yr 1 mo 1 wk 1 day 1 hr 1 min 1 sec| +|_\_ style| whether hours, minutes, and seconds should be formatted as a text string or as a regular time as on a clock. eg. text is "1 hour, 15 minutes", whereas clock is "1:15:00". Valid values for this property are "text" or "clock". Default if this property is not specified is "text". | +|_\_ useNative| the flag used to determaine whether to use the native script settings for formatting the numbers | + + ### Constructors +```dart +ILibDurationFmtOptions (String? locale, String? length, String? style, bool? useNative) +``` + +## ILibDurationFmt +### Properties +|name|description| +|------|---| +| _\_ options | Options for the DurationFormating| + + ### Constructors +```dart +ILibDurationFmt(ILibDurationFmtOptions options) +``` + ### Methods +|name|description| +|------|---| +|_String_ toJsonString() | A string representation of parameters to call functions of iLib library properly| +|_String_ format()| Formats a particular date instance according to the settings of this formatter object| +|_String_ getLocale()| Return the locale that was used to construct this duration formatter object.| +|_String_ getLength()| Return the length that was used to construct this duration formatter object.| +|_String_ getStyle()| Return the style that was used to construct this duration formatter object.| + + +# LocaleInfo +## ILibLocaleInfo ### Properties |name|description| |------|---| @@ -87,4 +127,7 @@ ILibLocaleInfo(String locale) |------|---| |_int_ getFirstDayOfWeek() | Returns the day of week that starts weeks in the current locale.
    Days are still numbered the standard way with 0 for Sunday through 6 for Saturday,
    but calendars should be displayed and weeks calculated with the day of week returned from this function as the first day of the week.| |_int_ getWeekEndStart() | Returns the day of week that starts weekend in the current locale.
    Days are still numbered the standard way with 0 for Sunday through 6 for Saturday.| -|_int_ getWeekEndEnd() | Returns the day of week that ends weekend in the current locale.
    Days are still numbered the standard way with 0 for Sunday through 6 for Saturday.| \ No newline at end of file +|_int_ getWeekEndEnd() | Returns the day of week that ends weekend in the current locale.
    Days are still numbered the standard way with 0 for Sunday through 6 for Saturday.| + + + diff --git a/README.md b/README.md index 02becaa..0d06516 100644 --- a/README.md +++ b/README.md @@ -48,9 +48,11 @@ Widget build(BuildContext context) { .... ``` -### Formatting +### Examples Get the result of formatting by using the class provided by flutter_ilib. +### Date Formatting + ```dart final ILibDateFmtOptions fmtOptions = ILibDateFmtOptions( locale: 'ko-KR', @@ -84,6 +86,31 @@ fmt.format(dateOptions); // '2024년 6월 27일 오전 10:42' ``` +### Duration Formatting + +```dart +final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'en-GB', length: 'full'); +final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); +final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1); +fmt.format(dateOptions); +// '1 year, 1 month, 1 week, 1 day, 1 hour, 1 minute' + +final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'en-GB', + length: 'full', + style: 'clock', + ); +final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); +final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2); +fmt.format(dateOptions); +// '2 years, 2 months, 2 weeks, 2 days, 02:02' +``` + +### LocaleInfo + ```dart // 0:sun, 1:mon, 2:tue, 3:wed, 4:thu, 5:fri, 6:sat final ILibLocaleInfo locInfo = ILibLocaleInfo('ko-KR'); @@ -108,18 +135,25 @@ _flutterIlibPlugin.evaluateILib(jscode1); // 'ethiopic' ``` To give a more efficient way, we provide some classes that can be easily used in a Flutter app. -Currently, We have a `ILibDateFmt` and `ILibLocaleInfo` classes. +Currently, We have a `ILibDateFmt` , `ILibLocaleInfo` and `ILibDurationFmt` classes. We have a plan to provide more classes and methods. -### ILibDateFmt +### ILibDate - Class: [ILibDateOptions](./Docs.md/#ilibdateoptions) + +### ILibDateFmt - Class: [ILibDateFmtOptions](./Docs.md/#ilibdatefmtoptions) - Class: [ILibDateFmt](./Docs.md#ilibdatefmt) - Methods: `format()`, `getClock()`, `getTemplate()`, `getMeridiemsRange()` ### ILibLocaleInfo - Class: [ILibLocaleInfo](./Docs.md/#iliblocaleinfo) - - Methods: `getFirstDayOfWeek()`, `getWeekEndStart()`, `getWeekEndStart()` + - Methods: `getFirstDayOfWeek()`, `getWeekEndStart()`, `getWeekEndStart()` + +### ILibDurationFmt +- Class: [ILibDurationFmtOptions](./Docs.md/#ilibdurationfmtoptions) +- Class: [ILibDurationFmt](./Docs.md/#ilibdurationfmt) + - Methods: `format()`, `getLocale()`, `getStyle()`, `getLength()` ## Supported Locales The results of the following locales are checked by unit tests. diff --git a/assets/js/ilib-init.js b/assets/js/ilib-init.js index db92a99..9c03ced 100644 --- a/assets/js/ilib-init.js +++ b/assets/js/ilib-init.js @@ -1 +1 @@ -var ilib=ilib||{};function parseLocale(a){var t,n;return a&&("C"===(a=-1<(n=a.indexOf("."))?a.substring(0,n):a)?"en-US":(n=[],0<(t=a.replace(/_/g,"-").split(/-/g)).length&&(2!==t[0].length&&3!==t[0].length||(n.push(t[0].toLowerCase()),1>10)+String.fromCharCode(56320|1023&a))},IString.toCodePoint=function(a,t){var n,L;return a&&0!==a.length?(n=-1,55296<=(L=a.charCodeAt(t))&&L<=56319?a.length>t+1&&56320<=(a=a.charCodeAt(t+1))&&a<=57343&&(n=1+((960&L)>>6)<<16|(63&L)<<10|1023&a):n=L,n):-1},IString.loadPlurals=function(a,t,n,L){t=t?"string"==typeof t?new Locale(t):t:new Locale(ilib.getLocale());t.getLanguage();Utils.loadData({name:"plurals.json",object:"IString",locale:t,sync:a,loadParams:n,callback:ilib.bind(this,function(a){a=a||IString.plurals_default,L&&"function"==typeof L&&L(a)})})},IString._fncs={firstProp:function(a){for(var t in a)if(t&&a[t])return t},firstPropRule:function(a){if("[object Array]"===Object.prototype.toString.call(a))return"inrange";if("[object Object]"===Object.prototype.toString.call(a))for(var t in a)if(t&&a[t])return t},getValue:function(a,t){var n;return"object"==typeof a?"inrange"===(n=IString._fncs.firstPropRule(a))?IString._fncs[n](a,t):IString._fncs[n](a[n],t):"string"==typeof a?"object"==typeof t?t[a]:t:a},matchRangeContinuous:function(a,t){for(var n in t)if(void 0!==n&&void 0!==t[n]){var L=t[n];if("number"==typeof L){if(a===t[n])return!0;if(a>=t[0]&&a<=t[1])return!0}else if("[object Array]"===Object.prototype.toString.call(L)&&a>=L[0]&&a<=L[1])return!0}return!1},calculateNumberDigits:function(a){var t=a.toString(),n={},L={},e=a.toExponential(),i=e.indexOf("e");return-1!==i?(L.c=parseInt(e[i+2]),L.e=parseInt(e[i+2])):(L.c=0,L.e=0),-1!==t.indexOf(".")?(e=t.split(".",2),n.integerPart=parseInt(e[0],10),n.decimalPartLength=e[1].length,n.decimalPart=parseInt(e[1],10),L.n=parseFloat(a),L.i=n.integerPart,L.v=n.decimalPartLength,L.w=n.decimalPartLength,L.f=n.decimalPart,L.t=n.decimalPart):(n.integerPart=a,n.decimalPartLength=0,n.decimalPart=0,L.n=parseInt(a,10),L.i=n.integerPart,L.v=0,L.w=0,L.f=0,L.t=0),L},matchRange:function(a,t){return IString._fncs.matchRangeContinuous(a,t)},is:function(a,t){return IString._fncs.getValue(a[0],t)===IString._fncs.getValue(a[1],t)},isnot:function(a,t){return IString._fncs.getValue(a[0],t)!==IString._fncs.getValue(a[1],t)},inrange:function(a,t){var n;return"number"==typeof a[0]?"object"==typeof t?IString._fncs.matchRange(t.n,a):IString._fncs.matchRange(t,a):void 0===a[0]?(n=IString._fncs.firstPropRule(a),IString._fncs[n](a[n],t)):IString._fncs.matchRange(IString._fncs.getValue(a[0],t),a[1])},notin:function(a,t){return!IString._fncs.matchRange(IString._fncs.getValue(a[0],t),a[1])},within:function(a,t){return IString._fncs.matchRangeContinuous(IString._fncs.getValue(a[0],t),a[1])},mod:function(a,t){return MathUtils.mod(IString._fncs.getValue(a[0],t),IString._fncs.getValue(a[1],t))},n:function(a,t){return t},or:function(a,t){for(var n=a.length,L=0;L="===t.substring(0,2))return t=parseFloat(t.substring(2)),n.n>=t;if("<"===t.charAt(0))return t=parseFloat(t.substring(1)),n.n"===t.charAt(0))return t=parseFloat(t.substring(1)),n.n>t;switch(this.locale=this.locale||new Locale(this.localeSpec),t){case"zero":case"one":case"two":case"few":case"many":var L=ilib.data["plurals_"+this.locale.getLanguage()+"_"+this.locale.getRegion()]||ilib.data["plurals_"+this.locale.getLanguage()]||IString.plurals_default;if(L)return L=L[t],IString._fncs.getValue(L,n);break;case"":case"other":return!0;default:var e,L=t.indexOf("-");return-1!==L?(e=t.substring(0,L),L=t.substring(L+1),n.n>=parseInt(e,10)&&n.n<=parseInt(L,10)):n.n===parseInt(t,10)}break;case"boolean":return"true"===t&&!0===a||"false"===t&&!1===a;case"string":return new RegExp(t,"i").test(a);case"object":throw"syntax error: formatChoice parameter for the argument index cannot be an object"}return!1},_isIntlPluralAvailable:function(a){var t;return void 0===a.getVariant()&&"undefined"!=typeof Intl&&void 0!==Intl.PluralRules&&void 0!==Intl.PluralRules.supportedLocalesOf&&("nodejs"!==ilib._getPlatform()||!!(t=process.versions.node)&&(t=t.split(".")[0],10<=Number(t)))&&0=t+L?a:n?a+JSUtils.pad.zeros.substring(0,t-a.length+L):a.substring(0,L)+JSUtils.pad.zeros.substring(0,t-a.length+L)+a.substring(L)},JSUtils.pad.zeros="00000000000000000000000000000000",JSUtils.toHexString=function(a,t){var n,L="",e=t&&t<9?t:4;if(!a)return"";for(n=0;na[1]?a[1]-t:0}))=t[a+1][0];)a++;this.month=t[a][1],L-=t[a][0],this.day=Math.floor(L),L-=this.day,this.day++,L=Math.round(864e5*L),this.hour=Math.floor(L/36e5),L-=36e5*this.hour,6<=this.hour?this.hour-=6:this.hour+=18,this.minute=Math.floor(L/6e4),L-=6e4*this.minute,this.second=Math.floor(L/1e3),L-=1e3*this.second,this.millisecond=Math.floor(L)},HebrewDate.prototype.getDayOfWeek=function(){var a=Math.floor(this.rd.getRataDie()+(this.offset||0));return MathUtils.mod(a+1,7)},HebrewDate.prototype.getHalaqim=function(){var a;return this.parts<0&&(a=6e4*this.minute+1e3*this.second+this.millisecond,this.parts=3e-4*a),this.parts},HebrewDate.prototype.firstSunday=function(a){a=this.newRd({year:a,month:7,day:1,hour:18,minute:0,second:0,millisecond:0,cal:this.cal});return this.newRd({rd:a.onOrAfter(4),cal:this.cal}).before(0)},HebrewDate.prototype.getDayOfYear=function(){var a=(this.cal.isLeapYear(this.year)?HebrewRataDie.cumMonthLengthsLeap:HebrewRataDie.cumMonthLengths)[this.month-1];return(this.month<7||8=o.from&&L"):L)?(e=a.r.charAt(L),i=parseInt(a.r.substring(0,L),10),parseInt(a.r.substring(L+1),10)):parseInt(a.r,10),a.t&&(n=a.t.split(":"),r=parseInt(n[0],10),1":l=m.onOrAfter(i)}return l},TimeZone.prototype._calcDSTSavings=function(){var a=this.getDSTSavings();this.dstSavings=(60*Math.abs(a.h||0)+(a.m||0))*MathUtils.signum(a.h||0)},TimeZone.prototype._getDSTStartRule=function(a){return this.zone.s},TimeZone.prototype._getDSTEndRule=function(a){return this.zone.e},TimeZone.prototype.inDaylightTime=function(a,t){var n,L,e,i;return a=a&&DateFactory._dateToIlib(a,this.id,this.locale),this.isLocal?(e=6e4*this.offset,void 0===a.dst||a.dst||(e+=6e4*this.dstSavings),e=new Date(a?a.getTimeExtended()-e:void 0),L=Math.max(this.offsetJan1,this.offsetJun1),-e.getTimezoneOffset()===L):(L=a&&a.cal&&"gregorian"===a.cal.type?(n=a.rd.getRataDie(),a.year):(e=a&&"function"==typeof a.getTimeExtended?a.getTimeExtended():void 0,n=new GregRataDie({unixtime:e}).getRataDie(),new Date(e).getUTCFullYear()),!!this.useDaylightTime(L)&&(e=this._getDSTStartRule(L),i=this._getDSTEndRule(L),e=this._calcRuleStart(e,L),i=this._calcRuleStart(i,L),t?e+=this.dstSavings/1440:(e-=this.offset/1440,i-=(this.offset+this.dstSavings)/1440),n"!==a.charAt(e);)n+=a.charAt(e++);else if("&"===a.charAt(e))for(n+=a.charAt(e++);e"!==a.charAt(e)||"%"!==a.charAt(e-1));)n+=a.charAt(e++);else if("&"===a.charAt(e))for(n+=a.charAt(e++);e/g,">")},_unescapeXml:function(a){return a=(a=(a=a.replace(/&/g,"&")).replace(/</g,"<")).replace(/>/g,">")},_makeKey:function(a){if(a)return a=a.replace(/\s+/gm," "),"xml"===this.type||"html"===this.type?this._unescapeXml(a):a},_getStringSingle:function(a,t,n){var L;return a||t?(L=this.locale.isPseudo()?(L=a||this.map[t],this._pseudo(L||t)):(L=t||this._makeKey(a),void 0!==this.map[L]?this.map[L]:"pseudo"===this.missing?this._pseudo(a||t):"empty"===this.missing?"":a),n&&"none"!==n&&("xml"===(n="default"===n?this.type:n)||"html"===n?L=this._escapeXml(L):"js"!==n&&"attribute"!==n||(L=L.replace(/'/g,"\\'").replace(/"/g,'\\"'))),void 0!==L?((t=new IString(L)).setLocale(this.locale.getSpec(),!0,this.loadParams),t):void 0):new IString("")},getString:function(a,t,n){return a||t?ilib.isArray(a)?a.map(ilib.bind(this,function(a){return"string"==typeof a?this._getStringSingle(a,t,n):a})):this._getStringSingle(a,t,n):new IString("")},getStringJS:function(a,t,n){if(void 0!==a||void 0!==t)return ilib.isArray(a)?this.getString(a,t,n).map(function(a){return a&&a instanceof IString?a.toString():a}):(a=this.getString(a,t,n))?a.toString():void 0},containsKey:function(a,t){return(void 0!==a||void 0!==t)&&(t=t||this._makeKey(a),void 0!==this.map[t])},getResObj:function(){return this.map}},function(n){var L=!0,e=void 0;this.locale=new Locale,this.length="short",this.style="text",n&&(n.locale&&(this.locale="string"==typeof n.locale?new Locale(n.locale):n.locale),!n.length||"short"!==n.length&&"medium"!==n.length&&"long"!==n.length&&"full"!==n.length||(this.length=n.length),!n.style||"text"!==n.style&&"clock"!==n.style||(this.style=n.style),void 0!==n.sync&&(L=!!n.sync),"boolean"==typeof n.useNative&&(this.useNative=n.useNative),e=n.loadParams),n=n||{sync:!0},new LocaleInfo(this.locale,{sync:L,loadParams:e,onLoad:ilib.bind(this,function(t){this.script=t.getScript(),new ResBundle({locale:this.locale,name:"sysres",sync:L,loadParams:e,onLoad:ilib.bind(this,function(a){IString.loadPlurals(L,this.locale,e,ilib.bind(this,function(){switch("medium"===this.length&&"Latn"!==this.script&&"Grek"!==this.script&&"Cyrl"!==this.script&&(this.length="short"),this.length){case"short":this.components={year:a.getString("#{num}y"),month:a.getString("#{num}m","durationShortMonths"),week:a.getString("#{num}w"),day:a.getString("#{num}d"),hour:a.getString("#{num}h"),minute:a.getString("#{num}m","durationShortMinutes"),second:a.getString("#{num}s"),millisecond:a.getString("#{num}m","durationShortMillis"),separator:a.getString(" ","separatorShort"),finalSeparator:""};break;case"medium":this.components={year:a.getString("1#1 yr|#{num} yrs","durationMediumYears"),month:a.getString("1#1 mo|#{num} mos"),week:a.getString("1#1 wk|#{num} wks","durationMediumWeeks"),day:a.getString("1#1 dy|#{num} dys"),hour:a.getString("1#1 hr|#{num} hrs","durationMediumHours"),minute:a.getString("1#1 mi|#{num} min"),second:a.getString("1#1 se|#{num} sec"),millisecond:a.getString("#{num} ms","durationMediumMillis"),separator:a.getString(" ","separatorMedium"),finalSeparator:""};break;case"long":this.components={year:a.getString("1#1 yr|#{num} yrs"),month:a.getString("1#1 mon|#{num} mons"),week:a.getString("1#1 wk|#{num} wks"),day:a.getString("1#1 day|#{num} days","durationLongDays"),hour:a.getString("1#1 hr|#{num} hrs"),minute:a.getString("1#1 min|#{num} min"),second:a.getString("1#1 sec|#{num} sec"),millisecond:a.getString("#{num} ms"),separator:a.getString(", ","separatorLong"),finalSeparator:""};break;case"full":this.components={year:a.getString("1#1 year|#{num} years"),month:a.getString("1#1 month|#{num} months"),week:a.getString("1#1 week|#{num} weeks"),day:a.getString("1#1 day|#{num} days"),hour:a.getString("1#1 hour|#{num} hours"),minute:a.getString("1#1 minute|#{num} minutes"),second:a.getString("1#1 second|#{num} seconds"),millisecond:a.getString("1#1 millisecond|#{num} milliseconds"),separator:a.getString(", ","separatorFull"),finalSeparator:a.getString(" and ","finalSeparatorFull")}}"clock"===this.style?new DateFmt({locale:this.locale,calendar:"gregorian",type:"time",time:"ms",sync:L,loadParams:e,useNative:this.useNative,onLoad:ilib.bind(this,function(a){this.timeFmtMS=a,new DateFmt({locale:this.locale,calendar:"gregorian",type:"time",time:"hm",sync:L,loadParams:e,useNative:this.useNative,onLoad:ilib.bind(this,function(a){this.timeFmtHM=a,new DateFmt({locale:this.locale,calendar:"gregorian",type:"time",time:"hms",sync:L,loadParams:e,useNative:this.useNative,onLoad:ilib.bind(this,function(a){this.timeFmtHMS=a,this.timeFmtHM.template=this.timeFmtHM.template.replace(/hh?/,"H"),this.timeFmtHM.templateArr=this.timeFmtHM._tokenize(this.timeFmtHM.template),this.timeFmtHMS.template=this.timeFmtHMS.template.replace(/hh?/,"H"),this.timeFmtHMS.templateArr=this.timeFmtHMS._tokenize(this.timeFmtHMS.template),this._init(this.timeFmtHM.locinfo,n)})})})})})}):this._init(t,n)}))})})})})});DurationFmt.complist={text:["year","month","week","day","hour","minute","second","millisecond"],clock:["year","month","week","day"]},DurationFmt.prototype._mapDigits=function(a){return this.useNative&&this.digits?JSUtils.mapString(a.toString(),this.digits):a},DurationFmt.prototype._init=function(t,n){var L;new ScriptInfo(t.getScript(),{sync:n.sync,loadParams:n.loadParams,onLoad:ilib.bind(this,function(a){this.scriptDirection=a.getScriptDirection(),"boolean"==typeof this.useNative?this.useNative&&(L=t.getNativeDigits())&&(this.digits=L):"native"===t.getDigitsStyle()&&(L=t.getNativeDigits())&&(this.useNative=!0,this.digits=L),"function"==typeof n.onLoad&&n.onLoad(this)})})},DurationFmt.prototype.format=function(a){for(var t,n=!0,L="",e=DurationFmt.complist[this.style],i=e.length-1;0<=i;i--)void 0!==a[e[i]]&&0!==a[e[i]]&&(01",t:"2:0"},f:"H{c}T",n:"Aleutian {c} Time",o:"-10:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Anchorage"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Anguilla"]={c:"AI",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Antigua"]={c:"AG",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Araguaina"]={c:"BR",f:"-03",n:"Tocantins {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Buenos_Aires"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Catamarca"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/ComodRivadavia"]={c:"AR",f:"-03",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Cordoba"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Jujuy"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/La_Rioja"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Mendoza"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Rio_Gallegos"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Salta"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/San_Juan"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/San_Luis"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Tucuman"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Ushuaia"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Aruba"]={c:"AW",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Asuncion"]={c:"PY",e:{m:3,r:"0>22",t:"0:0"},f:"-04/-03",n:"Paraguay {c} Time",o:"-4:0",s:{m:10,r:"0>1",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["America/Atikokan"]={c:"CA",f:"EST",o:"-5:0"},ilib.data.zoneinfo["America/Bahia"]={c:"BR",f:"-03",n:"Bahia {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Bahia_Banderas"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Barbados"]={c:"BB",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Belem"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Belize"]={c:"BZ",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Blanc-Sablon"]={c:"CA",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Boa_Vista"]={c:"BR",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Bogota"]={c:"CO",f:"-05/-04",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Boise"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Buenos_Aires"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Cambridge_Bay"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Campo_Grande"]={c:"BR",f:"-04/-03",n:"Central Brazilian {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Cancun"]={c:"MX",f:"EST",n:"Eastern {c} Time (Mexico)",o:"-5:0"},ilib.data.zoneinfo["America/Caracas"]={c:"VE",f:"-04",n:"Venezuela {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Catamarca"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Cayenne"]={c:"GF",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Cayman"]={c:"KY",f:"EST",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Chicago"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Chihuahua"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Ciudad_Juarez"]={c:"MX",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Coral_Harbour"]={c:"CA",f:"EST",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Cordoba"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Costa_Rica"]={c:"CR",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Creston"]={c:"CA",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Cuiaba"]={c:"BR",f:"-04/-03",n:"Central Brazilian {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Curacao"]={c:"CW",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Danmarkshavn"]={c:"GL",f:"GMT",n:"Greenwich {c} Time",o:"0:0"},ilib.data.zoneinfo["America/Dawson"]={c:"CA",f:"MST",n:"Yukon {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Dawson_Creek"]={c:"CA",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Denver"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Detroit"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Dominica"]={c:"DM",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Edmonton"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Eirunepe"]={c:"BR",f:"-05",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/El_Salvador"]={c:"SV",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Ensenada"]={c:"MX",f:"PST",o:"-8:0"},ilib.data.zoneinfo["America/Fort_Nelson"]={c:"CA",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Fort_Wayne"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Fortaleza"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Glace_Bay"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Godthab"]={e:{m:10,r:"l6",t:"23:0"},f:"-03/-02",o:"-3:0",s:{c:"S",m:3,r:"l6",t:"22:0",v:"1:0"},c:"GL",n:"Greenland {c} Time"},ilib.data.zoneinfo["America/Goose_Bay"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Grand_Turk"]={c:"TC",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Turks And Caicos {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Grenada"]={c:"GD",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Guadeloupe"]={c:"GP",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Guatemala"]={c:"GT",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Guayaquil"]={c:"EC",f:"-05/-04",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Guyana"]={c:"GY",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Halifax"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Havana"]={c:"CU",e:{c:"S",m:11,r:"0>1",t:"1:0"},f:"C{c}T",n:"Cuba {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["America/Hermosillo"]={c:"MX",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Indiana/Indianapolis"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"US Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Knox"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Marengo"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"US Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Petersburg"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Tell_City"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Vevay"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"US Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Vincennes"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Winamac"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indianapolis"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"US Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Inuvik"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Iqaluit"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Jamaica"]={c:"JM",f:"EST",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Jujuy"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Juneau"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Kentucky/Louisville"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Kentucky/Monticello"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Knox_IN"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Kralendijk"]={c:"BQ",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/La_Paz"]={c:"BO",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Lima"]={c:"PE",f:"-05/-04",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Los_Angeles"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",n:"Pacific {c} Time",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Louisville"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Lower_Princes"]={c:"SX",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Maceio"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Managua"]={c:"NI",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Manaus"]={c:"BR",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Marigot"]={c:"MF",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Martinique"]={c:"MQ",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Matamoros"]={c:"MX",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Mazatlan"]={c:"MX",f:"MST",n:"Mountain {c} Time (Mexico)",o:"-7:0"},ilib.data.zoneinfo["America/Mendoza"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Menominee"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Merida"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Metlakatla"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Mexico_City"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Miquelon"]={c:"PM",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"-03/-02",n:"Saint Pierre {c} Time",o:"-3:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Moncton"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Monterrey"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Montevideo"]={c:"UY",f:"-03/-02",n:"Montevideo {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Montreal"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Montserrat"]={c:"MS",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Nassau"]={c:"BS",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/New_York"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Nipigon"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Nome"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Noronha"]={c:"BR",f:"-02",n:"UTC-02",o:"-2:0"},ilib.data.zoneinfo["America/North_Dakota/Beulah"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/North_Dakota/Center"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/North_Dakota/New_Salem"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Nuuk"]={c:"GL",e:{m:10,r:"l0",t:"0:0"},f:"-02/-01",n:"Greenland {c} Time",o:"-2:0",s:{c:"S",m:3,r:"l6",t:"23:0",v:"1:0"}},ilib.data.zoneinfo["America/Ojinaga"]={c:"MX",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Panama"]={c:"PA",f:"EST",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Pangnirtung"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Paramaribo"]={c:"SR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Phoenix"]={c:"US",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Port-au-Prince"]={c:"HT",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Haiti {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Port_of_Spain"]={c:"TT",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Porto_Acre"]={c:"BR",f:"-05",o:"-5:0"},ilib.data.zoneinfo["America/Porto_Velho"]={c:"BR",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Puerto_Rico"]={c:"PR",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Punta_Arenas"]={c:"CL",f:"-03",n:"Magallanes {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Rainy_River"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Rankin_Inlet"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Recife"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Regina"]={c:"CA",f:"CST",n:"Canada Central {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Resolute"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Rio_Branco"]={c:"BR",f:"-05",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Rosario"]={c:"AR",f:"-03/-02",o:"-3:0"},ilib.data.zoneinfo["America/Santarem"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Santiago"]={c:"CL",e:{m:4,r:"0>2",t:"0:0"},f:"-04/-03",n:"Pacific SA {c} Time",o:"-4:0",s:{m:9,r:"0>2",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["America/Santo_Domingo"]={c:"DO",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Sao_Paulo"]={c:"BR",f:"-03/-02",n:"E. South America {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Scoresbysund"]={c:"GL",e:{m:10,r:"l0",t:"0:0"},f:"-02/-01",n:"Azores {c} Time",o:"-2:0",s:{c:"S",m:3,r:"l6",t:"23:0",v:"1:0"}},ilib.data.zoneinfo["America/Sitka"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/St_Barthelemy"]={c:"BL",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/St_Johns"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"N{c}T",n:"Newfoundland {c} Time",o:"-3:30",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/St_Kitts"]={c:"KN",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/St_Lucia"]={c:"LC",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/St_Thomas"]={c:"VI",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/St_Vincent"]={c:"VC",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Swift_Current"]={c:"CA",f:"CST",n:"Canada Central {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Tegucigalpa"]={c:"HN",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Thule"]={c:"GL",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Thunder_Bay"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Tijuana"]={c:"MX",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",n:"Pacific {c} Time (Mexico)",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Toronto"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Tortola"]={c:"VG",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Vancouver"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",n:"Pacific {c} Time",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Virgin"]={c:"TT",f:"AST",o:"-4:0"},ilib.data.zoneinfo["America/Whitehorse"]={c:"CA",f:"MST",n:"Yukon {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Winnipeg"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Yakutat"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Yellowknife"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Antarctica/Casey"]={c:"AQ",f:"+08",n:"Central Pacific {c} Time",o:"8:0"},ilib.data.zoneinfo["Antarctica/Davis"]={c:"AQ",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Antarctica/DumontDUrville"]={c:"AQ",f:"+10",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Antarctica/Macquarie"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"Tasmania {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Antarctica/Mawson"]={c:"AQ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Antarctica/McMurdo"]={c:"AQ",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"NZ{c}T",n:"New Zealand {c} Time",o:"12:0",s:{c:"D",m:9,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Antarctica/Palmer"]={c:"AQ",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["Antarctica/Rothera"]={c:"AQ",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["Antarctica/South_Pole"]={c:"NZ",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"NZ{c}T",o:"12:0",s:{c:"D",m:9,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Antarctica/Syowa"]={c:"AQ",f:"+03",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Antarctica/Troll"]={c:"AQ",e:{c:"+00",m:10,r:"l0",t:"3:0"},f:"+00",o:"0:0",s:{c:"+02",m:3,r:"l0",t:"1:0",v:"2:0"}},ilib.data.zoneinfo["Antarctica/Vostok"]={c:"AQ",f:"+05",n:"Central Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Arctic/Longyearbyen"]={c:"SJ",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Aden"]={c:"YE",f:"+03",n:"Arab {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Almaty"]={c:"KZ",f:"+05",n:"Central Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Amman"]={c:"JO",f:"+03",n:"Jordan {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Anadyr"]={c:"RU",f:"+12",n:"Russia Time Zone 11",o:"12:0"},ilib.data.zoneinfo["Asia/Aqtau"]={c:"KZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Aqtobe"]={c:"KZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Ashgabat"]={c:"TM",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Atyrau"]={c:"KZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Baghdad"]={c:"IQ",f:"+03/+04",n:"Arabic {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Bahrain"]={c:"BH",f:"+03",n:"Arab {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Baku"]={c:"AZ",f:"+04/+05",n:"Azerbaijan {c} Time",o:"4:0"},ilib.data.zoneinfo["Asia/Bangkok"]={c:"TH",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Barnaul"]={c:"RU",f:"+07",n:"Altai {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Beirut"]={c:"LB",e:{m:10,r:"l0",t:"0:0"},f:"EE{c}T",n:"Middle East {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Bishkek"]={c:"KG",f:"+06",n:"Central Asia {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Brunei"]={c:"BN",f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Chita"]={c:"RU",f:"+09",n:"Transbaikal {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Choibalsan"]={c:"MN",f:"+08/+09",n:"Ulaanbaatar {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Chongqing"]={c:"CN",f:"CST",o:"8:0"},ilib.data.zoneinfo["Asia/Chungking"]={c:"CN",f:"CST",o:"8:0"},ilib.data.zoneinfo["Asia/Colombo"]={c:"LK",f:"+0530",n:"Sri Lanka {c} Time",o:"5:30"},ilib.data.zoneinfo["Asia/Damascus"]={c:"SY",f:"+03",n:"Syria {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Dhaka"]={c:"BD",f:"+06/+07",n:"Bangladesh {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Dili"]={c:"TL",f:"+09",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Dubai"]={c:"AE",f:"+04",n:"Mauritius {c} Time",o:"4:0"},ilib.data.zoneinfo["Asia/Dushanbe"]={c:"TJ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Famagusta"]={c:"CY",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"GTB {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Gaza"]={c:"PS",e:{m:10,r:"6<30",t:"2:0"},f:"EE{c}T",n:"West Bank {c} Time",o:"2:0",s:{c:"S",m:4,r:"20",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Hanoi"]={f:"+07",o:"7:0"},ilib.data.zoneinfo["Asia/Harbin"]={c:"CN",f:"CST",o:"8:0"},ilib.data.zoneinfo["Asia/Hebron"]={c:"PS",e:{m:10,r:"6<30",t:"2:0"},f:"EE{c}T",n:"West Bank {c} Time",o:"2:0",s:{c:"S",m:4,r:"20",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Ho_Chi_Minh"]={c:"VN",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Hong_Kong"]={c:"HK",f:"HKST",n:"China {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Hovd"]={c:"MN",f:"+07/+08",n:"W. Mongolia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Irkutsk"]={c:"RU",f:"+08",n:"North Asia East {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Istanbul"]={f:"+03",o:"3:0"},ilib.data.zoneinfo["Asia/Jakarta"]={c:"ID",f:"WIB",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Jayapura"]={c:"ID",f:"WIT",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Jerusalem"]={c:"IL",e:{c:"S",m:10,r:"l0",t:"2:0"},f:"I{c}T",n:"Israel {c} Time",o:"2:0",s:{c:"D",m:3,r:"5>23",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Kabul"]={c:"AF",f:"+0430",n:"Afghanistan {c} Time",o:"4:30"},ilib.data.zoneinfo["Asia/Kamchatka"]={c:"RU",f:"+12",n:"Russia Time Zone 11",o:"12:0"},ilib.data.zoneinfo["Asia/Karachi"]={c:"PK",f:"PKST",n:"Pakistan {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Kashgar"]={c:"CN",f:"CST",o:"8:0"},ilib.data.zoneinfo["Asia/Kathmandu"]={c:"NP",f:"+0545",n:"Nepal {c} Time",o:"5:45"},ilib.data.zoneinfo["Asia/Khandyga"]={c:"RU",f:"+09",n:"Yakutsk {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Kolkata"]={c:"IN",f:"IST",n:"India {c} Time",o:"5:30"},ilib.data.zoneinfo["Asia/Krasnoyarsk"]={c:"RU",f:"+07",n:"North Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Kuala_Lumpur"]={c:"MY",f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Kuching"]={c:"MY",f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Kuwait"]={c:"KW",f:"+03",n:"Arab {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Macau"]={c:"MO",f:"CST",n:"China {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Magadan"]={c:"RU",f:"+11",n:"Magadan {c} Time",o:"11:0"},ilib.data.zoneinfo["Asia/Makassar"]={c:"ID",f:"WITA",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Manila"]={c:"PH",f:"PST",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Muscat"]={c:"OM",f:"+04",n:"Arabian {c} Time",o:"4:0"},ilib.data.zoneinfo["Asia/Nicosia"]={c:"CY",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"GTB {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Novokuznetsk"]={c:"RU",f:"+07",n:"North Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Novosibirsk"]={c:"RU",f:"+07",n:"N. Central Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Omsk"]={c:"RU",f:"+06",n:"Omsk {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Oral"]={c:"KZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Phnom_Penh"]={c:"KH",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Pontianak"]={c:"ID",f:"WIB",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Pyongyang"]={c:"KP",f:"KST",n:"North Korea {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Qatar"]={c:"QA",f:"+03",n:"Arab {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Qostanay"]={c:"KZ",f:"+05",n:"Central Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Qyzylorda"]={c:"KZ",f:"+05",n:"Qyzylorda {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Riyadh"]={c:"SA",f:"+03",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Saigon"]={c:"VN",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Sakhalin"]={c:"RU",f:"+11",n:"Sakhalin {c} Time",o:"11:0"},ilib.data.zoneinfo["Asia/Samarkand"]={c:"UZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Seoul"]={c:"KR",f:"KST",n:"Korea {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Shanghai"]={c:"CN",f:"CST",n:"China {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Singapore"]={c:"SG",f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Srednekolymsk"]={c:"RU",f:"+11",n:"Russia Time Zone 10",o:"11:0"},ilib.data.zoneinfo["Asia/Taipei"]={c:"TW",f:"CST",n:"Taipei {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Tashkent"]={c:"UZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Tbilisi"]={c:"GE",f:"+04",n:"Georgian {c} Time",o:"4:0"},ilib.data.zoneinfo["Asia/Tehran"]={c:"IR",f:"+0330/+0430",n:"Iran {c} Time",o:"3:30"},ilib.data.zoneinfo["Asia/Tel_Aviv"]={c:"IL",e:{c:"S",m:10,r:"l0",t:"2:0"},f:"I{c}T",o:"2:0",s:{c:"D",m:3,r:"5>23",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Thimphu"]={c:"BT",f:"+06",n:"Bangladesh {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Tokyo"]={c:"JP",f:"JST",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Tomsk"]={c:"RU",f:"+07",n:"Tomsk {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Ulaanbaatar"]={c:"MN",f:"+08/+09",n:"Ulaanbaatar {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Ulan_Bator"]={c:"MN",f:"+08/+09",o:"8:0"},ilib.data.zoneinfo["Asia/Urumqi"]={c:"CN",f:"+06",n:"Central Asia {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Ust-Nera"]={c:"RU",f:"+10",n:"Vladivostok {c} Time",o:"10:0"},ilib.data.zoneinfo["Asia/Vientiane"]={c:"LA",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Vladivostok"]={c:"RU",f:"+10",n:"Vladivostok {c} Time",o:"10:0"},ilib.data.zoneinfo["Asia/Yakutsk"]={c:"RU",f:"+09",n:"Yakutsk {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Yangon"]={c:"MM",f:"+0630",n:"Myanmar {c} Time",o:"6:30"},ilib.data.zoneinfo["Asia/Yekaterinburg"]={c:"RU",f:"+05",n:"Ekaterinburg {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Yerevan"]={c:"AM",f:"+04/+05",n:"Caucasus {c} Time",o:"4:0"},ilib.data.zoneinfo["Atlantic/Azores"]={c:"PT",e:{m:10,r:"l0",t:"1:0"},f:"-01/+00",n:"Azores {c} Time",o:"-1:0",s:{c:"S",m:3,r:"l0",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Bermuda"]={c:"BM",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Canary"]={c:"ES",e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Cape_Verde"]={c:"CV",f:"-01",n:"Cape Verde {c} Time",o:"-1:0"},ilib.data.zoneinfo["Atlantic/Faroe"]={c:"FO",e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Jan_Mayen"]={c:"NO",f:"-01",o:"-1:0"},ilib.data.zoneinfo["Atlantic/Madeira"]={c:"PT",e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Reykjavik"]={c:"IS",f:"GMT",n:"Greenwich {c} Time",o:"0:0"},ilib.data.zoneinfo["Atlantic/South_Georgia"]={c:"GS",f:"-02",n:"UTC-02",o:"-2:0"},ilib.data.zoneinfo["Atlantic/St_Helena"]={c:"SH",f:"GMT",n:"Greenwich {c} Time",o:"0:0"},ilib.data.zoneinfo["Atlantic/Stanley"]={c:"FK",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["Australia/ACT"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Adelaide"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AC{c}T",n:"Cen. Australia {c} Time",o:"9:30",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Brisbane"]={c:"AU",f:"AEST",n:"E. Australia {c} Time",o:"10:0"},ilib.data.zoneinfo["Australia/Broken_Hill"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AC{c}T",n:"Cen. Australia {c} Time",o:"9:30",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Canberra"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Currie"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"Tasmania {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Darwin"]={c:"AU",f:"ACST",n:"AUS Central {c} Time",o:"9:30"},ilib.data.zoneinfo["Australia/Eucla"]={c:"AU",f:"+0845/+0945",n:"Aus Central W. {c} Time",o:"8:45"},ilib.data.zoneinfo["Australia/Hobart"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"Tasmania {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/LHI"]={c:"AU",e:{m:4,r:"0>1",t:"2:0"},f:"+1030/+11",o:"10:30",s:{m:10,r:"0>1",t:"2:0",v:"0:30"}},ilib.data.zoneinfo["Australia/Lindeman"]={c:"AU",f:"AEST",n:"E. Australia {c} Time",o:"10:0"},ilib.data.zoneinfo["Australia/Lord_Howe"]={c:"AU",e:{m:4,r:"0>1",t:"2:0"},f:"+1030/+11",n:"Lord Howe {c} Time",o:"10:30",s:{m:10,r:"0>1",t:"2:0",v:"0:30"}},ilib.data.zoneinfo["Australia/Melbourne"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"AUS Eastern {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/NSW"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/North"]={c:"AU",f:"ACST",o:"9:30"},ilib.data.zoneinfo["Australia/Perth"]={c:"AU",f:"AWST",n:"W. Australia {c} Time",o:"8:0"},ilib.data.zoneinfo["Australia/Queensland"]={c:"AU",f:"AEST",o:"10:0"},ilib.data.zoneinfo["Australia/South"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AC{c}T",o:"9:30",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Sydney"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"AUS Eastern {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Tasmania"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Victoria"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Yancowinna"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AC{c}T",o:"9:30",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Brazil/Acre"]={c:"BR",f:"-05",o:"-5:0"},ilib.data.zoneinfo["Brazil/East"]={c:"BR",f:"-03/-02",o:"-3:0"},ilib.data.zoneinfo.CET={e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo.CST6CDT={e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Central"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Mountain"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Newfoundland"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"N{c}T",o:"-3:30",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Pacific"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Yukon"]={c:"CA",f:"MST",o:"-7:0"},ilib.data.zoneinfo["Chile/Continental"]={c:"CL",e:{m:4,r:"0>2",t:"0:0"},f:"-04/-03",o:"-4:0",s:{m:9,r:"0>2",t:"0:0",v:"1:0"}},ilib.data.zoneinfo.EET={e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo.EST={f:"EST",o:"-5:0"},ilib.data.zoneinfo.EST5EDT={e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Etc/GMT+1"]={f:"-01",n:"Cape Verde {c} Time",o:"-1:0"},ilib.data.zoneinfo["Etc/GMT+10"]={f:"-10",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Etc/GMT+11"]={f:"-11",n:"UTC-11",o:"-11:0"},ilib.data.zoneinfo["Etc/GMT+12"]={f:"-12",n:"Dateline {c} Time",o:"-12:0"},ilib.data.zoneinfo["Etc/GMT+2"]={f:"-02",n:"UTC-02",o:"-2:0"},ilib.data.zoneinfo["Etc/GMT+3"]={f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["Etc/GMT+4"]={f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["Etc/GMT+5"]={f:"-05",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["Etc/GMT+6"]={f:"-06",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["Etc/GMT+7"]={f:"-07",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["Etc/GMT+8"]={f:"-08",n:"UTC-08",o:"-8:0"},ilib.data.zoneinfo["Etc/GMT+9"]={f:"-09",n:"UTC-09",o:"-9:0"},ilib.data.zoneinfo["Etc/GMT-1"]={f:"+01",n:"W. Central Africa {c} Time",o:"1:0"},ilib.data.zoneinfo["Etc/GMT-10"]={f:"+10",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Etc/GMT-11"]={f:"+11",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Etc/GMT-12"]={f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Etc/GMT-13"]={f:"+13",n:"UTC+13",o:"13:0"},ilib.data.zoneinfo["Etc/GMT-14"]={f:"+14",n:"Line Islands {c} Time",o:"14:0"},ilib.data.zoneinfo["Etc/GMT-2"]={f:"+02",n:"South Africa {c} Time",o:"2:0"},ilib.data.zoneinfo["Etc/GMT-3"]={f:"+03",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Etc/GMT-4"]={f:"+04",n:"Arabian {c} Time",o:"4:0"},ilib.data.zoneinfo["Etc/GMT-5"]={f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Etc/GMT-6"]={f:"+06",n:"Central Asia {c} Time",o:"6:0"},ilib.data.zoneinfo["Etc/GMT-7"]={f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Etc/GMT-8"]={f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Etc/GMT-9"]={f:"+09",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Etc/GMT"]={f:"GMT",n:"UTC",o:"0:0"},ilib.data.zoneinfo["Etc/UTC"]={f:"UTC",n:"UTC",o:"0:0"},ilib.data.zoneinfo["Europe/Amsterdam"]={c:"NL",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Andorra"]={c:"AD",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Astrakhan"]={c:"RU",f:"+04",n:"Astrakhan {c} Time",o:"4:0"},ilib.data.zoneinfo["Europe/Athens"]={c:"GR",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"GTB {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Belfast"]={c:"GB",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Belgrade"]={c:"RS",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Berlin"]={c:"DE",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Bratislava"]={c:"SK",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Brussels"]={c:"BE",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Bucharest"]={c:"RO",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"GTB {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Budapest"]={c:"HU",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Busingen"]={c:"DE",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Chisinau"]={c:"MD",e:{m:10,r:"l0",t:"3:0"},f:"EE{c}T",n:"E. Europe {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Copenhagen"]={c:"DK",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Romance {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Dublin"]={c:"IE",e:{m:10,r:"l0",t:"1:0",z:"u"},f:"IST/GMT",n:"GMT {c} Time",o:"1:0"},ilib.data.zoneinfo["Europe/Gibraltar"]={c:"GI",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Guernsey"]={c:"GG",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Helsinki"]={c:"FI",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Isle_of_Man"]={c:"IM",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Istanbul"]={c:"TR",f:"+03",n:"Turkey {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Jersey"]={c:"JE",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Kaliningrad"]={c:"RU",f:"EET",n:"Kaliningrad {c} Time",o:"2:0"},ilib.data.zoneinfo["Europe/Kiev"]={e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"},c:"UA",n:"FLE {c} Time"},ilib.data.zoneinfo["Europe/Kirov"]={c:"RU",f:"MSK",n:"Russian {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Kyiv"]={c:"UA",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Lisbon"]={c:"PT",e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Ljubljana"]={c:"SI",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/London"]={c:"GB",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Luxembourg"]={c:"LU",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Madrid"]={c:"ES",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Romance {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Malta"]={c:"MT",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Mariehamn"]={c:"AX",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Minsk"]={c:"BY",f:"+03",n:"Belarus {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Monaco"]={c:"MC",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Moscow"]={c:"RU",f:"MSK",n:"Russian {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Nicosia"]={e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Oslo"]={c:"NO",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Paris"]={c:"FR",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Podgorica"]={c:"ME",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Prague"]={c:"CZ",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Riga"]={c:"LV",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Rome"]={c:"IT",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Samara"]={c:"RU",f:"+04",n:"Russia Time Zone 3",o:"4:0"},ilib.data.zoneinfo["Europe/San_Marino"]={c:"SM",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Sarajevo"]={c:"BA",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Saratov"]={c:"RU",f:"+04",n:"Saratov {c} Time",o:"4:0"},ilib.data.zoneinfo["Europe/Simferopol"]={c:"UA",f:"MSK",n:"Russian {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Skopje"]={c:"MK",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Sofia"]={c:"BG",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Stockholm"]={c:"SE",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Tallinn"]={c:"EE",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Tirane"]={c:"AL",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Tiraspol"]={c:"MD",f:"MSK/MSD",o:"3:0"},ilib.data.zoneinfo["Europe/Ulyanovsk"]={c:"RU",f:"+04",n:"Astrakhan {c} Time",o:"4:0"},ilib.data.zoneinfo["Europe/Uzhgorod"]={c:"UA",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Vaduz"]={c:"LI",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Vatican"]={c:"VA",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Vienna"]={c:"AT",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Vilnius"]={c:"LT",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Volgograd"]={c:"RU",f:"MSK",n:"Volgograd {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Warsaw"]={c:"PL",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Zagreb"]={c:"HR",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Zaporozhye"]={c:"UA",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Zurich"]={c:"CH",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo.Factory={f:"-00",o:"0:0"},ilib.data.zoneinfo.HST={f:"HST",o:"-10:0"},ilib.data.zoneinfo.Iceland={c:"CI",f:"GMT",o:"0:0"},ilib.data.zoneinfo["Indian/Antananarivo"]={c:"MG",f:"EAT",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Indian/Chagos"]={c:"IO",f:"+06",n:"Central Asia {c} Time",o:"6:0"},ilib.data.zoneinfo["Indian/Christmas"]={c:"CX",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Indian/Cocos"]={c:"CC",f:"+0630",n:"Myanmar {c} Time",o:"6:30"},ilib.data.zoneinfo["Indian/Comoro"]={c:"KM",f:"EAT",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Indian/Kerguelen"]={c:"TF",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Indian/Mahe"]={c:"SC",f:"+04",n:"Mauritius {c} Time",o:"4:0"},ilib.data.zoneinfo["Indian/Maldives"]={c:"MV",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Indian/Mauritius"]={c:"MU",f:"+04/+05",n:"Mauritius {c} Time",o:"4:0"},ilib.data.zoneinfo["Indian/Mayotte"]={c:"YT",f:"EAT",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Indian/Reunion"]={c:"RE",f:"+04",n:"Mauritius {c} Time",o:"4:0"},ilib.data.zoneinfo.Kwajalein={c:"MH",f:"+12",o:"12:0"},ilib.data.zoneinfo.MET={e:{m:10,r:"l0",t:"3:0"},f:"ME{c}T",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo.MST={f:"MST",o:"-7:0"},ilib.data.zoneinfo.MST7MDT={e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Mexico/BajaSur"]={c:"MX",f:"MST",o:"-7:0"},ilib.data.zoneinfo["Mexico/General"]={c:"MX",f:"CST",o:"-6:0"},ilib.data.zoneinfo.NZ={c:"NZ",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"NZ{c}T",o:"12:0",s:{c:"D",m:9,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo.PST8PDT={e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",n:"Pacific {c} Time",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Pacific/Apia"]={c:"WS",f:"+13/+14",n:"Samoa {c} Time",o:"13:0"},ilib.data.zoneinfo["Pacific/Auckland"]={c:"NZ",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"NZ{c}T",n:"New Zealand {c} Time",o:"12:0",s:{c:"D",m:9,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Pacific/Bougainville"]={c:"PG",f:"+11",n:"Bougainville {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Chatham"]={c:"NZ",e:{m:4,r:"0>1",t:"3:45"},f:"+1245/+1345",n:"Chatham Islands {c} Time",o:"12:45",s:{m:9,r:"l0",t:"2:45",v:"1:0"}},ilib.data.zoneinfo["Pacific/Chuuk"]={c:"FM",f:"+10",o:"10:0"},ilib.data.zoneinfo["Pacific/Easter"]={c:"CL",e:{m:4,r:"0>1",t:"22:0"},f:"-06/-05",n:"Easter Island {c} Time",o:"-6:0",s:{m:9,r:"0>1",t:"22:0",v:"1:0"}},ilib.data.zoneinfo["Pacific/Efate"]={c:"VU",f:"+11/+12",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Enderbury"]={c:"KI",f:"-00",n:"UTC+13",o:"0:0"},ilib.data.zoneinfo["Pacific/Fakaofo"]={c:"TK",f:"+13",n:"UTC+13",o:"13:0"},ilib.data.zoneinfo["Pacific/Fiji"]={c:"FJ",f:"+12/+13",n:"Fiji {c} Time",o:"12:0"},ilib.data.zoneinfo["Pacific/Funafuti"]={c:"TV",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Galapagos"]={c:"EC",f:"-06/-05",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["Pacific/Gambier"]={c:"PF",f:"-09",n:"UTC-09",o:"-9:0"},ilib.data.zoneinfo["Pacific/Guadalcanal"]={c:"SB",f:"+11",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Guam"]={c:"GU",f:"ChST",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Pacific/Honolulu"]={c:"US",f:"HST",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Pacific/Johnston"]={c:"US",f:"HST",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Pacific/Kanton"]={c:"KI",f:"+13",n:"UTC+13",o:"13:0"},ilib.data.zoneinfo["Pacific/Kiritimati"]={c:"KI",f:"+14",n:"Line Islands {c} Time",o:"14:0"},ilib.data.zoneinfo["Pacific/Kosrae"]={c:"FM",f:"+11",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Kwajalein"]={c:"MH",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Majuro"]={c:"MH",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Marquesas"]={c:"PF",f:"-0930",n:"Marquesas {c} Time",o:"-9:30"},ilib.data.zoneinfo["Pacific/Midway"]={c:"UM",f:"SST",n:"UTC-11",o:"-11:0"},ilib.data.zoneinfo["Pacific/Nauru"]={c:"NR",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Niue"]={c:"NU",f:"-11",n:"UTC-11",o:"-11:0"},ilib.data.zoneinfo["Pacific/Norfolk"]={c:"NF",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"+11/+12",n:"Norfolk {c} Time",o:"11:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Pacific/Noumea"]={c:"NC",f:"+11/+12",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Pago_Pago"]={c:"AS",f:"SST",n:"UTC-11",o:"-11:0"},ilib.data.zoneinfo["Pacific/Palau"]={c:"PW",f:"+09",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Pacific/Pitcairn"]={c:"PN",f:"-08",n:"UTC-08",o:"-8:0"},ilib.data.zoneinfo["Pacific/Pohnpei"]={c:"FM",f:"+11",o:"11:0"},ilib.data.zoneinfo["Pacific/Ponape"]={c:"SB",f:"+11",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Port_Moresby"]={c:"PG",f:"+10",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Pacific/Rarotonga"]={c:"CK",f:"-10/-0930",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Pacific/Saipan"]={c:"MP",f:"ChST",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Pacific/Samoa"]={c:"AS",f:"SST",o:"-11:0"},ilib.data.zoneinfo["Pacific/Tahiti"]={c:"PF",f:"-10",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Pacific/Tarawa"]={c:"KI",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Tongatapu"]={c:"TO",f:"+13/+14",n:"Tonga {c} Time",o:"13:0"},ilib.data.zoneinfo["Pacific/Truk"]={c:"PG",f:"+10",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Pacific/Wake"]={c:"UM",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Wallis"]={c:"WF",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Yap"]={c:"PG",f:"+10",o:"10:0"},ilib.data.zoneinfo["US/Alaska"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/East-Indiana"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/Eastern"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/Hawaii"]={c:"US",f:"HST",o:"-10:0"},ilib.data.zoneinfo["US/Indiana-Starke"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/Pacific"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/Samoa"]={c:"AS",f:"SST",o:"-11:0"},ilib.data.zoneinfo.WET={e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo.zonetab={AD:["Europe/Andorra"],AE:["Asia/Dubai"],AF:["Asia/Kabul"],AG:["America/Antigua"],AI:["America/Anguilla"],AL:["Europe/Tirane"],AM:["Asia/Yerevan"],AO:["Africa/Luanda"],AQ:["Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok"],AR:["America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Buenos_Aires","America/Catamarca","America/Cordoba","America/Jujuy","America/Mendoza","America/Rosario"],AS:["Pacific/Pago_Pago","Pacific/Samoa","US/Samoa"],AT:["Europe/Vienna"],AU:["Antarctica/Macquarie","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna"],AW:["America/Aruba"],AX:["Europe/Mariehamn"],AZ:["Asia/Baku"],BA:["Europe/Sarajevo"],BB:["America/Barbados"],BD:["Asia/Dacca","Asia/Dhaka"],BE:["Europe/Brussels"],BF:["Africa/Ouagadougou"],BG:["Europe/Sofia"],BH:["Asia/Bahrain"],BI:["Africa/Bujumbura"],BJ:["Africa/Porto-Novo"],BL:["America/St_Barthelemy"],BM:["Atlantic/Bermuda"],BN:["Asia/Brunei"],BO:["America/La_Paz"],BQ:["America/Kralendijk"],BR:["America/Araguaina","America/Bahia","America/Belem","America/Boa_Vista","America/Campo_Grande","America/Cuiaba","America/Eirunepe","America/Fortaleza","America/Maceio","America/Manaus","America/Noronha","America/Porto_Acre","America/Porto_Velho","America/Recife","America/Rio_Branco","America/Santarem","America/Sao_Paulo","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West"],BS:["America/Nassau"],BT:["Asia/Thimbu","Asia/Thimphu"],BW:["Africa/Gaborone"],BY:["Europe/Minsk"],BZ:["America/Belize"],CA:["America/Atikokan","America/Blanc-Sablon","America/Cambridge_Bay","America/Coral_Harbour","America/Creston","America/Dawson","America/Dawson_Creek","America/Edmonton","America/Fort_Nelson","America/Glace_Bay","America/Goose_Bay","America/Halifax","America/Inuvik","America/Iqaluit","America/Moncton","America/Montreal","America/Nipigon","America/Pangnirtung","America/Rainy_River","America/Rankin_Inlet","America/Regina","America/Resolute","America/St_Johns","America/Swift_Current","America/Thunder_Bay","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yellowknife","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon"],CC:["Indian/Cocos"],CD:["Africa/Kinshasa","Africa/Lubumbashi"],CF:["Africa/Bangui"],CG:["Africa/Brazzaville"],CH:["Europe/Zurich"],CI:["Africa/Abidjan","Africa/Timbuktu"],CK:["Pacific/Rarotonga"],CL:["America/Punta_Arenas","America/Santiago","Chile/Continental","Chile/EasterIsland","Pacific/Easter"],CM:["Africa/Douala"],CN:["Asia/Chongqing","Asia/Chungking","Asia/Harbin","Asia/Kashgar","Asia/Shanghai","Asia/Urumqi","PRC"],CO:["America/Bogota"],CR:["America/Costa_Rica"],CU:["America/Havana","Cuba"],CV:["Atlantic/Cape_Verde"],CW:["America/Curacao"],CX:["Indian/Christmas"],CY:["Asia/Famagusta","Asia/Nicosia","Europe/Nicosia"],CZ:["Europe/Prague"],DE:["Europe/Berlin","Europe/Busingen"],DJ:["Africa/Djibouti"],DK:["Europe/Copenhagen"],DM:["America/Dominica"],DO:["America/Santo_Domingo"],DZ:["Africa/Algiers"],EC:["America/Guayaquil","Pacific/Galapagos"],EE:["Europe/Tallinn"],EG:["Africa/Cairo","Egypt"],EH:["Africa/El_Aaiun"],ER:["Africa/Asmara"],ES:["Africa/Ceuta","Atlantic/Canary","Europe/Madrid"],ET:["Africa/Addis_Ababa"],FI:["Europe/Helsinki"],FJ:["Pacific/Fiji"],FK:["Atlantic/Stanley"],FM:["Pacific/Chuuk","Pacific/Kosrae","Pacific/Pohnpei","Pacific/Ponape","Pacific/Truk","Pacific/Yap"],FO:["Atlantic/Faeroe","Atlantic/Faroe"],FR:["Europe/Paris"],GA:["Africa/Libreville"],GB:["Europe/Belfast","Europe/London","GB","GB-Eire"],GD:["America/Grenada"],GE:["Asia/Tbilisi"],GF:["America/Cayenne"],GG:["Europe/Guernsey"],GH:["Africa/Accra"],GI:["Europe/Gibraltar"],GL:["America/Danmarkshavn","America/Godthab","America/Nuuk","America/Scoresbysund","America/Thule"],GM:["Africa/Banjul"],GN:["Africa/Conakry"],GP:["America/Guadeloupe"],GQ:["Africa/Malabo"],GR:["Europe/Athens"],GS:["Atlantic/South_Georgia"],GT:["America/Guatemala"],GU:["Pacific/Guam"],GW:["Africa/Bissau"],GY:["America/Guyana"],HK:["Asia/Hong_Kong","Hongkong"],HN:["America/Tegucigalpa"],HR:["Europe/Zagreb"],HT:["America/Port-au-Prince"],HU:["Europe/Budapest"],ID:["Asia/Jakarta","Asia/Jayapura","Asia/Makassar","Asia/Pontianak","Asia/Ujung_Pandang"],IE:["Eire","Europe/Dublin"],IL:["Asia/Jerusalem","Asia/Tel_Aviv","Israel"],IM:["Europe/Isle_of_Man"],IN:["Asia/Calcutta","Asia/Kolkata"],IO:["Indian/Chagos"],IQ:["Asia/Baghdad"],IR:["Asia/Tehran","Iran"],IS:["Atlantic/Reykjavik","Iceland"],IT:["Europe/Rome"],JE:["Europe/Jersey"],JM:["America/Jamaica","Jamaica"],JO:["Asia/Amman"],JP:["Asia/Tokyo","Japan"],KE:["Africa/Asmera","Africa/Nairobi"],KG:["Asia/Bishkek"],KH:["Asia/Phnom_Penh"],KI:["Pacific/Enderbury","Pacific/Kanton","Pacific/Kiritimati","Pacific/Tarawa"],KM:["Indian/Comoro"],KN:["America/St_Kitts"],KP:["Asia/Pyongyang"],KR:["Asia/Seoul","ROK"],KW:["Asia/Kuwait"],KY:["America/Cayman"],KZ:["Asia/Almaty","Asia/Aqtau","Asia/Aqtobe","Asia/Atyrau","Asia/Oral","Asia/Qostanay","Asia/Qyzylorda"],LA:["Asia/Vientiane"],LB:["Asia/Beirut"],LC:["America/St_Lucia"],LI:["Europe/Vaduz"],LK:["Asia/Colombo"],LR:["Africa/Monrovia"],LS:["Africa/Maseru"],LT:["Europe/Vilnius"],LU:["Europe/Luxembourg"],LV:["Europe/Riga"],LY:["Africa/Tripoli","Libya"],MA:["Africa/Casablanca"],MC:["Europe/Monaco"],MD:["Europe/Chisinau","Europe/Tiraspol"],ME:["Europe/Podgorica"],MF:["America/Marigot"],MG:["Indian/Antananarivo"],MH:["Kwajalein","Pacific/Kwajalein","Pacific/Majuro"],MK:["Europe/Skopje"],ML:["Africa/Bamako"],MM:["Asia/Rangoon","Asia/Yangon"],MN:["Asia/Choibalsan","Asia/Hovd","Asia/Ulaanbaatar","Asia/Ulan_Bator"],MO:["Asia/Macao","Asia/Macau"],MP:["Pacific/Saipan"],MQ:["America/Martinique"],MR:["Africa/Nouakchott"],MS:["America/Montserrat"],MT:["Europe/Malta"],MU:["Indian/Mauritius"],MV:["Indian/Maldives"],MW:["Africa/Blantyre"],MX:["America/Bahia_Banderas","America/Cancun","America/Chihuahua","America/Ciudad_Juarez","America/Ensenada","America/Hermosillo","America/Matamoros","America/Mazatlan","America/Merida","America/Mexico_City","America/Monterrey","America/Ojinaga","America/Santa_Isabel","America/Tijuana","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General"],MY:["Asia/Kuala_Lumpur","Asia/Kuching"],MZ:["Africa/Maputo"],NA:["Africa/Windhoek"],NC:["Pacific/Noumea"],NE:["Africa/Niamey"],NF:["Pacific/Norfolk"],NG:["Africa/Lagos"],NI:["America/Managua"],NL:["Europe/Amsterdam"],NO:["Atlantic/Jan_Mayen","Europe/Oslo"],NP:["Asia/Kathmandu","Asia/Katmandu"],NR:["Pacific/Nauru"],NU:["Pacific/Niue"],NZ:["Antarctica/South_Pole","NZ","NZ-CHAT","Pacific/Auckland","Pacific/Chatham"],OM:["Asia/Muscat"],PA:["America/Panama"],PE:["America/Lima"],PF:["Pacific/Gambier","Pacific/Marquesas","Pacific/Tahiti"],PG:["Pacific/Bougainville","Pacific/Port_Moresby"],PH:["Asia/Manila"],PK:["Asia/Karachi"],PL:["Europe/Warsaw","Poland"],PM:["America/Miquelon"],PN:["Pacific/Pitcairn"],PR:["America/Puerto_Rico"],PS:["Asia/Gaza","Asia/Hebron"],PT:["Atlantic/Azores","Atlantic/Madeira","Europe/Lisbon","Portugal"],PW:["Pacific/Palau"],PY:["America/Asuncion"],QA:["Asia/Qatar"],RE:["Indian/Reunion"],RO:["Europe/Bucharest"],RS:["Europe/Belgrade"],RU:["Asia/Anadyr","Asia/Barnaul","Asia/Chita","Asia/Irkutsk","Asia/Kamchatka","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Magadan","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Sakhalin","Asia/Srednekolymsk","Asia/Tomsk","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Europe/Astrakhan","Europe/Kaliningrad","Europe/Kirov","Europe/Moscow","Europe/Samara","Europe/Saratov","Europe/Ulyanovsk","Europe/Volgograd","W-SU"],RW:["Africa/Kigali"],SA:["Asia/Riyadh"],SB:["Pacific/Guadalcanal"],SC:["Indian/Mahe"],SD:["Africa/Khartoum"],SE:["Europe/Stockholm"],SG:["Asia/Singapore","Singapore"],SH:["Atlantic/St_Helena"],SI:["Europe/Ljubljana"],SJ:["Arctic/Longyearbyen"],SK:["Europe/Bratislava"],SL:["Africa/Freetown"],SM:["Europe/San_Marino"],SN:["Africa/Dakar"],SO:["Africa/Mogadishu"],SR:["America/Paramaribo"],SS:["Africa/Juba"],ST:["Africa/Sao_Tome"],SV:["America/El_Salvador"],SX:["America/Lower_Princes"],SY:["Asia/Damascus"],SZ:["Africa/Mbabane"],TC:["America/Grand_Turk"],TD:["Africa/Ndjamena"],TF:["Indian/Kerguelen"],TG:["Africa/Lome"],TH:["Asia/Bangkok"],TJ:["Asia/Dushanbe"],TK:["Pacific/Fakaofo"],TL:["Asia/Dili"],TM:["Asia/Ashgabat","Asia/Ashkhabad"],TN:["Africa/Tunis"],TO:["Pacific/Tongatapu"],TR:["Asia/Istanbul","Europe/Istanbul","Turkey"],TT:["America/Port_of_Spain","America/Virgin"],TV:["Pacific/Funafuti"],TW:["Asia/Taipei","ROC"],TZ:["Africa/Dar_es_Salaam"],UA:["Europe/Kiev","Europe/Kyiv","Europe/Simferopol","Europe/Uzhgorod","Europe/Zaporozhye"],UG:["Africa/Kampala"],UM:["Pacific/Midway","Pacific/Wake"],US:["America/Adak","America/Anchorage","America/Atka","America/Boise","America/Chicago","America/Denver","America/Detroit","America/Fort_Wayne","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Los_Angeles","America/Louisville","America/Menominee","America/Metlakatla","America/New_York","America/Nome","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Phoenix","America/Shiprock","America/Sitka","America/Yakutat","Navajo","Pacific/Honolulu","Pacific/Johnston","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific"],UY:["America/Montevideo"],UZ:["Asia/Samarkand","Asia/Tashkent"],VA:["Europe/Vatican"],VC:["America/St_Vincent"],VE:["America/Caracas"],VG:["America/Tortola"],VI:["America/St_Thomas"],VN:["Asia/Ho_Chi_Minh","Asia/Saigon"],VU:["Pacific/Efate"],WF:["Pacific/Wallis"],WS:["Pacific/Apia"],YE:["Asia/Aden"],YT:["Indian/Mayotte"],ZA:["Africa/Johannesburg"],ZM:["Africa/Lusaka"],ZW:["Africa/Harare"]}; \ No newline at end of file +var ilib=ilib||{};function parseLocale(a){var n,t;return a&&("C"===(a=-1<(t=a.indexOf("."))?a.substring(0,t):a)?"en-US":(t=[],0<(n=a.replace(/_/g,"-").split(/-/g)).length&&(2!==n[0].length&&3!==n[0].length||(t.push(n[0].toLowerCase()),1>10)+String.fromCharCode(56320|1023&a))},IString.toCodePoint=function(a,n){var t,L;return a&&0!==a.length?(t=-1,55296<=(L=a.charCodeAt(n))&&L<=56319?a.length>n+1&&56320<=(a=a.charCodeAt(n+1))&&a<=57343&&(t=1+((960&L)>>6)<<16|(63&L)<<10|1023&a):t=L,t):-1},IString.loadPlurals=function(a,n,t,L){n=n?"string"==typeof n?new Locale(n):n:new Locale(ilib.getLocale());n.getLanguage();Utils.loadData({name:"plurals.json",object:"IString",locale:n,sync:a,loadParams:t,callback:ilib.bind(this,function(a){a=a||IString.plurals_default,L&&"function"==typeof L&&L(a)})})},IString._fncs={firstProp:function(a){for(var n in a)if(n&&a[n])return n},firstPropRule:function(a){if("[object Array]"===Object.prototype.toString.call(a))return"inrange";if("[object Object]"===Object.prototype.toString.call(a))for(var n in a)if(n&&a[n])return n},getValue:function(a,n){var t;return"object"==typeof a?"inrange"===(t=IString._fncs.firstPropRule(a))?IString._fncs[t](a,n):IString._fncs[t](a[t],n):"string"==typeof a?"object"==typeof n?n[a]:n:a},matchRangeContinuous:function(a,n){for(var t in n)if(void 0!==t&&void 0!==n[t]){var L=n[t];if("number"==typeof L){if(a===n[t])return!0;if(a>=n[0]&&a<=n[1])return!0}else if("[object Array]"===Object.prototype.toString.call(L)&&a>=L[0]&&a<=L[1])return!0}return!1},calculateNumberDigits:function(a){var n=a.toString(),t={},L={},i=a.toExponential(),e=i.indexOf("e");return-1!==e?(L.c=parseInt(i[e+2]),L.e=parseInt(i[e+2])):(L.c=0,L.e=0),-1!==n.indexOf(".")?(i=n.split(".",2),t.integerPart=parseInt(i[0],10),t.decimalPartLength=i[1].length,t.decimalPart=parseInt(i[1],10),L.n=parseFloat(a),L.i=t.integerPart,L.v=t.decimalPartLength,L.w=t.decimalPartLength,L.f=t.decimalPart,L.t=t.decimalPart):(t.integerPart=a,t.decimalPartLength=0,t.decimalPart=0,L.n=parseInt(a,10),L.i=t.integerPart,L.v=0,L.w=0,L.f=0,L.t=0),L},matchRange:function(a,n){return IString._fncs.matchRangeContinuous(a,n)},is:function(a,n){return IString._fncs.getValue(a[0],n)===IString._fncs.getValue(a[1],n)},isnot:function(a,n){return IString._fncs.getValue(a[0],n)!==IString._fncs.getValue(a[1],n)},inrange:function(a,n){var t;return"number"==typeof a[0]?"object"==typeof n?IString._fncs.matchRange(n.n,a):IString._fncs.matchRange(n,a):void 0===a[0]?(t=IString._fncs.firstPropRule(a),IString._fncs[t](a[t],n)):IString._fncs.matchRange(IString._fncs.getValue(a[0],n),a[1])},notin:function(a,n){return!IString._fncs.matchRange(IString._fncs.getValue(a[0],n),a[1])},within:function(a,n){return IString._fncs.matchRangeContinuous(IString._fncs.getValue(a[0],n),a[1])},mod:function(a,n){return MathUtils.mod(IString._fncs.getValue(a[0],n),IString._fncs.getValue(a[1],n))},n:function(a,n){return n},or:function(a,n){for(var t=a.length,L=0;L="===n.substring(0,2))return n=parseFloat(n.substring(2)),t.n>=n;if("<"===n.charAt(0))return n=parseFloat(n.substring(1)),t.n"===n.charAt(0))return n=parseFloat(n.substring(1)),t.n>n;switch(this.locale=this.locale||new Locale(this.localeSpec),n){case"zero":case"one":case"two":case"few":case"many":var L=ilib.data["plurals_"+this.locale.getLanguage()+"_"+this.locale.getRegion()]||ilib.data["plurals_"+this.locale.getLanguage()]||IString.plurals_default;if(L)return L=L[n],IString._fncs.getValue(L,t);break;case"":case"other":return!0;default:var i,L=n.indexOf("-");return-1!==L?(i=n.substring(0,L),L=n.substring(L+1),t.n>=parseInt(i,10)&&t.n<=parseInt(L,10)):t.n===parseInt(n,10)}break;case"boolean":return"true"===n&&!0===a||"false"===n&&!1===a;case"string":return new RegExp(n,"i").test(a);case"object":throw"syntax error: formatChoice parameter for the argument index cannot be an object"}return!1},_isIntlPluralAvailable:function(a){var n;return void 0===a.getVariant()&&"undefined"!=typeof Intl&&void 0!==Intl.PluralRules&&void 0!==Intl.PluralRules.supportedLocalesOf&&("nodejs"!==ilib._getPlatform()||!!(n=process.versions.node)&&(n=n.split(".")[0],10<=Number(n)))&&0=n+L?a:t?a+JSUtils.pad.zeros.substring(0,n-a.length+L):a.substring(0,L)+JSUtils.pad.zeros.substring(0,n-a.length+L)+a.substring(L)},JSUtils.pad.zeros="00000000000000000000000000000000",JSUtils.toHexString=function(a,n){var t,L="",i=n&&n<9?n:4;if(!a)return"";for(t=0;ta[1]?a[1]-n:0}))=n[a+1][0];)a++;this.month=n[a][1],L-=n[a][0],this.day=Math.floor(L),L-=this.day,this.day++,L=Math.round(864e5*L),this.hour=Math.floor(L/36e5),L-=36e5*this.hour,6<=this.hour?this.hour-=6:this.hour+=18,this.minute=Math.floor(L/6e4),L-=6e4*this.minute,this.second=Math.floor(L/1e3),L-=1e3*this.second,this.millisecond=Math.floor(L)},HebrewDate.prototype.getDayOfWeek=function(){var a=Math.floor(this.rd.getRataDie()+(this.offset||0));return MathUtils.mod(a+1,7)},HebrewDate.prototype.getHalaqim=function(){var a;return this.parts<0&&(a=6e4*this.minute+1e3*this.second+this.millisecond,this.parts=3e-4*a),this.parts},HebrewDate.prototype.firstSunday=function(a){a=this.newRd({year:a,month:7,day:1,hour:18,minute:0,second:0,millisecond:0,cal:this.cal});return this.newRd({rd:a.onOrAfter(4),cal:this.cal}).before(0)},HebrewDate.prototype.getDayOfYear=function(){var a=(this.cal.isLeapYear(this.year)?HebrewRataDie.cumMonthLengthsLeap:HebrewRataDie.cumMonthLengths)[this.month-1];return(this.month<7||8=o.from&&L"):L)?(i=a.r.charAt(L),e=parseInt(a.r.substring(0,L),10),parseInt(a.r.substring(L+1),10)):parseInt(a.r,10),a.t&&(t=a.t.split(":"),r=parseInt(t[0],10),1":l=m.onOrAfter(e)}return l},TimeZone.prototype._calcDSTSavings=function(){var a=this.getDSTSavings();this.dstSavings=(60*Math.abs(a.h||0)+(a.m||0))*MathUtils.signum(a.h||0)},TimeZone.prototype._getDSTStartRule=function(a){return this.zone.s},TimeZone.prototype._getDSTEndRule=function(a){return this.zone.e},TimeZone.prototype.inDaylightTime=function(a,n){var t,L,i,e;return a=a&&DateFactory._dateToIlib(a,this.id,this.locale),this.isLocal?(i=6e4*this.offset,void 0===a.dst||a.dst||(i+=6e4*this.dstSavings),i=new Date(a?a.getTimeExtended()-i:void 0),L=Math.max(this.offsetJan1,this.offsetJun1),-i.getTimezoneOffset()===L):(L=a&&a.cal&&"gregorian"===a.cal.type?(t=a.rd.getRataDie(),a.year):(i=a&&"function"==typeof a.getTimeExtended?a.getTimeExtended():void 0,t=new GregRataDie({unixtime:i}).getRataDie(),new Date(i).getUTCFullYear()),!!this.useDaylightTime(L)&&(i=this._getDSTStartRule(L),e=this._getDSTEndRule(L),i=this._calcRuleStart(i,L),e=this._calcRuleStart(e,L),n?i+=this.dstSavings/1440:(i-=this.offset/1440,e-=(this.offset+this.dstSavings)/1440),t"!==a.charAt(i);)t+=a.charAt(i++);else if("&"===a.charAt(i))for(t+=a.charAt(i++);i"!==a.charAt(i)||"%"!==a.charAt(i-1));)t+=a.charAt(i++);else if("&"===a.charAt(i))for(t+=a.charAt(i++);i/g,">")},_unescapeXml:function(a){return a=(a=(a=a.replace(/&/g,"&")).replace(/</g,"<")).replace(/>/g,">")},_makeKey:function(a){if(a)return a=a.replace(/\s+/gm," "),"xml"===this.type||"html"===this.type?this._unescapeXml(a):a},_getStringSingle:function(a,n,t){var L;return a||n?(L=this.locale.isPseudo()?(L=a||this.map[n],this._pseudo(L||n)):(L=n||this._makeKey(a),void 0!==this.map[L]?this.map[L]:"pseudo"===this.missing?this._pseudo(a||n):"empty"===this.missing?"":a),t&&"none"!==t&&("xml"===(t="default"===t?this.type:t)||"html"===t?L=this._escapeXml(L):"js"!==t&&"attribute"!==t||(L=L.replace(/'/g,"\\'").replace(/"/g,'\\"'))),void 0!==L?((n=new IString(L)).setLocale(this.locale.getSpec(),!0,this.loadParams),n):void 0):new IString("")},getString:function(a,n,t){return a||n?ilib.isArray(a)?a.map(ilib.bind(this,function(a){return"string"==typeof a?this._getStringSingle(a,n,t):a})):this._getStringSingle(a,n,t):new IString("")},getStringJS:function(a,n,t){if(void 0!==a||void 0!==n)return ilib.isArray(a)?this.getString(a,n,t).map(function(a){return a&&a instanceof IString?a.toString():a}):(a=this.getString(a,n,t))?a.toString():void 0},containsKey:function(a,n){return(void 0!==a||void 0!==n)&&(n=n||this._makeKey(a),void 0!==this.map[n])},getResObj:function(){return this.map}},function(t){var L=!0,i=void 0;this.locale=new Locale,this.length="short",this.style="text",t&&(t.locale&&(this.locale="string"==typeof t.locale?new Locale(t.locale):t.locale),!t.length||"short"!==t.length&&"medium"!==t.length&&"long"!==t.length&&"full"!==t.length||(this.length=t.length),!t.style||"text"!==t.style&&"clock"!==t.style||(this.style=t.style),void 0!==t.sync&&(L=!!t.sync),"boolean"==typeof t.useNative&&(this.useNative=t.useNative),i=t.loadParams),t=t||{sync:!0},new LocaleInfo(this.locale,{sync:L,loadParams:i,onLoad:ilib.bind(this,function(n){this.script=n.getScript(),new ResBundle({locale:this.locale,name:"sysres",sync:L,loadParams:i,onLoad:ilib.bind(this,function(a){IString.loadPlurals(L,this.locale,i,ilib.bind(this,function(){switch("medium"===this.length&&"Latn"!==this.script&&"Grek"!==this.script&&"Cyrl"!==this.script&&(this.length="short"),this.length){case"short":this.components={year:a.getString("#{num}y"),month:a.getString("#{num}m","durationShortMonths"),week:a.getString("#{num}w"),day:a.getString("#{num}d"),hour:a.getString("#{num}h"),minute:a.getString("#{num}m","durationShortMinutes"),second:a.getString("#{num}s"),millisecond:a.getString("#{num}m","durationShortMillis"),separator:a.getString(" ","separatorShort"),finalSeparator:""};break;case"medium":this.components={year:a.getString("1#1 yr|#{num} yrs","durationMediumYears"),month:a.getString("1#1 mo|#{num} mos"),week:a.getString("1#1 wk|#{num} wks","durationMediumWeeks"),day:a.getString("1#1 dy|#{num} dys"),hour:a.getString("1#1 hr|#{num} hrs","durationMediumHours"),minute:a.getString("1#1 mi|#{num} min"),second:a.getString("1#1 se|#{num} sec"),millisecond:a.getString("#{num} ms","durationMediumMillis"),separator:a.getString(" ","separatorMedium"),finalSeparator:""};break;case"long":this.components={year:a.getString("1#1 yr|#{num} yrs"),month:a.getString("1#1 mon|#{num} mons"),week:a.getString("1#1 wk|#{num} wks"),day:a.getString("1#1 day|#{num} days","durationLongDays"),hour:a.getString("1#1 hr|#{num} hrs"),minute:a.getString("1#1 min|#{num} min"),second:a.getString("1#1 sec|#{num} sec"),millisecond:a.getString("#{num} ms"),separator:a.getString(", ","separatorLong"),finalSeparator:""};break;case"full":this.components={year:a.getString("1#1 year|#{num} years"),month:a.getString("1#1 month|#{num} months"),week:a.getString("1#1 week|#{num} weeks"),day:a.getString("1#1 day|#{num} days"),hour:a.getString("1#1 hour|#{num} hours"),minute:a.getString("1#1 minute|#{num} minutes"),second:a.getString("1#1 second|#{num} seconds"),millisecond:a.getString("1#1 millisecond|#{num} milliseconds"),separator:a.getString(", ","separatorFull"),finalSeparator:a.getString(" and ","finalSeparatorFull")}}"clock"===this.style?new DateFmt({locale:this.locale,calendar:"gregorian",type:"time",time:"ms",sync:L,loadParams:i,useNative:this.useNative,onLoad:ilib.bind(this,function(a){this.timeFmtMS=a,new DateFmt({locale:this.locale,calendar:"gregorian",type:"time",time:"hm",sync:L,loadParams:i,useNative:this.useNative,onLoad:ilib.bind(this,function(a){this.timeFmtHM=a,new DateFmt({locale:this.locale,calendar:"gregorian",type:"time",time:"hms",sync:L,loadParams:i,useNative:this.useNative,onLoad:ilib.bind(this,function(a){this.timeFmtHMS=a,this.timeFmtHM.template=this.timeFmtHM.template.replace(/hh?/,"H"),this.timeFmtHM.templateArr=this.timeFmtHM._tokenize(this.timeFmtHM.template),this.timeFmtHMS.template=this.timeFmtHMS.template.replace(/hh?/,"H"),this.timeFmtHMS.templateArr=this.timeFmtHMS._tokenize(this.timeFmtHMS.template),this._init(this.timeFmtHM.locinfo,t)})})})})})}):this._init(n,t)}))})})})})});DurationFmt.complist={text:["year","month","week","day","hour","minute","second","millisecond"],clock:["year","month","week","day"]},DurationFmt.prototype._mapDigits=function(a){return this.useNative&&this.digits?JSUtils.mapString(a.toString(),this.digits):a},DurationFmt.prototype._init=function(n,t){var L;new ScriptInfo(n.getScript(),{sync:t.sync,loadParams:t.loadParams,onLoad:ilib.bind(this,function(a){this.scriptDirection=a.getScriptDirection(),"boolean"==typeof this.useNative?this.useNative&&(L=n.getNativeDigits())&&(this.digits=L):"native"===n.getDigitsStyle()&&(L=n.getNativeDigits())&&(this.useNative=!0,this.digits=L),"function"==typeof t.onLoad&&t.onLoad(this)})})},DurationFmt.prototype.format=function(a){for(var n,t=!0,L="",i=DurationFmt.complist[this.style],e=i.length-1;0<=e;e--)void 0!==a[i[e]]&&0!==a[i[e]]&&(01",t:"2:0"},f:"H{c}T",n:"Aleutian {c} Time",o:"-10:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Anchorage"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Anguilla"]={c:"AI",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Antigua"]={c:"AG",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Araguaina"]={c:"BR",f:"-03",n:"Tocantins {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Buenos_Aires"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Catamarca"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/ComodRivadavia"]={c:"AR",f:"-03",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Cordoba"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Jujuy"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/La_Rioja"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Mendoza"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Rio_Gallegos"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Salta"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/San_Juan"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/San_Luis"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Tucuman"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Argentina/Ushuaia"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Aruba"]={c:"AW",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Asuncion"]={c:"PY",e:{m:3,r:"0>22",t:"0:0"},f:"-04/-03",n:"Paraguay {c} Time",o:"-4:0",s:{m:10,r:"0>1",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["America/Atikokan"]={c:"CA",f:"EST",o:"-5:0"},ilib.data.zoneinfo["America/Bahia"]={c:"BR",f:"-03",n:"Bahia {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Bahia_Banderas"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Barbados"]={c:"BB",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Belem"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Belize"]={c:"BZ",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Blanc-Sablon"]={c:"CA",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Boa_Vista"]={c:"BR",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Bogota"]={c:"CO",f:"-05/-04",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Boise"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Buenos_Aires"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Cambridge_Bay"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Campo_Grande"]={c:"BR",f:"-04/-03",n:"Central Brazilian {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Cancun"]={c:"MX",f:"EST",n:"Eastern {c} Time (Mexico)",o:"-5:0"},ilib.data.zoneinfo["America/Caracas"]={c:"VE",f:"-04",n:"Venezuela {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Catamarca"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Cayenne"]={c:"GF",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Cayman"]={c:"KY",f:"EST",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Chicago"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Chihuahua"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Ciudad_Juarez"]={c:"MX",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Coral_Harbour"]={c:"CA",f:"EST",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Cordoba"]={c:"AR",f:"-03/-02",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Costa_Rica"]={c:"CR",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Creston"]={c:"CA",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Cuiaba"]={c:"BR",f:"-04/-03",n:"Central Brazilian {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Curacao"]={c:"CW",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Danmarkshavn"]={c:"GL",f:"GMT",n:"Greenwich {c} Time",o:"0:0"},ilib.data.zoneinfo["America/Dawson"]={c:"CA",f:"MST",n:"Yukon {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Dawson_Creek"]={c:"CA",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Denver"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Detroit"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Dominica"]={c:"DM",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Edmonton"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Eirunepe"]={c:"BR",f:"-05",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/El_Salvador"]={c:"SV",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Ensenada"]={c:"MX",f:"PST",o:"-8:0"},ilib.data.zoneinfo["America/Fort_Nelson"]={c:"CA",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Fort_Wayne"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Fortaleza"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Glace_Bay"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Godthab"]={e:{m:10,r:"l6",t:"23:0"},f:"-03/-02",o:"-3:0",s:{c:"S",m:3,r:"l6",t:"22:0",v:"1:0"},c:"GL",n:"Greenland {c} Time"},ilib.data.zoneinfo["America/Goose_Bay"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Grand_Turk"]={c:"TC",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Turks And Caicos {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Grenada"]={c:"GD",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Guadeloupe"]={c:"GP",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Guatemala"]={c:"GT",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Guayaquil"]={c:"EC",f:"-05/-04",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Guyana"]={c:"GY",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Halifax"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Havana"]={c:"CU",e:{c:"S",m:11,r:"0>1",t:"1:0"},f:"C{c}T",n:"Cuba {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["America/Hermosillo"]={c:"MX",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Indiana/Indianapolis"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"US Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Knox"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Marengo"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"US Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Petersburg"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Tell_City"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Vevay"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"US Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Vincennes"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indiana/Winamac"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Indianapolis"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"US Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Inuvik"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Iqaluit"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Jamaica"]={c:"JM",f:"EST",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Jujuy"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Juneau"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Kentucky/Louisville"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Kentucky/Monticello"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Knox_IN"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Kralendijk"]={c:"BQ",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/La_Paz"]={c:"BO",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Lima"]={c:"PE",f:"-05/-04",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Los_Angeles"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",n:"Pacific {c} Time",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Louisville"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Lower_Princes"]={c:"SX",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Maceio"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Managua"]={c:"NI",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Manaus"]={c:"BR",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Marigot"]={c:"MF",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Martinique"]={c:"MQ",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Matamoros"]={c:"MX",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Mazatlan"]={c:"MX",f:"MST",n:"Mountain {c} Time (Mexico)",o:"-7:0"},ilib.data.zoneinfo["America/Mendoza"]={c:"AR",f:"-03",n:"Argentina {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Menominee"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Merida"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Metlakatla"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Mexico_City"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Miquelon"]={c:"PM",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"-03/-02",n:"Saint Pierre {c} Time",o:"-3:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Moncton"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Monterrey"]={c:"MX",f:"CST",n:"Central {c} Time (Mexico)",o:"-6:0"},ilib.data.zoneinfo["America/Montevideo"]={c:"UY",f:"-03/-02",n:"Montevideo {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Montreal"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Montserrat"]={c:"MS",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Nassau"]={c:"BS",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/New_York"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Nipigon"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Nome"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Noronha"]={c:"BR",f:"-02",n:"UTC-02",o:"-2:0"},ilib.data.zoneinfo["America/North_Dakota/Beulah"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/North_Dakota/Center"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/North_Dakota/New_Salem"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Nuuk"]={c:"GL",e:{m:10,r:"l0",t:"0:0"},f:"-02/-01",n:"Greenland {c} Time",o:"-2:0",s:{c:"S",m:3,r:"l6",t:"23:0",v:"1:0"}},ilib.data.zoneinfo["America/Ojinaga"]={c:"MX",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Panama"]={c:"PA",f:"EST",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Pangnirtung"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Paramaribo"]={c:"SR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Phoenix"]={c:"US",f:"MST",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Port-au-Prince"]={c:"HT",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Haiti {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Port_of_Spain"]={c:"TT",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Porto_Acre"]={c:"BR",f:"-05",o:"-5:0"},ilib.data.zoneinfo["America/Porto_Velho"]={c:"BR",f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Puerto_Rico"]={c:"PR",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Punta_Arenas"]={c:"CL",f:"-03",n:"Magallanes {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Rainy_River"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Rankin_Inlet"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Recife"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Regina"]={c:"CA",f:"CST",n:"Canada Central {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Resolute"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Rio_Branco"]={c:"BR",f:"-05",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["America/Rosario"]={c:"AR",f:"-03/-02",o:"-3:0"},ilib.data.zoneinfo["America/Santarem"]={c:"BR",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Santiago"]={c:"CL",e:{m:4,r:"0>2",t:"0:0"},f:"-04/-03",n:"Pacific SA {c} Time",o:"-4:0",s:{m:9,r:"0>2",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["America/Santo_Domingo"]={c:"DO",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Sao_Paulo"]={c:"BR",f:"-03/-02",n:"E. South America {c} Time",o:"-3:0"},ilib.data.zoneinfo["America/Scoresbysund"]={c:"GL",e:{m:10,r:"l0",t:"0:0"},f:"-02/-01",n:"Azores {c} Time",o:"-2:0",s:{c:"S",m:3,r:"l6",t:"23:0",v:"1:0"}},ilib.data.zoneinfo["America/Sitka"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/St_Barthelemy"]={c:"BL",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/St_Johns"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"N{c}T",n:"Newfoundland {c} Time",o:"-3:30",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/St_Kitts"]={c:"KN",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/St_Lucia"]={c:"LC",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/St_Thomas"]={c:"VI",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/St_Vincent"]={c:"VC",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Swift_Current"]={c:"CA",f:"CST",n:"Canada Central {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Tegucigalpa"]={c:"HN",f:"CST",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["America/Thule"]={c:"GL",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Thunder_Bay"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Tijuana"]={c:"MX",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",n:"Pacific {c} Time (Mexico)",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Toronto"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Tortola"]={c:"VG",f:"AST",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["America/Vancouver"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",n:"Pacific {c} Time",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Virgin"]={c:"TT",f:"AST",o:"-4:0"},ilib.data.zoneinfo["America/Whitehorse"]={c:"CA",f:"MST",n:"Yukon {c} Time",o:"-7:0"},ilib.data.zoneinfo["America/Winnipeg"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Yakutat"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",n:"Alaskan {c} Time",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["America/Yellowknife"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Antarctica/Casey"]={c:"AQ",f:"+08",n:"Central Pacific {c} Time",o:"8:0"},ilib.data.zoneinfo["Antarctica/Davis"]={c:"AQ",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Antarctica/DumontDUrville"]={c:"AQ",f:"+10",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Antarctica/Macquarie"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"Tasmania {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Antarctica/Mawson"]={c:"AQ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Antarctica/McMurdo"]={c:"AQ",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"NZ{c}T",n:"New Zealand {c} Time",o:"12:0",s:{c:"D",m:9,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Antarctica/Palmer"]={c:"AQ",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["Antarctica/Rothera"]={c:"AQ",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["Antarctica/South_Pole"]={c:"NZ",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"NZ{c}T",o:"12:0",s:{c:"D",m:9,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Antarctica/Syowa"]={c:"AQ",f:"+03",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Antarctica/Troll"]={c:"AQ",e:{c:"+00",m:10,r:"l0",t:"3:0"},f:"+00",o:"0:0",s:{c:"+02",m:3,r:"l0",t:"1:0",v:"2:0"}},ilib.data.zoneinfo["Antarctica/Vostok"]={c:"AQ",f:"+05",n:"Central Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Arctic/Longyearbyen"]={c:"SJ",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Aden"]={c:"YE",f:"+03",n:"Arab {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Almaty"]={c:"KZ",f:"+05",n:"Central Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Amman"]={c:"JO",f:"+03",n:"Jordan {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Anadyr"]={c:"RU",f:"+12",n:"Russia Time Zone 11",o:"12:0"},ilib.data.zoneinfo["Asia/Aqtau"]={c:"KZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Aqtobe"]={c:"KZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Ashgabat"]={c:"TM",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Atyrau"]={c:"KZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Baghdad"]={c:"IQ",f:"+03/+04",n:"Arabic {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Bahrain"]={c:"BH",f:"+03",n:"Arab {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Baku"]={c:"AZ",f:"+04/+05",n:"Azerbaijan {c} Time",o:"4:0"},ilib.data.zoneinfo["Asia/Bangkok"]={c:"TH",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Barnaul"]={c:"RU",f:"+07",n:"Altai {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Beirut"]={c:"LB",e:{m:10,r:"l0",t:"0:0"},f:"EE{c}T",n:"Middle East {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Bishkek"]={c:"KG",f:"+06",n:"Central Asia {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Brunei"]={c:"BN",f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Chita"]={c:"RU",f:"+09",n:"Transbaikal {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Choibalsan"]={c:"MN",f:"+08/+09",n:"Ulaanbaatar {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Chongqing"]={c:"CN",f:"CST",o:"8:0"},ilib.data.zoneinfo["Asia/Chungking"]={c:"CN",f:"CST",o:"8:0"},ilib.data.zoneinfo["Asia/Colombo"]={c:"LK",f:"+0530",n:"Sri Lanka {c} Time",o:"5:30"},ilib.data.zoneinfo["Asia/Damascus"]={c:"SY",f:"+03",n:"Syria {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Dhaka"]={c:"BD",f:"+06/+07",n:"Bangladesh {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Dili"]={c:"TL",f:"+09",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Dubai"]={c:"AE",f:"+04",n:"Mauritius {c} Time",o:"4:0"},ilib.data.zoneinfo["Asia/Dushanbe"]={c:"TJ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Famagusta"]={c:"CY",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"GTB {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Gaza"]={c:"PS",e:{m:10,r:"6<30",t:"2:0"},f:"EE{c}T",n:"West Bank {c} Time",o:"2:0",s:{c:"S",m:4,r:"20",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Hanoi"]={f:"+07",o:"7:0"},ilib.data.zoneinfo["Asia/Harbin"]={c:"CN",f:"CST",o:"8:0"},ilib.data.zoneinfo["Asia/Hebron"]={c:"PS",e:{m:10,r:"6<30",t:"2:0"},f:"EE{c}T",n:"West Bank {c} Time",o:"2:0",s:{c:"S",m:4,r:"20",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Ho_Chi_Minh"]={c:"VN",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Hong_Kong"]={c:"HK",f:"HKST",n:"China {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Hovd"]={c:"MN",f:"+07/+08",n:"W. Mongolia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Irkutsk"]={c:"RU",f:"+08",n:"North Asia East {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Istanbul"]={f:"+03",o:"3:0"},ilib.data.zoneinfo["Asia/Jakarta"]={c:"ID",f:"WIB",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Jayapura"]={c:"ID",f:"WIT",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Jerusalem"]={c:"IL",e:{c:"S",m:10,r:"l0",t:"2:0"},f:"I{c}T",n:"Israel {c} Time",o:"2:0",s:{c:"D",m:3,r:"5>23",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Kabul"]={c:"AF",f:"+0430",n:"Afghanistan {c} Time",o:"4:30"},ilib.data.zoneinfo["Asia/Kamchatka"]={c:"RU",f:"+12",n:"Russia Time Zone 11",o:"12:0"},ilib.data.zoneinfo["Asia/Karachi"]={c:"PK",f:"PKST",n:"Pakistan {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Kashgar"]={c:"CN",f:"CST",o:"8:0"},ilib.data.zoneinfo["Asia/Kathmandu"]={c:"NP",f:"+0545",n:"Nepal {c} Time",o:"5:45"},ilib.data.zoneinfo["Asia/Khandyga"]={c:"RU",f:"+09",n:"Yakutsk {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Kolkata"]={c:"IN",f:"IST",n:"India {c} Time",o:"5:30"},ilib.data.zoneinfo["Asia/Krasnoyarsk"]={c:"RU",f:"+07",n:"North Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Kuala_Lumpur"]={c:"MY",f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Kuching"]={c:"MY",f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Kuwait"]={c:"KW",f:"+03",n:"Arab {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Macau"]={c:"MO",f:"CST",n:"China {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Magadan"]={c:"RU",f:"+11",n:"Magadan {c} Time",o:"11:0"},ilib.data.zoneinfo["Asia/Makassar"]={c:"ID",f:"WITA",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Manila"]={c:"PH",f:"PST",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Muscat"]={c:"OM",f:"+04",n:"Arabian {c} Time",o:"4:0"},ilib.data.zoneinfo["Asia/Nicosia"]={c:"CY",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"GTB {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Novokuznetsk"]={c:"RU",f:"+07",n:"North Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Novosibirsk"]={c:"RU",f:"+07",n:"N. Central Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Omsk"]={c:"RU",f:"+06",n:"Omsk {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Oral"]={c:"KZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Phnom_Penh"]={c:"KH",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Pontianak"]={c:"ID",f:"WIB",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Pyongyang"]={c:"KP",f:"KST",n:"North Korea {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Qatar"]={c:"QA",f:"+03",n:"Arab {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Qostanay"]={c:"KZ",f:"+05",n:"Central Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Qyzylorda"]={c:"KZ",f:"+05",n:"Qyzylorda {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Riyadh"]={c:"SA",f:"+03",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Asia/Saigon"]={c:"VN",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Sakhalin"]={c:"RU",f:"+11",n:"Sakhalin {c} Time",o:"11:0"},ilib.data.zoneinfo["Asia/Samarkand"]={c:"UZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Seoul"]={c:"KR",f:"KST",n:"Korea {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Shanghai"]={c:"CN",f:"CST",n:"China {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Singapore"]={c:"SG",f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Srednekolymsk"]={c:"RU",f:"+11",n:"Russia Time Zone 10",o:"11:0"},ilib.data.zoneinfo["Asia/Taipei"]={c:"TW",f:"CST",n:"Taipei {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Tashkent"]={c:"UZ",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Tbilisi"]={c:"GE",f:"+04",n:"Georgian {c} Time",o:"4:0"},ilib.data.zoneinfo["Asia/Tehran"]={c:"IR",f:"+0330/+0430",n:"Iran {c} Time",o:"3:30"},ilib.data.zoneinfo["Asia/Tel_Aviv"]={c:"IL",e:{c:"S",m:10,r:"l0",t:"2:0"},f:"I{c}T",o:"2:0",s:{c:"D",m:3,r:"5>23",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Asia/Thimphu"]={c:"BT",f:"+06",n:"Bangladesh {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Tokyo"]={c:"JP",f:"JST",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Tomsk"]={c:"RU",f:"+07",n:"Tomsk {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Ulaanbaatar"]={c:"MN",f:"+08/+09",n:"Ulaanbaatar {c} Time",o:"8:0"},ilib.data.zoneinfo["Asia/Ulan_Bator"]={c:"MN",f:"+08/+09",o:"8:0"},ilib.data.zoneinfo["Asia/Urumqi"]={c:"CN",f:"+06",n:"Central Asia {c} Time",o:"6:0"},ilib.data.zoneinfo["Asia/Ust-Nera"]={c:"RU",f:"+10",n:"Vladivostok {c} Time",o:"10:0"},ilib.data.zoneinfo["Asia/Vientiane"]={c:"LA",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Asia/Vladivostok"]={c:"RU",f:"+10",n:"Vladivostok {c} Time",o:"10:0"},ilib.data.zoneinfo["Asia/Yakutsk"]={c:"RU",f:"+09",n:"Yakutsk {c} Time",o:"9:0"},ilib.data.zoneinfo["Asia/Yangon"]={c:"MM",f:"+0630",n:"Myanmar {c} Time",o:"6:30"},ilib.data.zoneinfo["Asia/Yekaterinburg"]={c:"RU",f:"+05",n:"Ekaterinburg {c} Time",o:"5:0"},ilib.data.zoneinfo["Asia/Yerevan"]={c:"AM",f:"+04/+05",n:"Caucasus {c} Time",o:"4:0"},ilib.data.zoneinfo["Atlantic/Azores"]={c:"PT",e:{m:10,r:"l0",t:"1:0"},f:"-01/+00",n:"Azores {c} Time",o:"-1:0",s:{c:"S",m:3,r:"l0",t:"0:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Bermuda"]={c:"BM",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"A{c}T",n:"Atlantic {c} Time",o:"-4:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Canary"]={c:"ES",e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Cape_Verde"]={c:"CV",f:"-01",n:"Cape Verde {c} Time",o:"-1:0"},ilib.data.zoneinfo["Atlantic/Faroe"]={c:"FO",e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Jan_Mayen"]={c:"NO",f:"-01",o:"-1:0"},ilib.data.zoneinfo["Atlantic/Madeira"]={c:"PT",e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Atlantic/Reykjavik"]={c:"IS",f:"GMT",n:"Greenwich {c} Time",o:"0:0"},ilib.data.zoneinfo["Atlantic/South_Georgia"]={c:"GS",f:"-02",n:"UTC-02",o:"-2:0"},ilib.data.zoneinfo["Atlantic/St_Helena"]={c:"SH",f:"GMT",n:"Greenwich {c} Time",o:"0:0"},ilib.data.zoneinfo["Atlantic/Stanley"]={c:"FK",f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["Australia/ACT"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Adelaide"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AC{c}T",n:"Cen. Australia {c} Time",o:"9:30",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Brisbane"]={c:"AU",f:"AEST",n:"E. Australia {c} Time",o:"10:0"},ilib.data.zoneinfo["Australia/Broken_Hill"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AC{c}T",n:"Cen. Australia {c} Time",o:"9:30",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Canberra"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Currie"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"Tasmania {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Darwin"]={c:"AU",f:"ACST",n:"AUS Central {c} Time",o:"9:30"},ilib.data.zoneinfo["Australia/Eucla"]={c:"AU",f:"+0845/+0945",n:"Aus Central W. {c} Time",o:"8:45"},ilib.data.zoneinfo["Australia/Hobart"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"Tasmania {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/LHI"]={c:"AU",e:{m:4,r:"0>1",t:"2:0"},f:"+1030/+11",o:"10:30",s:{m:10,r:"0>1",t:"2:0",v:"0:30"}},ilib.data.zoneinfo["Australia/Lindeman"]={c:"AU",f:"AEST",n:"E. Australia {c} Time",o:"10:0"},ilib.data.zoneinfo["Australia/Lord_Howe"]={c:"AU",e:{m:4,r:"0>1",t:"2:0"},f:"+1030/+11",n:"Lord Howe {c} Time",o:"10:30",s:{m:10,r:"0>1",t:"2:0",v:"0:30"}},ilib.data.zoneinfo["Australia/Melbourne"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"AUS Eastern {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/NSW"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/North"]={c:"AU",f:"ACST",o:"9:30"},ilib.data.zoneinfo["Australia/Perth"]={c:"AU",f:"AWST",n:"W. Australia {c} Time",o:"8:0"},ilib.data.zoneinfo["Australia/Queensland"]={c:"AU",f:"AEST",o:"10:0"},ilib.data.zoneinfo["Australia/South"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AC{c}T",o:"9:30",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Sydney"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",n:"AUS Eastern {c} Time",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Tasmania"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Victoria"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AE{c}T",o:"10:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Australia/Yancowinna"]={c:"AU",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"AC{c}T",o:"9:30",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Brazil/Acre"]={c:"BR",f:"-05",o:"-5:0"},ilib.data.zoneinfo["Brazil/East"]={c:"BR",f:"-03/-02",o:"-3:0"},ilib.data.zoneinfo.CET={e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo.CST6CDT={e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",n:"Central {c} Time",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Central"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Mountain"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Newfoundland"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"N{c}T",o:"-3:30",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Pacific"]={c:"CA",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Canada/Yukon"]={c:"CA",f:"MST",o:"-7:0"},ilib.data.zoneinfo["Chile/Continental"]={c:"CL",e:{m:4,r:"0>2",t:"0:0"},f:"-04/-03",o:"-4:0",s:{m:9,r:"0>2",t:"0:0",v:"1:0"}},ilib.data.zoneinfo.EET={e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo.EST={f:"EST",o:"-5:0"},ilib.data.zoneinfo.EST5EDT={e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",n:"Eastern {c} Time",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Etc/GMT+1"]={f:"-01",n:"Cape Verde {c} Time",o:"-1:0"},ilib.data.zoneinfo["Etc/GMT+10"]={f:"-10",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Etc/GMT+11"]={f:"-11",n:"UTC-11",o:"-11:0"},ilib.data.zoneinfo["Etc/GMT+12"]={f:"-12",n:"Dateline {c} Time",o:"-12:0"},ilib.data.zoneinfo["Etc/GMT+2"]={f:"-02",n:"UTC-02",o:"-2:0"},ilib.data.zoneinfo["Etc/GMT+3"]={f:"-03",n:"SA Eastern {c} Time",o:"-3:0"},ilib.data.zoneinfo["Etc/GMT+4"]={f:"-04",n:"SA Western {c} Time",o:"-4:0"},ilib.data.zoneinfo["Etc/GMT+5"]={f:"-05",n:"SA Pacific {c} Time",o:"-5:0"},ilib.data.zoneinfo["Etc/GMT+6"]={f:"-06",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["Etc/GMT+7"]={f:"-07",n:"US Mountain {c} Time",o:"-7:0"},ilib.data.zoneinfo["Etc/GMT+8"]={f:"-08",n:"UTC-08",o:"-8:0"},ilib.data.zoneinfo["Etc/GMT+9"]={f:"-09",n:"UTC-09",o:"-9:0"},ilib.data.zoneinfo["Etc/GMT-1"]={f:"+01",n:"W. Central Africa {c} Time",o:"1:0"},ilib.data.zoneinfo["Etc/GMT-10"]={f:"+10",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Etc/GMT-11"]={f:"+11",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Etc/GMT-12"]={f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Etc/GMT-13"]={f:"+13",n:"UTC+13",o:"13:0"},ilib.data.zoneinfo["Etc/GMT-14"]={f:"+14",n:"Line Islands {c} Time",o:"14:0"},ilib.data.zoneinfo["Etc/GMT-2"]={f:"+02",n:"South Africa {c} Time",o:"2:0"},ilib.data.zoneinfo["Etc/GMT-3"]={f:"+03",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Etc/GMT-4"]={f:"+04",n:"Arabian {c} Time",o:"4:0"},ilib.data.zoneinfo["Etc/GMT-5"]={f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Etc/GMT-6"]={f:"+06",n:"Central Asia {c} Time",o:"6:0"},ilib.data.zoneinfo["Etc/GMT-7"]={f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Etc/GMT-8"]={f:"+08",n:"Singapore {c} Time",o:"8:0"},ilib.data.zoneinfo["Etc/GMT-9"]={f:"+09",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Etc/GMT"]={f:"GMT",n:"UTC",o:"0:0"},ilib.data.zoneinfo["Etc/UTC"]={f:"UTC",n:"UTC",o:"0:0"},ilib.data.zoneinfo["Europe/Amsterdam"]={c:"NL",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Andorra"]={c:"AD",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Astrakhan"]={c:"RU",f:"+04",n:"Astrakhan {c} Time",o:"4:0"},ilib.data.zoneinfo["Europe/Athens"]={c:"GR",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"GTB {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Belfast"]={c:"GB",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Belgrade"]={c:"RS",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Berlin"]={c:"DE",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Bratislava"]={c:"SK",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Brussels"]={c:"BE",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Bucharest"]={c:"RO",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"GTB {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Budapest"]={c:"HU",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Busingen"]={c:"DE",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Chisinau"]={c:"MD",e:{m:10,r:"l0",t:"3:0"},f:"EE{c}T",n:"E. Europe {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Copenhagen"]={c:"DK",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Romance {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Dublin"]={c:"IE",e:{m:10,r:"l0",t:"1:0",z:"u"},f:"IST/GMT",n:"GMT {c} Time",o:"1:0"},ilib.data.zoneinfo["Europe/Gibraltar"]={c:"GI",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Guernsey"]={c:"GG",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Helsinki"]={c:"FI",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Isle_of_Man"]={c:"IM",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Istanbul"]={c:"TR",f:"+03",n:"Turkey {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Jersey"]={c:"JE",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Kaliningrad"]={c:"RU",f:"EET",n:"Kaliningrad {c} Time",o:"2:0"},ilib.data.zoneinfo["Europe/Kiev"]={e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"},c:"UA",n:"FLE {c} Time"},ilib.data.zoneinfo["Europe/Kirov"]={c:"RU",f:"MSK",n:"Russian {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Kyiv"]={c:"UA",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Lisbon"]={c:"PT",e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Ljubljana"]={c:"SI",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/London"]={c:"GB",e:{m:10,r:"l0",t:"2:0"},f:"GMT/BST",n:"GMT {c} Time",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Luxembourg"]={c:"LU",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Madrid"]={c:"ES",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Romance {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Malta"]={c:"MT",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Mariehamn"]={c:"AX",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Minsk"]={c:"BY",f:"+03",n:"Belarus {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Monaco"]={c:"MC",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Moscow"]={c:"RU",f:"MSK",n:"Russian {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Nicosia"]={e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Oslo"]={c:"NO",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Paris"]={c:"FR",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Podgorica"]={c:"ME",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Prague"]={c:"CZ",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Riga"]={c:"LV",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Rome"]={c:"IT",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Samara"]={c:"RU",f:"+04",n:"Russia Time Zone 3",o:"4:0"},ilib.data.zoneinfo["Europe/San_Marino"]={c:"SM",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Sarajevo"]={c:"BA",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Saratov"]={c:"RU",f:"+04",n:"Saratov {c} Time",o:"4:0"},ilib.data.zoneinfo["Europe/Simferopol"]={c:"UA",f:"MSK",n:"Russian {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Skopje"]={c:"MK",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Sofia"]={c:"BG",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Stockholm"]={c:"SE",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Tallinn"]={c:"EE",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Tirane"]={c:"AL",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Tiraspol"]={c:"MD",f:"MSK/MSD",o:"3:0"},ilib.data.zoneinfo["Europe/Ulyanovsk"]={c:"RU",f:"+04",n:"Astrakhan {c} Time",o:"4:0"},ilib.data.zoneinfo["Europe/Uzhgorod"]={c:"UA",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Vaduz"]={c:"LI",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Vatican"]={c:"VA",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Vienna"]={c:"AT",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Vilnius"]={c:"LT",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Volgograd"]={c:"RU",f:"MSK",n:"Volgograd {c} Time",o:"3:0"},ilib.data.zoneinfo["Europe/Warsaw"]={c:"PL",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Zagreb"]={c:"HR",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"Central European {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Zaporozhye"]={c:"UA",e:{m:10,r:"l0",t:"4:0"},f:"EE{c}T",n:"FLE {c} Time",o:"2:0",s:{c:"S",m:3,r:"l0",t:"3:0",v:"1:0"}},ilib.data.zoneinfo["Europe/Zurich"]={c:"CH",e:{m:10,r:"l0",t:"3:0"},f:"CE{c}T",n:"W. Europe {c} Time",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo.Factory={f:"-00",o:"0:0"},ilib.data.zoneinfo.HST={f:"HST",o:"-10:0"},ilib.data.zoneinfo.Iceland={c:"CI",f:"GMT",o:"0:0"},ilib.data.zoneinfo["Indian/Antananarivo"]={c:"MG",f:"EAT",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Indian/Chagos"]={c:"IO",f:"+06",n:"Central Asia {c} Time",o:"6:0"},ilib.data.zoneinfo["Indian/Christmas"]={c:"CX",f:"+07",n:"SE Asia {c} Time",o:"7:0"},ilib.data.zoneinfo["Indian/Cocos"]={c:"CC",f:"+0630",n:"Myanmar {c} Time",o:"6:30"},ilib.data.zoneinfo["Indian/Comoro"]={c:"KM",f:"EAT",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Indian/Kerguelen"]={c:"TF",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Indian/Mahe"]={c:"SC",f:"+04",n:"Mauritius {c} Time",o:"4:0"},ilib.data.zoneinfo["Indian/Maldives"]={c:"MV",f:"+05",n:"West Asia {c} Time",o:"5:0"},ilib.data.zoneinfo["Indian/Mauritius"]={c:"MU",f:"+04/+05",n:"Mauritius {c} Time",o:"4:0"},ilib.data.zoneinfo["Indian/Mayotte"]={c:"YT",f:"EAT",n:"E. Africa {c} Time",o:"3:0"},ilib.data.zoneinfo["Indian/Reunion"]={c:"RE",f:"+04",n:"Mauritius {c} Time",o:"4:0"},ilib.data.zoneinfo.Kwajalein={c:"MH",f:"+12",o:"12:0"},ilib.data.zoneinfo.MET={e:{m:10,r:"l0",t:"3:0"},f:"ME{c}T",o:"1:0",s:{c:"S",m:3,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo.MST={f:"MST",o:"-7:0"},ilib.data.zoneinfo.MST7MDT={e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"M{c}T",n:"Mountain {c} Time",o:"-7:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Mexico/BajaSur"]={c:"MX",f:"MST",o:"-7:0"},ilib.data.zoneinfo["Mexico/General"]={c:"MX",f:"CST",o:"-6:0"},ilib.data.zoneinfo.NZ={c:"NZ",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"NZ{c}T",o:"12:0",s:{c:"D",m:9,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo.PST8PDT={e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",n:"Pacific {c} Time",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Pacific/Apia"]={c:"WS",f:"+13/+14",n:"Samoa {c} Time",o:"13:0"},ilib.data.zoneinfo["Pacific/Auckland"]={c:"NZ",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"NZ{c}T",n:"New Zealand {c} Time",o:"12:0",s:{c:"D",m:9,r:"l0",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Pacific/Bougainville"]={c:"PG",f:"+11",n:"Bougainville {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Chatham"]={c:"NZ",e:{m:4,r:"0>1",t:"3:45"},f:"+1245/+1345",n:"Chatham Islands {c} Time",o:"12:45",s:{m:9,r:"l0",t:"2:45",v:"1:0"}},ilib.data.zoneinfo["Pacific/Chuuk"]={c:"FM",f:"+10",o:"10:0"},ilib.data.zoneinfo["Pacific/Easter"]={c:"CL",e:{m:4,r:"0>1",t:"22:0"},f:"-06/-05",n:"Easter Island {c} Time",o:"-6:0",s:{m:9,r:"0>1",t:"22:0",v:"1:0"}},ilib.data.zoneinfo["Pacific/Efate"]={c:"VU",f:"+11/+12",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Enderbury"]={c:"KI",f:"-00",n:"UTC+13",o:"0:0"},ilib.data.zoneinfo["Pacific/Fakaofo"]={c:"TK",f:"+13",n:"UTC+13",o:"13:0"},ilib.data.zoneinfo["Pacific/Fiji"]={c:"FJ",f:"+12/+13",n:"Fiji {c} Time",o:"12:0"},ilib.data.zoneinfo["Pacific/Funafuti"]={c:"TV",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Galapagos"]={c:"EC",f:"-06/-05",n:"Central America {c} Time",o:"-6:0"},ilib.data.zoneinfo["Pacific/Gambier"]={c:"PF",f:"-09",n:"UTC-09",o:"-9:0"},ilib.data.zoneinfo["Pacific/Guadalcanal"]={c:"SB",f:"+11",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Guam"]={c:"GU",f:"ChST",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Pacific/Honolulu"]={c:"US",f:"HST",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Pacific/Johnston"]={c:"US",f:"HST",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Pacific/Kanton"]={c:"KI",f:"+13",n:"UTC+13",o:"13:0"},ilib.data.zoneinfo["Pacific/Kiritimati"]={c:"KI",f:"+14",n:"Line Islands {c} Time",o:"14:0"},ilib.data.zoneinfo["Pacific/Kosrae"]={c:"FM",f:"+11",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Kwajalein"]={c:"MH",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Majuro"]={c:"MH",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Marquesas"]={c:"PF",f:"-0930",n:"Marquesas {c} Time",o:"-9:30"},ilib.data.zoneinfo["Pacific/Midway"]={c:"UM",f:"SST",n:"UTC-11",o:"-11:0"},ilib.data.zoneinfo["Pacific/Nauru"]={c:"NR",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Niue"]={c:"NU",f:"-11",n:"UTC-11",o:"-11:0"},ilib.data.zoneinfo["Pacific/Norfolk"]={c:"NF",e:{c:"S",m:4,r:"0>1",t:"3:0"},f:"+11/+12",n:"Norfolk {c} Time",o:"11:0",s:{c:"D",m:10,r:"0>1",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["Pacific/Noumea"]={c:"NC",f:"+11/+12",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Pago_Pago"]={c:"AS",f:"SST",n:"UTC-11",o:"-11:0"},ilib.data.zoneinfo["Pacific/Palau"]={c:"PW",f:"+09",n:"Tokyo {c} Time",o:"9:0"},ilib.data.zoneinfo["Pacific/Pitcairn"]={c:"PN",f:"-08",n:"UTC-08",o:"-8:0"},ilib.data.zoneinfo["Pacific/Pohnpei"]={c:"FM",f:"+11",o:"11:0"},ilib.data.zoneinfo["Pacific/Ponape"]={c:"SB",f:"+11",n:"Central Pacific {c} Time",o:"11:0"},ilib.data.zoneinfo["Pacific/Port_Moresby"]={c:"PG",f:"+10",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Pacific/Rarotonga"]={c:"CK",f:"-10/-0930",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Pacific/Saipan"]={c:"MP",f:"ChST",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Pacific/Samoa"]={c:"AS",f:"SST",o:"-11:0"},ilib.data.zoneinfo["Pacific/Tahiti"]={c:"PF",f:"-10",n:"Hawaiian {c} Time",o:"-10:0"},ilib.data.zoneinfo["Pacific/Tarawa"]={c:"KI",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Tongatapu"]={c:"TO",f:"+13/+14",n:"Tonga {c} Time",o:"13:0"},ilib.data.zoneinfo["Pacific/Truk"]={c:"PG",f:"+10",n:"West Pacific {c} Time",o:"10:0"},ilib.data.zoneinfo["Pacific/Wake"]={c:"UM",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Wallis"]={c:"WF",f:"+12",n:"UTC+12",o:"12:0"},ilib.data.zoneinfo["Pacific/Yap"]={c:"PG",f:"+10",o:"10:0"},ilib.data.zoneinfo["US/Alaska"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"AK{c}T",o:"-9:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/East-Indiana"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/Eastern"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"E{c}T",o:"-5:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/Hawaii"]={c:"US",f:"HST",o:"-10:0"},ilib.data.zoneinfo["US/Indiana-Starke"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"C{c}T",o:"-6:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/Pacific"]={c:"US",e:{c:"S",m:11,r:"0>1",t:"2:0"},f:"P{c}T",o:"-8:0",s:{c:"D",m:3,r:"0>8",t:"2:0",v:"1:0"}},ilib.data.zoneinfo["US/Samoa"]={c:"AS",f:"SST",o:"-11:0"},ilib.data.zoneinfo.WET={e:{m:10,r:"l0",t:"2:0"},f:"WE{c}T",o:"0:0",s:{c:"S",m:3,r:"l0",t:"1:0",v:"1:0"}},ilib.data.zoneinfo.zonetab={AD:["Europe/Andorra"],AE:["Asia/Dubai"],AF:["Asia/Kabul"],AG:["America/Antigua"],AI:["America/Anguilla"],AL:["Europe/Tirane"],AM:["Asia/Yerevan"],AO:["Africa/Luanda"],AQ:["Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok"],AR:["America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/ComodRivadavia","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Buenos_Aires","America/Catamarca","America/Cordoba","America/Jujuy","America/Mendoza","America/Rosario"],AS:["Pacific/Pago_Pago","Pacific/Samoa","US/Samoa"],AT:["Europe/Vienna"],AU:["Antarctica/Macquarie","Australia/ACT","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Canberra","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/LHI","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/NSW","Australia/North","Australia/Perth","Australia/Queensland","Australia/South","Australia/Sydney","Australia/Tasmania","Australia/Victoria","Australia/West","Australia/Yancowinna"],AW:["America/Aruba"],AX:["Europe/Mariehamn"],AZ:["Asia/Baku"],BA:["Europe/Sarajevo"],BB:["America/Barbados"],BD:["Asia/Dacca","Asia/Dhaka"],BE:["Europe/Brussels"],BF:["Africa/Ouagadougou"],BG:["Europe/Sofia"],BH:["Asia/Bahrain"],BI:["Africa/Bujumbura"],BJ:["Africa/Porto-Novo"],BL:["America/St_Barthelemy"],BM:["Atlantic/Bermuda"],BN:["Asia/Brunei"],BO:["America/La_Paz"],BQ:["America/Kralendijk"],BR:["America/Araguaina","America/Bahia","America/Belem","America/Boa_Vista","America/Campo_Grande","America/Cuiaba","America/Eirunepe","America/Fortaleza","America/Maceio","America/Manaus","America/Noronha","America/Porto_Acre","America/Porto_Velho","America/Recife","America/Rio_Branco","America/Santarem","America/Sao_Paulo","Brazil/Acre","Brazil/DeNoronha","Brazil/East","Brazil/West"],BS:["America/Nassau"],BT:["Asia/Thimbu","Asia/Thimphu"],BW:["Africa/Gaborone"],BY:["Europe/Minsk"],BZ:["America/Belize"],CA:["America/Atikokan","America/Blanc-Sablon","America/Cambridge_Bay","America/Coral_Harbour","America/Creston","America/Dawson","America/Dawson_Creek","America/Edmonton","America/Fort_Nelson","America/Glace_Bay","America/Goose_Bay","America/Halifax","America/Inuvik","America/Iqaluit","America/Moncton","America/Montreal","America/Nipigon","America/Pangnirtung","America/Rainy_River","America/Rankin_Inlet","America/Regina","America/Resolute","America/St_Johns","America/Swift_Current","America/Thunder_Bay","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yellowknife","Canada/Atlantic","Canada/Central","Canada/Eastern","Canada/Mountain","Canada/Newfoundland","Canada/Pacific","Canada/Saskatchewan","Canada/Yukon"],CC:["Indian/Cocos"],CD:["Africa/Kinshasa","Africa/Lubumbashi"],CF:["Africa/Bangui"],CG:["Africa/Brazzaville"],CH:["Europe/Zurich"],CI:["Africa/Abidjan","Africa/Timbuktu"],CK:["Pacific/Rarotonga"],CL:["America/Punta_Arenas","America/Santiago","Chile/Continental","Chile/EasterIsland","Pacific/Easter"],CM:["Africa/Douala"],CN:["Asia/Chongqing","Asia/Chungking","Asia/Harbin","Asia/Kashgar","Asia/Shanghai","Asia/Urumqi","PRC"],CO:["America/Bogota"],CR:["America/Costa_Rica"],CU:["America/Havana","Cuba"],CV:["Atlantic/Cape_Verde"],CW:["America/Curacao"],CX:["Indian/Christmas"],CY:["Asia/Famagusta","Asia/Nicosia","Europe/Nicosia"],CZ:["Europe/Prague"],DE:["Europe/Berlin","Europe/Busingen"],DJ:["Africa/Djibouti"],DK:["Europe/Copenhagen"],DM:["America/Dominica"],DO:["America/Santo_Domingo"],DZ:["Africa/Algiers"],EC:["America/Guayaquil","Pacific/Galapagos"],EE:["Europe/Tallinn"],EG:["Africa/Cairo","Egypt"],EH:["Africa/El_Aaiun"],ER:["Africa/Asmara"],ES:["Africa/Ceuta","Atlantic/Canary","Europe/Madrid"],ET:["Africa/Addis_Ababa"],FI:["Europe/Helsinki"],FJ:["Pacific/Fiji"],FK:["Atlantic/Stanley"],FM:["Pacific/Chuuk","Pacific/Kosrae","Pacific/Pohnpei","Pacific/Ponape","Pacific/Truk","Pacific/Yap"],FO:["Atlantic/Faeroe","Atlantic/Faroe"],FR:["Europe/Paris"],GA:["Africa/Libreville"],GB:["Europe/Belfast","Europe/London","GB","GB-Eire"],GD:["America/Grenada"],GE:["Asia/Tbilisi"],GF:["America/Cayenne"],GG:["Europe/Guernsey"],GH:["Africa/Accra"],GI:["Europe/Gibraltar"],GL:["America/Danmarkshavn","America/Godthab","America/Nuuk","America/Scoresbysund","America/Thule"],GM:["Africa/Banjul"],GN:["Africa/Conakry"],GP:["America/Guadeloupe"],GQ:["Africa/Malabo"],GR:["Europe/Athens"],GS:["Atlantic/South_Georgia"],GT:["America/Guatemala"],GU:["Pacific/Guam"],GW:["Africa/Bissau"],GY:["America/Guyana"],HK:["Asia/Hong_Kong","Hongkong"],HN:["America/Tegucigalpa"],HR:["Europe/Zagreb"],HT:["America/Port-au-Prince"],HU:["Europe/Budapest"],ID:["Asia/Jakarta","Asia/Jayapura","Asia/Makassar","Asia/Pontianak","Asia/Ujung_Pandang"],IE:["Eire","Europe/Dublin"],IL:["Asia/Jerusalem","Asia/Tel_Aviv","Israel"],IM:["Europe/Isle_of_Man"],IN:["Asia/Calcutta","Asia/Kolkata"],IO:["Indian/Chagos"],IQ:["Asia/Baghdad"],IR:["Asia/Tehran","Iran"],IS:["Atlantic/Reykjavik","Iceland"],IT:["Europe/Rome"],JE:["Europe/Jersey"],JM:["America/Jamaica","Jamaica"],JO:["Asia/Amman"],JP:["Asia/Tokyo","Japan"],KE:["Africa/Asmera","Africa/Nairobi"],KG:["Asia/Bishkek"],KH:["Asia/Phnom_Penh"],KI:["Pacific/Enderbury","Pacific/Kanton","Pacific/Kiritimati","Pacific/Tarawa"],KM:["Indian/Comoro"],KN:["America/St_Kitts"],KP:["Asia/Pyongyang"],KR:["Asia/Seoul","ROK"],KW:["Asia/Kuwait"],KY:["America/Cayman"],KZ:["Asia/Almaty","Asia/Aqtau","Asia/Aqtobe","Asia/Atyrau","Asia/Oral","Asia/Qostanay","Asia/Qyzylorda"],LA:["Asia/Vientiane"],LB:["Asia/Beirut"],LC:["America/St_Lucia"],LI:["Europe/Vaduz"],LK:["Asia/Colombo"],LR:["Africa/Monrovia"],LS:["Africa/Maseru"],LT:["Europe/Vilnius"],LU:["Europe/Luxembourg"],LV:["Europe/Riga"],LY:["Africa/Tripoli","Libya"],MA:["Africa/Casablanca"],MC:["Europe/Monaco"],MD:["Europe/Chisinau","Europe/Tiraspol"],ME:["Europe/Podgorica"],MF:["America/Marigot"],MG:["Indian/Antananarivo"],MH:["Kwajalein","Pacific/Kwajalein","Pacific/Majuro"],MK:["Europe/Skopje"],ML:["Africa/Bamako"],MM:["Asia/Rangoon","Asia/Yangon"],MN:["Asia/Choibalsan","Asia/Hovd","Asia/Ulaanbaatar","Asia/Ulan_Bator"],MO:["Asia/Macao","Asia/Macau"],MP:["Pacific/Saipan"],MQ:["America/Martinique"],MR:["Africa/Nouakchott"],MS:["America/Montserrat"],MT:["Europe/Malta"],MU:["Indian/Mauritius"],MV:["Indian/Maldives"],MW:["Africa/Blantyre"],MX:["America/Bahia_Banderas","America/Cancun","America/Chihuahua","America/Ciudad_Juarez","America/Ensenada","America/Hermosillo","America/Matamoros","America/Mazatlan","America/Merida","America/Mexico_City","America/Monterrey","America/Ojinaga","America/Santa_Isabel","America/Tijuana","Mexico/BajaNorte","Mexico/BajaSur","Mexico/General"],MY:["Asia/Kuala_Lumpur","Asia/Kuching"],MZ:["Africa/Maputo"],NA:["Africa/Windhoek"],NC:["Pacific/Noumea"],NE:["Africa/Niamey"],NF:["Pacific/Norfolk"],NG:["Africa/Lagos"],NI:["America/Managua"],NL:["Europe/Amsterdam"],NO:["Atlantic/Jan_Mayen","Europe/Oslo"],NP:["Asia/Kathmandu","Asia/Katmandu"],NR:["Pacific/Nauru"],NU:["Pacific/Niue"],NZ:["Antarctica/South_Pole","NZ","NZ-CHAT","Pacific/Auckland","Pacific/Chatham"],OM:["Asia/Muscat"],PA:["America/Panama"],PE:["America/Lima"],PF:["Pacific/Gambier","Pacific/Marquesas","Pacific/Tahiti"],PG:["Pacific/Bougainville","Pacific/Port_Moresby"],PH:["Asia/Manila"],PK:["Asia/Karachi"],PL:["Europe/Warsaw","Poland"],PM:["America/Miquelon"],PN:["Pacific/Pitcairn"],PR:["America/Puerto_Rico"],PS:["Asia/Gaza","Asia/Hebron"],PT:["Atlantic/Azores","Atlantic/Madeira","Europe/Lisbon","Portugal"],PW:["Pacific/Palau"],PY:["America/Asuncion"],QA:["Asia/Qatar"],RE:["Indian/Reunion"],RO:["Europe/Bucharest"],RS:["Europe/Belgrade"],RU:["Asia/Anadyr","Asia/Barnaul","Asia/Chita","Asia/Irkutsk","Asia/Kamchatka","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Magadan","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Sakhalin","Asia/Srednekolymsk","Asia/Tomsk","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Europe/Astrakhan","Europe/Kaliningrad","Europe/Kirov","Europe/Moscow","Europe/Samara","Europe/Saratov","Europe/Ulyanovsk","Europe/Volgograd","W-SU"],RW:["Africa/Kigali"],SA:["Asia/Riyadh"],SB:["Pacific/Guadalcanal"],SC:["Indian/Mahe"],SD:["Africa/Khartoum"],SE:["Europe/Stockholm"],SG:["Asia/Singapore","Singapore"],SH:["Atlantic/St_Helena"],SI:["Europe/Ljubljana"],SJ:["Arctic/Longyearbyen"],SK:["Europe/Bratislava"],SL:["Africa/Freetown"],SM:["Europe/San_Marino"],SN:["Africa/Dakar"],SO:["Africa/Mogadishu"],SR:["America/Paramaribo"],SS:["Africa/Juba"],ST:["Africa/Sao_Tome"],SV:["America/El_Salvador"],SX:["America/Lower_Princes"],SY:["Asia/Damascus"],SZ:["Africa/Mbabane"],TC:["America/Grand_Turk"],TD:["Africa/Ndjamena"],TF:["Indian/Kerguelen"],TG:["Africa/Lome"],TH:["Asia/Bangkok"],TJ:["Asia/Dushanbe"],TK:["Pacific/Fakaofo"],TL:["Asia/Dili"],TM:["Asia/Ashgabat","Asia/Ashkhabad"],TN:["Africa/Tunis"],TO:["Pacific/Tongatapu"],TR:["Asia/Istanbul","Europe/Istanbul","Turkey"],TT:["America/Port_of_Spain","America/Virgin"],TV:["Pacific/Funafuti"],TW:["Asia/Taipei","ROC"],TZ:["Africa/Dar_es_Salaam"],UA:["Europe/Kiev","Europe/Kyiv","Europe/Simferopol","Europe/Uzhgorod","Europe/Zaporozhye"],UG:["Africa/Kampala"],UM:["Pacific/Midway","Pacific/Wake"],US:["America/Adak","America/Anchorage","America/Atka","America/Boise","America/Chicago","America/Denver","America/Detroit","America/Fort_Wayne","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Knox_IN","America/Los_Angeles","America/Louisville","America/Menominee","America/Metlakatla","America/New_York","America/Nome","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Phoenix","America/Shiprock","America/Sitka","America/Yakutat","Navajo","Pacific/Honolulu","Pacific/Johnston","US/Alaska","US/Aleutian","US/Arizona","US/Central","US/East-Indiana","US/Eastern","US/Hawaii","US/Indiana-Starke","US/Michigan","US/Mountain","US/Pacific"],UY:["America/Montevideo"],UZ:["Asia/Samarkand","Asia/Tashkent"],VA:["Europe/Vatican"],VC:["America/St_Vincent"],VE:["America/Caracas"],VG:["America/Tortola"],VI:["America/St_Thomas"],VN:["Asia/Ho_Chi_Minh","Asia/Saigon"],VU:["Pacific/Efate"],WF:["Pacific/Wallis"],WS:["Pacific/Apia"],YE:["Asia/Aden"],YT:["Indian/Mayotte"],ZA:["Africa/Johannesburg"],ZM:["Africa/Lusaka"],ZW:["Africa/Harare"]}; \ No newline at end of file diff --git a/lib/flutter_ilib.dart b/lib/flutter_ilib.dart index 5d48b8a..c1dcdcb 100644 --- a/lib/flutter_ilib.dart +++ b/lib/flutter_ilib.dart @@ -6,7 +6,9 @@ import 'ilib_init.dart'; import 'internal/logger/log_adapter.dart'; import 'internal/logger/logger_selector.dart'; +export 'ilib_date.dart'; export 'ilib_datefmt.dart'; +export 'ilib_durationfmt.dart'; export 'ilib_init.dart'; export 'ilib_localeinfo.dart'; diff --git a/lib/ilib_date.dart b/lib/ilib_date.dart new file mode 100644 index 0000000..2faac4c --- /dev/null +++ b/lib/ilib_date.dart @@ -0,0 +1,104 @@ +class ILibDateOptions { + /// [locale] Locales are specified either with a specifier string that follows the BCP-47 convention, + /// [year] The year + /// [month] The month + /// [week] The week + /// [day] The day of the month + /// [hour] The hour of the day + /// [minute] The minute [0..59] + /// [second] The second [0..59] + /// [millisecond] The millisecond [0..999] + /// [unixtime] Sets the time of this instance according to the given unix time. + /// [timezone] Time zone name as a string + /// [calendar] Same as "type" property + /// [dateTime] DateTime class of flutter + /// [type] Specifies the type/calendar of the date desired. + ILibDateOptions( + {this.locale, + this.year, + this.month, + this.week, + this.day, + this.hour, + this.minute, + this.second, + this.millisecond, + this.unixtime, + this.timezone, + this.calendar, + this.dateTime, + this.type}); + String? locale; + int? year; + int? month; + int? week; + int? day; + int? hour; + int? minute; + int? second; + int? millisecond; + int? unixtime; + String? timezone; + String? type; + String? calendar; + DateTime? dateTime; + + /// A string representation of parameters to call functions of iLib library properly + String toJsonString() { + int? y = year; + int? m = month; + int? w = week; + int? d = day; + int? h = hour; + int? min = minute; + int? sec = second; + int? milsec = millisecond; + String result = ''; + String completeOption = ''; + + if (dateTime != null) { + y = dateTime!.year; + m = dateTime!.month; + d = dateTime!.day; + h = dateTime!.hour; + min = dateTime!.minute; + sec = dateTime!.second; + milsec = dateTime!.millisecond; + } + + final Map paramInfo = { + 'locale': '$locale', + // If dateTime is not null and is in UTC, set timezone to 'Etc/UTC'. + // Otherwise, use the provided timezone value. + 'timezone': (dateTime?.isUtc ?? false) ? 'Etc/UTC' : '$timezone', + 'type': '$type', + 'calendar': '$calendar' + }; + + paramInfo.forEach((String key, String value) { + if (value != 'null') { + result += '$key:"$value",'; + } + }); + + final Map datetimeInfo = { + 'year': y, + 'month': m, + 'week': w, + 'day': d, + 'hour': h, + 'minute': min, + 'second': sec, + 'millisecond': milsec, + }; + datetimeInfo.forEach((String key, int? value) { + if (value != null) { + result += '$key:$value,'; + } + }); + result = + result.isNotEmpty ? result.substring(0, result.length - 1) : result; + completeOption = result.isNotEmpty ? '{$result}' : ''; + return completeOption; + } +} diff --git a/lib/ilib_datefmt.dart b/lib/ilib_datefmt.dart index 72693ee..be56aab 100644 --- a/lib/ilib_datefmt.dart +++ b/lib/ilib_datefmt.dart @@ -1,4 +1,5 @@ import 'dart:convert'; +import 'ilib_date.dart'; import 'ilib_init.dart'; class ILibDateFmt { @@ -154,106 +155,6 @@ class ILibDateFmtOptions { bool? useNative; } -class ILibDateOptions { - /// [locale] Locales are specified either with a specifier string that follows the BCP-47 convention, - /// [year] The year - /// [month] The month - /// [day] The day of the month - /// [hour] The hour of the day - /// [minute] The minute [0..59] - /// [second] The second [0..59] - /// [millisecond] The millisecond [0..999] - /// [unixtime] Sets the time of this instance according to the given unix time. - /// [timezone] Time zone name as a string - /// [calendar] Same as "type" property - /// [dateTime] DateTime class of flutter - /// [type] Specifies the type/calendar of the date desired. - ILibDateOptions( - {this.locale, - this.year, - this.month, - this.day, - this.hour, - this.minute, - this.second, - this.millisecond, - this.unixtime, - this.timezone, - this.calendar, - this.dateTime, - this.type}); - String? locale; - int? year; - int? month; - int? day; - int? hour; - int? minute; - int? second; - int? millisecond; - int? unixtime; - String? timezone; - String? type; - String? calendar; - DateTime? dateTime; - - /// A string representation of parameters to call functions of iLib library properly - String toJsonString() { - int? y = year; - int? m = month; - int? d = day; - int? h = hour; - int? min = minute; - int? sec = second; - int? milsec = millisecond; - String result = ''; - String completeOption = ''; - - if (dateTime != null) { - y = dateTime!.year; - m = dateTime!.month; - d = dateTime!.day; - h = dateTime!.hour; - min = dateTime!.minute; - sec = dateTime!.second; - milsec = dateTime!.millisecond; - } - - final Map paramInfo = { - 'locale': '$locale', - // If dateTime is not null and is in UTC, set timezone to 'Etc/UTC'. - // Otherwise, use the provided timezone value. - 'timezone': (dateTime?.isUtc ?? false) ? 'Etc/UTC' : '$timezone', - 'type': '$type', - 'calendar': '$calendar' - }; - - paramInfo.forEach((String key, String value) { - if (value != 'null') { - result += '$key:"$value",'; - } - }); - - final Map datetimeInfo = { - 'year': y, - 'month': m, - 'day': d, - 'hour': h, - 'minute': min, - 'second': sec, - 'millisecond': milsec, - }; - datetimeInfo.forEach((String key, int? value) { - if (value != null) { - result += '$key:$value,'; - } - }); - result = - result.isNotEmpty ? result.substring(0, result.length - 1) : result; - completeOption = result.isNotEmpty ? '{$result}' : ''; - return completeOption; - } -} - class MeridiemsInfo { /// [name] The name of the meridiem /// [start] The startTime of meridiem diff --git a/lib/ilib_durationfmt.dart b/lib/ilib_durationfmt.dart new file mode 100644 index 0000000..b076a6a --- /dev/null +++ b/lib/ilib_durationfmt.dart @@ -0,0 +1,108 @@ +import 'ilib_date.dart'; +import 'ilib_init.dart'; + +class ILibDurationFmt { + /// [options] Set the Options for formatting + ILibDurationFmt(ILibDurationFmtOptions options) { + locale = options.locale; + length = options.length; + style = options.style; + useNative = options.useNative; + } + + String? locale; + String? length; + String? style; + bool? useNative; + + /// A string representation of parameters to call functions of iLib library properly + String toJsonString() { + String result = ''; + String completeOption = ''; + + final Map paramInfo = { + 'locale': '$locale', + 'length': '$length', + 'style': '$style' + }; + paramInfo.forEach((String key, String value) { + if (value != 'null') { + result += '$key:"$value",'; + } + }); + + if (useNative != null) { + result += 'useNative:$useNative,'; + } + + result = + result.isNotEmpty ? result.substring(0, result.length - 1) : result; + completeOption = '{$result}'; + + return completeOption; + } + + /// Formats a particular date instance according to the settings of this formatter object + String format(ILibDateOptions date) { + String result = ''; + final String formatOptions = toJsonString(); + final String dateOptions = date.toJsonString(); + + result = ILibJS.instance + .evaluate( + 'new DurationFmt($formatOptions).format($dateOptions).toString()') + .stringResult; + + return result; + } + + /// Return the locale that was used to construct this duration formatter object. + /// If the locale was not given as parameter to the constructor, this method returns the default + /// locale of the system. + String getLocale() { + String result = ''; + final String formatOptions = toJsonString(); + final String jscode1 = + 'new DurationFmt($formatOptions).getLocale().toString()'; + result = ILibJS.instance.evaluate(jscode1).stringResult; + return result; + } + + /// Return the length that was used to construct this duration formatter object. If the + /// length was not given as parameter to the constructor, this method returns the default + /// length. Valid values are "short", "medium", "long", and "full". + String getLength() { + String result = ''; + final String formatOptions = toJsonString(); + final String jscode1 = 'new DurationFmt($formatOptions).getLength()'; + result = ILibJS.instance.evaluate(jscode1).stringResult; + return result; + } + + /// Return the style that was used to construct this duration formatter object. + /// Valid values are "text" or "clock". + String getStyle() { + String result = ''; + final String formatOptions = toJsonString(); + final String jscode1 = 'new DurationFmt($formatOptions).getStyle()'; + result = ILibJS.instance.evaluate(jscode1).stringResult; + return result; + } +} + +class ILibDurationFmtOptions { + /// [locale] Locales are specified either with a specifier string that follows the BCP-47 convention. + /// [length] Specifies the length of the format to use. Valid values are "short", "medium", "long" and "full". + /// [style] whether hours, minutes, and seconds should be formatted as a text string or as a regular time as on a clock. + /// [useNative] The flag used to determine whether to use the native script settings for formatting the numbers. + ILibDurationFmtOptions({ + this.locale, + this.length, + this.style, + this.useNative, + }); + String? locale; + String? length; + String? style; + bool? useNative; +} diff --git a/pubspec.yaml b/pubspec.yaml index 8021855..4d5e0f8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_ilib description: "A wrapper plugin to conveniently use 'iLib' in Flutter app for internationalization. This plugin uses the 'flutter_js' to make the JavaScript file work properly in the Flutter app." -version: 1.4.0 +version: 1.5.0 homepage: https://github.com/iLib-js/flutter_ilib repository: https://github.com/iLib-js/flutter_ilib diff --git a/scripts/ilib-inc.js b/scripts/assemble_ilib/ilib-inc.js similarity index 100% rename from scripts/ilib-inc.js rename to scripts/assemble_ilib/ilib-inc.js diff --git a/scripts/assemble_ilib/locales.json b/scripts/assemble_ilib/locales.json new file mode 100644 index 0000000..82d9178 --- /dev/null +++ b/scripts/assemble_ilib/locales.json @@ -0,0 +1,148 @@ +{ + "locales": [ + "af-ZA", + "am-ET", + "ar-AE", + "ar-EG", + "ar-IQ", + "ar-MA", + "ar-SA", + "as-IN", + "az-Latn-AZ", + "bg-BG", + "bn-IN", + "bs-Latn-BA", + "bs-Latn-ME", + "cs-CZ", + "da-DK", + "de-AT", + "de-CH", + "de-DE", + "de-LU", + "el-CY", + "el-GR", + "en-AM", + "en-AU", + "en-AZ", + "en-CA", + "en-CN", + "en-GB", + "en-GE", + "en-GH", + "en-HK", + "en-IE", + "en-IN", + "en-IS", + "en-JP", + "en-KE", + "en-LK", + "en-MM", + "en-MW", + "en-MX", + "en-MY", + "en-NG", + "en-NZ", + "en-PH", + "en-PR", + "en-SG", + "en-TW", + "en-UG", + "en-US", + "en-ZA", + "en-ZM", + "es-AR", + "es-BO", + "es-CA", + "es-CL", + "es-CO", + "es-DO", + "es-EC", + "es-ES", + "es-GT", + "es-HN", + "es-MX", + "es-NI", + "es-PA", + "es-PE", + "es-PR", + "es-PY", + "es-SV", + "es-US", + "es-UY", + "es-VE", + "et-EE", + "fa-IR", + "fi-FI", + "fr-BE", + "fr-CA", + "fr-CH", + "fr-FR", + "fr-LU", + "ga-IE", + "gu-IN", + "ha-Latn-NG", + "he-IL", + "hi-IN", + "hr-HR", + "hr-ME", + "hu-HU", + "id-ID", + "is-IS", + "it-CH", + "it-IT", + "ja-JP", + "ka-GE", + "kk-Cyrl-KZ", + "km-KH", + "kn-IN", + "ko-KR", + "ko-US", + "ku-Arab-IQ", + "lt-LT", + "lv-LV", + "mk-MK", + "ml-IN", + "mn-Cyrl-MN", + "mr-IN", + "ms-MY", + "nb-NO", + "nl-BE", + "nl-NL", + "or-IN", + "pa-IN", + "pl-PL", + "pt-BR", + "pt-PT", + "ro-RO", + "ru-BY", + "ru-GE", + "ru-KG", + "ru-KZ", + "ru-RU", + "ru-UA", + "si-LK", + "sk-SK", + "sl-SI", + "sq-AL", + "sq-ME", + "sr-Latn-ME", + "sr-Latn-RS", + "sv-FI", + "sv-SE", + "sw-Latn-KE", + "ta-IN", + "te-IN", + "th-TH", + "tr-AM", + "tr-AZ", + "tr-CY", + "tr-TR", + "uk-UA", + "ur-IN", + "uz-Latn-UZ", + "vi-VN", + "zh-Hans-CN", + "zh-Hant-HK", + "zh-Hant-TW" + ] +} diff --git a/test/basic/flutter_ilib_test.dart b/test/basic/flutter_ilib_test.dart index 2582069..3358179 100644 --- a/test/basic/flutter_ilib_test.dart +++ b/test/basic/flutter_ilib_test.dart @@ -2,11 +2,15 @@ import 'package:flutter/material.dart'; import 'package:flutter_ilib/flutter_ilib.dart'; import 'package:flutter_test/flutter_test.dart'; +import '../test_env.dart'; + void main() { + String testPlatform = ''; TestWidgetsFlutterBinding.ensureInitialized(); debugPrint('Testing [flutter_ilib_test.dart] file.'); late FlutterILib flutterIlibPlugin; setUpAll(() async { + testPlatform = getTestPlatform(); flutterIlibPlugin = FlutterILib.instance; await ILibJS.instance.loadJS(); ILibJS.instance.initILib(); @@ -67,6 +71,22 @@ void main() { expect(flutterIlibPlugin.evaluateILib(str), '2년 3개월 16일 5시간 23분 10초'); }); + test('evaluateILib_DurationFmt_ko_KR3', () { + const String loc = 'ko-KR'; + const String length = 'short'; + const String style = 'clock'; + const int year = 2; + const int month = 3; + const int day = 16; + const int hour = 5; + const int minute = 23; + const int second = 10; + const String str = + 'new DurationFmt({locale:"$loc", length: "$length", style:"$style"}).format({year: $year, month: $month, day: $day, hour: $hour, minute: $minute, second: $second}).toString()'; + + expect(flutterIlibPlugin.evaluateILib(str), '2년 3개월 16일 5:23:10'); + }); + test('evaluateILib_DurationFmt_en_US', () { const String loc = 'en-US'; const String length = 'full'; @@ -113,6 +133,22 @@ void main() { '2 años, 2 meses, 2 días, 2 horas, 2 minutos y 2 segundos'); }); + test('evaluateILib_DurationFmt_es_ES2', () { + const String loc = 'es-ES'; + const String length = 'short'; + const String style = 'clock'; + const int year = 2; + const int month = 2; + const int day = 2; + const int hour = 2; + const int minute = 2; + const int second = 2; + const String str = + 'new DurationFmt({locale:"$loc", length:"$length", style:"$style"}).format({year: $year, month: $month, day: $day, hour: $hour, minute: $minute, second: $second}).toString()'; + + expect(flutterIlibPlugin.evaluateILib(str), '2a 2m 2d 2:02:02'); + }); + test('evaluateILib_DurationFmt_th_TH', () { const String loc = 'th-TH'; const String length = 'short'; @@ -141,8 +177,44 @@ void main() { const String str = 'new DurationFmt({locale:"$loc", length:"$length"}).format({year: $year, month: $month, day: $day, hour: $hour, minute: $minute, second: $second}).toString()'; - expect(flutterIlibPlugin.evaluateILib(str), - '2 ዓመታት፣ 2 ወራት፣ 2 ቀናት፣ 2 ሰዓቶች፣ 2 ደቂቃዎች እና 2 ሰከንዶች'); + final String result = (testPlatform == 'webOS') + ? '2 ዓመታት፣ 2 ወራት፣ 2 ቀናት፣ 2 ሰዓት፣ 2 ደቂቃ እና 2 ሰከንድ' + : '2 ዓመታት፣ 2 ወራት፣ 2 ቀናት፣ 2 ሰዓቶች፣ 2 ደቂቃዎች እና 2 ሰከንዶች'; + expect(flutterIlibPlugin.evaluateILib(str), result); + }); + + test('evaluateILib_DurationFmt_am_ET2', () { + const String loc = 'am-ET'; + const String length = 'short'; + const String style = 'clock'; + const int year = 2; + const int month = 2; + const int day = 2; + const int hour = 2; + const int minute = 2; + const int second = 2; + const String str = + 'new DurationFmt({locale:"$loc", length:"$length",style: "$style", useNative: false}).format({year: $year, month: $month, day: $day, hour: $hour, minute: $minute, second: $second}).toString()'; + + final String result = (testPlatform == 'webOS') + ? '2 ዓ፣ 2 ወ፣ 2 ቀ፣ 2:02:02' + : '2 ዓ፣ 2 ወር፣ 2 ቀ፣ 2:02:02'; + expect(flutterIlibPlugin.evaluateILib(str), result); }); }); + + test('evaluateILib_DurationFmt_fa_IR', () { + const String loc = 'fa-IR'; + const String length = 'short'; + const String style = 'clock'; + const int year = 2; + const int month = 3; + const int day = 16; + const int hour = 5; + const int minute = 23; + const String str = + 'new DurationFmt({locale:"$loc", length:"$length",style: "$style", useNative: false}).format({year: $year, month: $month, day: $day, hour: $hour, minute: $minute}).toString()'; + + expect(flutterIlibPlugin.evaluateILib(str), '‏2 سال 3 ماه 16 روز ‏5:23'); + }); } diff --git a/test/durfmt/durfmt2_test.dart b/test/durfmt/durfmt2_test.dart new file mode 100644 index 0000000..ace9576 --- /dev/null +++ b/test/durfmt/durfmt2_test.dart @@ -0,0 +1,8856 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + final List length = ['full', 'long', 'medium', 'short']; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [durfmt_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ilibjsinstance.loadILibLocaleDataAll(); + }); + + group('testDurFmt', () { + test('testDurFmt_ar_EG', () { + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ar-EG', + style: 'text', + length: length[i], + useNative: false, + ); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_IQ', () { + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ar-IQ', + style: 'text', + length: length[i], + useNative: false, + ); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_MA', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ar-US', + style: 'text', + length: length[i], + useNative: false, + ); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_as_IN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'as-IN', + style: 'text', + length: length[i], + useNative: false, + ); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 বছৰ, 1 মাহ, 1 সপ্তাহ, 1 দিন'); + expect(textformatted_1[1], '1 বছৰ, 1 মাহ, 1 সপ্তাহ, 1 দিন'); + expect(textformatted_1[2], '1 বছৰ 1 মাহ 1 সপ্তাহ 1 দিন'); + expect(textformatted_1[3], '1 বছৰ 1 মাহ 1 সপ্তাহ 1 দিন'); + + expect(textformatted_2[0], '2 বছৰ, 2 মাহ, 2 সপ্তাহ, 2 দিন'); + expect(textformatted_2[1], '2 বছৰ, 2 মাহ, 2 সপ্তাহ, 2 দিন'); + expect(textformatted_2[2], '2 বছৰ 2 মাহ 2 সপ্তাহ 2 দিন'); + expect(textformatted_2[3], '2 বছৰ 2 মাহ 2 সপ্তাহ 2 দিন'); + + expect(clockformatted_1[0], '1 ঘণ্টা, 1 মিনিট, 1 ছেকেণ্ড'); + expect(clockformatted_1[1], '1 ঘণ্টা, 1 মিনিট, 1 ছেকেণ্ড'); + expect(clockformatted_1[2], '1 ঘণ্টা 1 মিনিট 1 ছেকেণ্ড'); + expect(clockformatted_1[3], '1 ঘণ্টা 1 মিনিট 1 ছেকেণ্ড'); + + expect(clockformatted_2[0], '2 ঘণ্টা, 2 মিনিট, 2 ছেকেণ্ড'); + expect(clockformatted_2[1], '2 ঘণ্টা, 2 মিনিট, 2 ছেকেণ্ড'); + expect(clockformatted_2[2], '2 ঘণ্টা 2 মিনিট 2 ছেকেণ্ড'); + expect(clockformatted_2[3], '2 ঘণ্টা 2 মিনিট 2 ছেকেণ্ড'); + }); + + test('testDurFmt_bg_BG', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'bg-BG', + style: 'text', + length: length[i], + ), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 година, 1 месец, 1 седмица и 1 ден'); + expect(textformatted_1[1], '1 год., 1 мес., 1 седм., 1 д'); + expect(textformatted_1[2], '1 г., 1 мес., 1 седм., 1 д'); + expect(textformatted_1[3], '1 г., 1 мес., 1 седм., 1 д'); + + expect(textformatted_2[0], '2 години, 2 месеца, 2 седмици и 2 дни'); + expect(textformatted_2[1], '2 год., 2 мес., 2 седм., 2 д'); + expect(textformatted_2[2], '2 г., 2 мес., 2 седм., 2 д'); + expect(textformatted_2[3], '2 г., 2 мес., 2 седм., 2 д'); + + expect(clockformatted_1[0], '1 час, 1 минута и 1 секунда'); + expect(clockformatted_1[1], '1 ч, 1 мин, 1 сек'); + expect(clockformatted_1[2], '1 ч, 1 мин, 1 с'); + expect(clockformatted_1[3], '1 ч, 1 мин, 1 с'); + + expect(clockformatted_2[0], '2 часа, 2 минути и 2 секунди'); + expect(clockformatted_2[1], '2 ч, 2 мин, 2 сек'); + expect(clockformatted_2[2], '2 ч, 2 мин, 2 с'); + expect(clockformatted_2[3], '2 ч, 2 мин, 2 с'); + }); + + test('testDurFmt_bn_IN', () { + // 1 18 + final List textformatted_1 = []; + final List textformatted_18 = []; + final List clockformatted_1 = []; + final List clockformatted_18 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'bn-IN', + style: 'text', + length: length[i], + useNative: false, + ), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_18.add(fmt + .format(ILibDateOptions(year: 18, month: 18, week: 18, day: 18))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_18 + .add(fmt.format(ILibDateOptions(hour: 18, minute: 18, second: 18))); + } + + expect(textformatted_1[0], '1 বছর, 1 মাস, 1 সপ্তাহ, 1 দিন'); + expect(textformatted_1[1], '1 বছর, 1 মাস, 1 সপ্তাহ, 1 দিন'); + expect(textformatted_1[2], '1 বছর, 1 মাস, 1 সপ্তাহ, 1 দিন'); + expect(textformatted_1[3], '1 বছর, 1 মাস, 1 সপ্তাহ, 1 দিন'); + + expect(textformatted_18[0], '18 বছর, 18 মাস, 18 সপ্তাহ, 18 দিন'); + expect(textformatted_18[1], '18 বছর, 18 মাস, 18 সপ্তাহ, 18 দিন'); + expect(textformatted_18[2], '18 বছর, 18 মাস, 18 সপ্তাহ, 18 দিন'); + expect(textformatted_18[3], '18 বছর, 18 মাস, 18 সপ্তাহ, 18 দিন'); + + expect(clockformatted_1[0], '1 ঘন্টা, 1 মিনিট, 1 সেকেন্ড'); + expect(clockformatted_1[1], '1 ঘন্টা, 1 মিনিট, 1 সেকেন্ড'); + expect(clockformatted_1[2], '1 ঘঃ, 1 মিঃ, 1 সেঃ'); + expect(clockformatted_1[3], '1 ঘঃ, 1 মিঃ, 1 সেঃ'); + + expect(clockformatted_18[0], '18 ঘন্টা, 18 মিনিট, 18 সেকেন্ড'); + expect(clockformatted_18[1], '18 ঘন্টা, 18 মিনিট, 18 সেকেন্ড'); + expect(clockformatted_18[2], '18 ঘঃ, 18 মিঃ, 18 সেঃ'); + expect(clockformatted_18[3], '18 ঘঃ, 18 মিঃ, 18 সেঃ'); + }); + + test('testDurFmt_bs_Latn_BA', () { + // 1 4 5 + final List textformatted_1 = []; + final List textformatted_4 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_4 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'bs-Latn-BA', + style: 'text', + length: length[i], + ), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_4.add( + fmt.format(ILibDateOptions(year: 4, month: 4, week: 4, day: 4))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_4 + .add(fmt.format(ILibDateOptions(hour: 4, minute: 4, second: 4))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 godina, 1 mjesec, 1 sedmica i 1 dan'); + expect(textformatted_1[1], '1 god., 1 mj., 1 sedm., 1 dan'); + expect(textformatted_1[2], '1 god., 1 mj., 1 sedm., 1 d.'); + expect(textformatted_1[3], '1 god., 1 mj., 1 sedm., 1 d.'); + + expect(textformatted_4[0], '4 godine, 4 mjeseca, 4 sedmice i 4 dana'); + expect(textformatted_4[1], '4 god., 4 mj., 4 sedm., 4 dana'); + expect(textformatted_4[2], '4 god., 4 mj., 4 sedm., 4 d.'); + expect(textformatted_4[3], '4 god., 4 mj., 4 sedm., 4 d.'); + + expect(textformatted_5[0], '5 godina, 5 mjeseci, 5 sedmica i 5 dana'); + expect(textformatted_5[1], '5 god., 5 mj., 5 sedm., 5 dana'); + expect(textformatted_5[2], '5 god., 5 mj., 5 sedm., 5 d.'); + expect(textformatted_5[3], '5 god., 5 mj., 5 sedm., 5 d.'); + + expect(clockformatted_1[0], '1 sat, 1 minuta i 1 sekunda'); + expect(clockformatted_1[1], '1 h, 1 min., 1 sek.'); + expect(clockformatted_1[2], '1 h, 1 m, 1 s'); + expect(clockformatted_1[3], '1 h, 1 m, 1 s'); + + expect(clockformatted_4[0], '4 sata, 4 minute i 4 sekunde'); + expect(clockformatted_4[1], '4 h, 4 min., 4 sek.'); + expect(clockformatted_4[2], '4 h, 4 m, 4 s'); + expect(clockformatted_4[3], '4 h, 4 m, 4 s'); + + expect(clockformatted_5[0], '5 sati, 5 minuta i 5 sekundi'); + expect(clockformatted_5[1], '5 h, 5 min., 5 sek.'); + expect(clockformatted_5[2], '5 h, 5 m, 5 s'); + expect(clockformatted_5[3], '5 h, 5 m, 5 s'); + }); + + test('testDurFmt_cs_CZ', () { + // 1 2 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'cs-CZ', style: 'text', length: length[i]), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 rok, 1 měsíc, 1 týden a 1 den'); + expect(textformatted_1[1], '1 rok, 1 měs., 1 týd., 1 den'); + expect(textformatted_1[2], '1 r., 1 m., 1 t., 1 d.'); + expect(textformatted_1[3], '1 r. 1 m. 1 t. 1 d.'); + + expect(textformatted_2[0], '2 roky, 2 měsíce, 2 týdny a 2 dny'); + expect(textformatted_2[1], '2 roky, 2 měs., 2 týd., 2 dny'); + expect(textformatted_2[2], '2 r., 2 m., 2 t., 2 d.'); + expect(textformatted_2[3], '2 r. 2 m. 2 t. 2 d.'); + + expect(textformatted_5[0], '5 let, 5 měsíců, 5 týdnů a 5 dnů'); + expect(textformatted_5[1], '5 let, 5 měs., 5 týd., 5 dnů'); + expect(textformatted_5[2], '5 l., 5 m., 5 t., 5 d.'); + expect(textformatted_5[3], '5 l. 5 m. 5 t. 5 d.'); + + expect(clockformatted_1[0], '1 hodina, 1 minuta a 1 sekunda'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1 h, 1 m, 1 s'); + expect(clockformatted_1[3], '1 h 1 m 1 s'); + + expect(clockformatted_2[0], '2 hodiny, 2 minuty a 2 sekundy'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2 h, 2 m, 2 s'); + expect(clockformatted_2[3], '2 h 2 m 2 s'); + + expect(clockformatted_5[0], '5 hodin, 5 minut a 5 sekund'); + expect(clockformatted_5[1], '5 h, 5 min, 5 s'); + expect(clockformatted_5[2], '5 h, 5 m, 5 s'); + expect(clockformatted_5[3], '5 h 5 m 5 s'); + }); + + test('testDurFmt_da_DK', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'da-DK', style: 'text', length: length[i]), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 år, 1 måned, 1 uge og 1 dag'); + expect(textformatted_1[1], '1 år, 1 md., 1 uge, 1 dag'); + expect(textformatted_1[2], '1 år, 1 m, 1 u, 1 d'); + expect(textformatted_1[3], '1 år, 1 m, 1 u, 1 d'); + + expect(textformatted_2[0], '2 år, 2 måneder, 2 uger og 2 dage'); + expect(textformatted_2[1], '2 år, 2 mdr., 2 uger, 2 dage'); + expect(textformatted_2[2], '2 år, 2 m, 2 u, 2 d'); + expect(textformatted_2[3], '2 år, 2 m, 2 u, 2 d'); + + expect(clockformatted_1[0], '1 time, 1 minut og 1 sekund'); + expect(clockformatted_1[1], '1 t., 1 min., 1 sek.'); + expect(clockformatted_1[2], '1 t, 1 m, 1 s'); + expect(clockformatted_1[3], '1 t, 1 m, 1 s'); + + expect(clockformatted_2[0], '2 timer, 2 minutter og 2 sekunder'); + expect(clockformatted_2[1], '2 t., 2 min., 2 sek.'); + expect(clockformatted_2[2], '2 t, 2 m, 2 s'); + expect(clockformatted_2[3], '2 t, 2 m, 2 s'); + }); + + test('testDurFmt_de_AT', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'de-AT', style: 'text', length: length[i]), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 Jahr, 1 Monat, 1 Woche und 1 Tag'); + expect(textformatted_1[1], '1 J, 1 Mon., 1 Wo., 1 Tg.'); + expect(textformatted_1[2], '1 J, 1 M, 1 W, 1 T'); + expect(textformatted_1[3], '1 J, 1 M, 1 W, 1 T'); + + expect(textformatted_2[0], '2 Jahre, 2 Monate, 2 Wochen und 2 Tage'); + expect(textformatted_2[1], '2 J, 2 Mon., 2 Wo., 2 Tg.'); + expect(textformatted_2[2], '2 J, 2 M, 2 W, 2 T'); + expect(textformatted_2[3], '2 J, 2 M, 2 W, 2 T'); + + expect(clockformatted_1[0], '1 Stunde, 1 Minute und 1 Sekunde'); + expect(clockformatted_1[1], '1 Std., 1 Min., 1 Sek.'); + expect(clockformatted_1[2], '1 Std., 1 Min., 1 Sek.'); + expect(clockformatted_1[3], '1 Std., 1 Min., 1 Sek.'); + + expect(clockformatted_2[0], '2 Stunden, 2 Minuten und 2 Sekunden'); + expect(clockformatted_2[1], '2 Std., 2 Min., 2 Sek.'); + expect(clockformatted_2[2], '2 Std., 2 Min., 2 Sek.'); + expect(clockformatted_2[3], '2 Std., 2 Min., 2 Sek.'); + }); + + test('testDurFmt_de_CH', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'de-CH', style: 'text', length: length[i]), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 Jahr, 1 Monat, 1 Woche und 1 Tag'); + expect(textformatted_1[1], '1 J, 1 Mon., 1 Wo., 1 Tg.'); + expect(textformatted_1[2], '1 J, 1 M, 1 W, 1 T'); + expect(textformatted_1[3], '1 J, 1 M, 1 W, 1 T'); + + expect(textformatted_2[0], '2 Jahre, 2 Monate, 2 Wochen und 2 Tage'); + expect(textformatted_2[1], '2 J, 2 Mon., 2 Wo., 2 Tg.'); + expect(textformatted_2[2], '2 J, 2 M, 2 W, 2 T'); + expect(textformatted_2[3], '2 J, 2 M, 2 W, 2 T'); + + expect(clockformatted_1[0], '1 Stunde, 1 Minute und 1 Sekunde'); + expect(clockformatted_1[1], '1 Std., 1 Min., 1 Sek.'); + expect(clockformatted_1[2], '1 Std., 1 Min., 1 Sek.'); + expect(clockformatted_1[3], '1 Std., 1 Min., 1 Sek.'); + + expect(clockformatted_2[0], '2 Stunden, 2 Minuten und 2 Sekunden'); + expect(clockformatted_2[1], '2 Std., 2 Min., 2 Sek.'); + expect(clockformatted_2[2], '2 Std., 2 Min., 2 Sek.'); + expect(clockformatted_2[3], '2 Std., 2 Min., 2 Sek.'); + }); + test('testDurFmt_de_DE', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'de-DE', style: 'text', length: length[i]), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 Jahr, 1 Monat, 1 Woche und 1 Tag'); + expect(textformatted_1[1], '1 J, 1 Mon., 1 Wo., 1 Tg.'); + expect(textformatted_1[2], '1 J, 1 M, 1 W, 1 T'); + expect(textformatted_1[3], '1 J, 1 M, 1 W, 1 T'); + + expect(textformatted_16[0], '16 Jahre, 16 Monate, 16 Wochen und 16 Tage'); + expect(textformatted_16[1], '16 J, 16 Mon., 16 Wo., 16 Tg.'); + expect(textformatted_16[2], '16 J, 16 M, 16 W, 16 T'); + expect(textformatted_16[3], '16 J, 16 M, 16 W, 16 T'); + + expect(clockformatted_1[0], '1 Stunde, 1 Minute und 1 Sekunde'); + expect(clockformatted_1[1], '1 Std., 1 Min., 1 Sek.'); + expect(clockformatted_1[2], '1 Std., 1 Min., 1 Sek.'); + expect(clockformatted_1[3], '1 Std., 1 Min., 1 Sek.'); + + expect(clockformatted_16[0], '16 Stunden, 16 Minuten und 16 Sekunden'); + expect(clockformatted_16[1], '16 Std., 16 Min., 16 Sek.'); + expect(clockformatted_16[2], '16 Std., 16 Min., 16 Sek.'); + expect(clockformatted_16[3], '16 Std., 16 Min., 16 Sek.'); + }); + test('testDurFmt_de_LU', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'de-LU', style: 'text', length: length[i]), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 Jahr, 1 Monat, 1 Woche und 1 Tag'); + expect(textformatted_1[1], '1 J, 1 Mon., 1 Wo., 1 Tg.'); + expect(textformatted_1[2], '1 J, 1 M, 1 W, 1 T'); + expect(textformatted_1[3], '1 J, 1 M, 1 W, 1 T'); + + expect(textformatted_17[0], '17 Jahre, 17 Monate, 17 Wochen und 17 Tage'); + expect(textformatted_17[1], '17 J, 17 Mon., 17 Wo., 17 Tg.'); + expect(textformatted_17[2], '17 J, 17 M, 17 W, 17 T'); + expect(textformatted_17[3], '17 J, 17 M, 17 W, 17 T'); + + expect(clockformatted_1[0], '1 Stunde, 1 Minute und 1 Sekunde'); + expect(clockformatted_1[1], '1 Std., 1 Min., 1 Sek.'); + expect(clockformatted_1[2], '1 Std., 1 Min., 1 Sek.'); + expect(clockformatted_1[3], '1 Std., 1 Min., 1 Sek.'); + + expect(clockformatted_17[0], '17 Stunden, 17 Minuten und 17 Sekunden'); + expect(clockformatted_17[1], '17 Std., 17 Min., 17 Sek.'); + expect(clockformatted_17[2], '17 Std., 17 Min., 17 Sek.'); + expect(clockformatted_17[3], '17 Std., 17 Min., 17 Sek.'); + }); + test('testDurFmt_el_CY', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'el-CY', style: 'text', length: length[i]), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 έτος, 1 μήνας, 1 εβδομάδα, 1 ημέρα'); + expect(textformatted_1[1], '1 έτ., 1 μήν., 1 εβδ., 1 ημέρα'); + expect(textformatted_1[2], '1 έ, 1 μ, 1 ε, 1 η'); + expect(textformatted_1[3], '1 έ 1 μ 1 ε 1 η'); + + expect(textformatted_2[0], '2 έτη, 2 μήνες, 2 εβδομάδες, 2 ημέρες'); + expect(textformatted_2[1], '2 έτ., 2 μήν., 2 εβδ., 2 ημέρες'); + expect(textformatted_2[2], '2 έ, 2 μ, 2 ε, 2 η'); + expect(textformatted_2[3], '2 έ 2 μ 2 ε 2 η'); + + expect(clockformatted_1[0], '1 ώρα, 1 λεπτό, 1 δευτερόλεπτο'); + expect(clockformatted_1[1], '1 ώ., 1 λ., 1 δευτ.'); + expect(clockformatted_1[2], '1 ώ, 1 λ, 1 δ'); + expect(clockformatted_1[3], '1 ώ 1 λ 1 δ'); + + expect(clockformatted_2[0], '2 ώρες, 2 λεπτά, 2 δευτερόλεπτα'); + expect(clockformatted_2[1], '2 ώ., 2 λ., 2 δευτ.'); + expect(clockformatted_2[2], '2 ώ, 2 λ, 2 δ'); + expect(clockformatted_2[3], '2 ώ 2 λ 2 δ'); + }); + test('testDurFmt_el_GR', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'el-GR', style: 'text', length: length[i]), + ); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 έτος, 1 μήνας, 1 εβδομάδα, 1 ημέρα'); + expect(textformatted_1[1], '1 έτ., 1 μήν., 1 εβδ., 1 ημέρα'); + expect(textformatted_1[2], '1 έ, 1 μ, 1 ε, 1 η'); + expect(textformatted_1[3], '1 έ 1 μ 1 ε 1 η'); + + expect(textformatted_17[0], '17 έτη, 17 μήνες, 17 εβδομάδες, 17 ημέρες'); + expect(textformatted_17[1], '17 έτ., 17 μήν., 17 εβδ., 17 ημέρες'); + expect(textformatted_17[2], '17 έ, 17 μ, 17 ε, 17 η'); + expect(textformatted_17[3], '17 έ 17 μ 17 ε 17 η'); + + expect(clockformatted_1[0], '1 ώρα, 1 λεπτό, 1 δευτερόλεπτο'); + expect(clockformatted_1[1], '1 ώ., 1 λ., 1 δευτ.'); + expect(clockformatted_1[2], '1 ώ, 1 λ, 1 δ'); + expect(clockformatted_1[3], '1 ώ 1 λ 1 δ'); + + expect(clockformatted_17[0], '17 ώρες, 17 λεπτά, 17 δευτερόλεπτα'); + expect(clockformatted_17[1], '17 ώ., 17 λ., 17 δευτ.'); + expect(clockformatted_17[2], '17 ώ, 17 λ, 17 δ'); + expect(clockformatted_17[3], '17 ώ 17 λ 17 δ'); + }); + + test('testDurFmt_en_AM', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-AM', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_AU', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-AU', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_16[0], '16 years, 16 months, 16 weeks, 16 days'); + expect(textformatted_16[1], '16 yrs, 16 mths, 16 wks, 16 days'); + expect(textformatted_16[2], '16y, 16m, 16w, 16d'); + expect(textformatted_16[3], '16y 16m 16w 16d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_16[0], '16 hours, 16 minutes, 16 seconds'); + expect(clockformatted_16[1], '16 hrs, 16 mins, 16 secs'); + expect(clockformatted_16[3], '16h 16m 16s'); + expect(clockformatted_16[3], '16h 16m 16s'); + }); + test('testDurFmt_en_AZ', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-AZ', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_17[0], '17 years, 17 months, 17 weeks, 17 days'); + expect(textformatted_17[1], '17 yrs, 17 mths, 17 wks, 17 days'); + expect(textformatted_17[2], '17y, 17m, 17w, 17d'); + expect(textformatted_17[3], '17y 17m 17w 17d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_17[0], '17 hours, 17 minutes, 17 seconds'); + expect(clockformatted_17[1], '17 hr, 17 min, 17 sec'); + expect(clockformatted_17[2], '17h, 17m, 17s'); + expect(clockformatted_17[3], '17h 17m 17s'); + }); + test('testDurFmt_en_CA', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-CA', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mo, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mos, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_en_GB', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-GB', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_GH', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-GH', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_HK', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-HK', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_IE', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-IE', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_IN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-IN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_IS', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-IS', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_JP', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-JP', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_KE', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-KE', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_KR', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-KR', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_LK', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-LK', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_MM', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-MM', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_MW', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-MW', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_MY', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-MY', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_NG', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-NG', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_NZ', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-NZ', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_PH', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-PH', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_PR', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-PR', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_SG', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-SG', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_US', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-US', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_UG', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-UG', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_ZA', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-ZA', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_ZM', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-ZM', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hrs, 2 mins, 2 secs'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + + test('testDurFmt_es_AR', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-AR', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 año, 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_2[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_2[1], '2 años, 2 mm., 2 sems., 2 dd.'); + expect(textformatted_2[2], '2a., 2mm., 2sems., 2dd.'); + expect(textformatted_2[3], '2a. 2mm. 2sems. 2dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 seg.'); + expect(clockformatted_1[2], '1h, 1min, 1seg.'); + expect(clockformatted_1[3], '1h 1min 1seg.'); + + expect(clockformatted_2[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 seg.'); + expect(clockformatted_2[2], '2h, 2min, 2seg.'); + expect(clockformatted_2[3], '2h 2min 2seg.'); + }); + test('testDurFmt_es_BO', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-BO', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_16[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_16[1], '2 aa., 2 mm., 2 sems., 2 dd.'); + expect(textformatted_16[2], '2aa., 2mm., 2sems., 2dd.'); + expect(textformatted_16[3], '2aa. 2mm. 2sems. 2dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_16[1], '2 h, 2 min, 2 s'); + expect(clockformatted_16[2], '2h, 2min, 2s'); + expect(clockformatted_16[3], '2h 2min 2s'); + }); + test('testDurFmt_es_CL', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-CL', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_2[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_2[1], '2 aa., 2 mm., 2 sems., 2 dd.'); + expect(textformatted_2[2], '2aa., 2mm., 2sems., 2dd.'); + expect(textformatted_2[3], '2aa. 2mm. 2sems. 2dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_es_CO', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-CO', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 mes, 1 sem., 1 día'); + expect(textformatted_1[2], '1 a., 1 mes, 1 sem., 1 día'); + expect(textformatted_1[3], '1 a. 1 mes 1 sem. 1 día'); + + expect(textformatted_16[0], '16 años, 16 meses, 16 semanas y 16 días'); + expect(textformatted_16[1], '16 a., 16 meses, 16 sems., 16 días'); + expect(textformatted_16[2], '16 a., 16 meses, 16 sems., 16 días'); + expect(textformatted_16[3], '16 a. 16 meses 16 sems. 16 días'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1 h, 1 min, 1 s'); + expect(clockformatted_1[3], '1 h 1 min 1 s'); + + expect(clockformatted_16[0], '16 horas, 16 minutos y 16 segundos'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16 h, 16 min, 16 s'); + expect(clockformatted_16[3], '16 h 16 min 16 s'); + }); + test('testDurFmt_es_DO', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-DO', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_2[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_2[1], '2 aa., 2 mm., 2 sems., 2 dd.'); + expect(textformatted_2[2], '2aa., 2m., 2sems., 2d.'); + expect(textformatted_2[3], '2aa. 2m. 2sems. 2d.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 seg.'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 seg.'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_es_EC', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-EC', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_16[0], '16 años, 16 meses, 16 semanas y 16 días'); + expect(textformatted_16[1], '16 aa., 16 mm., 16 sems., 16 dd.'); + expect(textformatted_16[2], '16aa., 16mm., 16sems., 16dd.'); + expect(textformatted_16[3], '16aa. 16mm. 16sems. 16dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 horas, 16 minutos y 16 segundos'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_es_ES', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-ES', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a, 1 m., 1 sem., 1 d'); + expect(textformatted_1[2], '1a, 1m, 1sem, 1d'); + expect(textformatted_1[3], '1a 1m 1sem 1d'); + + expect(textformatted_2[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_2[1], '2 a, 2 m., 2 sem., 2 d'); + expect(textformatted_2[2], '2a, 2m, 2sem, 2d'); + expect(textformatted_2[3], '2a 2m 2sem 2d'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_es_GT', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-GT', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_16[0], '16 años, 16 meses, 16 semanas y 16 días'); + expect(textformatted_16[1], '16 aa., 16 mm., 16 sems., 16 dd.'); + expect(textformatted_16[2], '16aa., 16mm., 16sems., 16dd.'); + expect(textformatted_16[3], '16aa. 16mm. 16sems. 16dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 horas, 16 minutos y 16 segundos'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_es_HN', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-HN', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_17[0], '17 años, 17 meses, 17 semanas y 17 días'); + expect(textformatted_17[1], '17 aa., 17 mm., 17 sems., 17 dd.'); + expect(textformatted_17[2], '17aa., 17mm., 17sems., 17dd.'); + expect(textformatted_17[3], '17aa. 17mm. 17sems. 17dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 horas, 17 minutos y 17 segundos'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_es_MX', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-MX', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a, 1 m., 1 sem., 1 día'); + expect(textformatted_1[2], '1a, 1m, 1sem, 1d'); + expect(textformatted_1[3], '1a 1m 1sem 1d'); + + expect(textformatted_2[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_2[1], '2 a, 2 m, 2 sem, 2 días'); + expect(textformatted_2[2], '2a, 2m, 2sem, 2d'); + expect(textformatted_2[3], '2a 2m 2sem 2d'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_es_NI', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-NI', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_16[0], '16 años, 16 meses, 16 semanas y 16 días'); + expect(textformatted_16[1], '16 aa., 16 mm., 16 sems., 16 dd.'); + expect(textformatted_16[2], '16aa., 16mm., 16sems., 16dd.'); + expect(textformatted_16[3], '16aa. 16mm. 16sems. 16dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 horas, 16 minutos y 16 segundos'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_es_PA', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-PA', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_17[0], '17 años, 17 meses, 17 semanas y 17 días'); + expect(textformatted_17[1], '17 aa., 17 mm., 17 sems., 17 dd.'); + expect(textformatted_17[2], '17aa., 17mm., 17sems., 17dd.'); + expect(textformatted_17[3], '17aa. 17mm. 17sems. 17dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 horas, 17 minutos y 17 segundos'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_es_PE', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-PE', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_16[0], '16 años, 16 meses, 16 semanas y 16 días'); + expect(textformatted_16[1], '16 aa., 16 mm., 16 sems., 16 dd.'); + expect(textformatted_16[2], '16aa., 16mm., 16sems., 16dd.'); + expect(textformatted_16[3], '16aa. 16mm. 16sems. 16dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 horas, 16 minutos y 16 segundos'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_es_PR', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-PR', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_2[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_2[1], '2 aa., 2 mm., 2 sems., 2 dd.'); + expect(textformatted_2[2], '2aa., 2mm., 2sems., 2dd.'); + expect(textformatted_2[3], '2aa. 2mm. 2sems. 2dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_es_PY', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-PY', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 año, 1 mes, 1 sem., 1 día'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_2[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_2[1], '2 años, 2 meses, 2 sems., 2 días'); + expect(textformatted_2[2], '2aa., 2mm., 2sems., 2dd.'); + expect(textformatted_2[3], '2aa. 2mm. 2sems. 2dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 seg.'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 seg.'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_es_SV', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-SV', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_17[0], '17 años, 17 meses, 17 semanas y 17 días'); + expect(textformatted_17[1], '17 aa., 17 mm., 17 sems., 17 dd.'); + expect(textformatted_17[2], '17aa., 17mm., 17sems., 17dd.'); + expect(textformatted_17[3], '17aa. 17mm. 17sems. 17dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 horas, 17 minutos y 17 segundos'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_es_US', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-US', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a, 1 m, 1 sem., 1 día'); + expect(textformatted_1[2], '1a, 1m, 1sem., 1d'); + expect(textformatted_1[3], '1a 1m 1sem. 1d'); + + expect(textformatted_17[0], '17 años, 17 meses, 17 semanas y 17 días'); + expect(textformatted_17[1], '17 aa., 17 mm., 17 sems., 17 días'); + expect(textformatted_17[2], '17a, 17m, 17sems., 17d'); + expect(textformatted_17[3], '17a 17m 17sems. 17d'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 horas, 17 minutos y 17 segundos'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_es_UY', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-UY', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_2[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_2[1], '2 aa., 2 mm., 2 sems., 2 dd.'); + expect(textformatted_2[2], '2aa., 2mm., 2sems., 2dd.'); + expect(textformatted_2[3], '2aa. 2mm. 2sems. 2dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_es_VE', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-VE', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a., 1 m., 1 sem., 1 d.'); + expect(textformatted_1[2], '1a., 1m., 1sem., 1d.'); + expect(textformatted_1[3], '1a. 1m. 1sem. 1d.'); + + expect(textformatted_16[0], '16 años, 16 meses, 16 semanas y 16 días'); + expect(textformatted_16[1], '16 aa., 16 mm., 16 sems., 16 dd.'); + expect(textformatted_16[2], '16aa., 16mm., 16sems., 16dd.'); + expect(textformatted_16[3], '16aa. 16mm. 16sems. 16dd.'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 horas, 16 minutos y 16 segundos'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + + test('testDurFmt_et_EE', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'et-EE', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 aasta, 1 kuu, 1 nädal, 1 ööpäev'); + expect(textformatted_1[1], '1 a, 1 kuu, 1 näd, 1 päev'); + expect(textformatted_1[2], '1 a, 1 k, 1 n, 1 p'); + expect(textformatted_1[3], '1 a 1 k 1 n 1 p'); + + expect(textformatted_2[0], '2 aastat, 2 kuud, 2 nädalat, 2 ööpäeva'); + expect(textformatted_2[1], '2 a, 2 kuud, 2 näd, 2 päeva'); + expect(textformatted_2[2], '2 a, 2 k, 2 n, 2 p'); + expect(textformatted_2[3], '2 a 2 k 2 n 2 p'); + + expect(clockformatted_1[0], '1 tund, 1 minut, 1 sekund'); + expect(clockformatted_1[1], '1 t, 1 min, 1 sek'); + expect(clockformatted_1[2], '1 t, 1 min, 1 s'); + expect(clockformatted_1[3], '1 t 1 min 1 s'); + + expect(clockformatted_2[0], '2 tundi, 2 minutit, 2 sekundit'); + expect(clockformatted_2[1], '2 t, 2 min, 2 sek'); + expect(clockformatted_2[2], '2 t, 2 min, 2 s'); + expect(clockformatted_2[3], '2 t 2 min 2 s'); + }); + test('testDurFmt_fa_AF', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fa-AF', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '‏1 سال،‏ 1 ماه،‏ 1 هفته، و 1 روز'); + expect(textformatted_1[1], '‏1 سال،‏ 1 ماه،‏ 1 هفته،‏ 1 روز'); + expect(textformatted_1[2], '‏1 سال 1 ماه 1 هفته 1 روز'); + expect(textformatted_1[3], '‏1 سال 1 ماه 1 هفته 1 روز'); + + expect(textformatted_2[0], '‏2 سال،‏ 2 ماه،‏ 2 هفته، و 2 روز'); + expect(textformatted_2[1], '‏2 سال،‏ 2 ماه،‏ 2 هفته،‏ 2 روز'); + expect(textformatted_2[2], '‏2 سال 2 ماه 2 هفته 2 روز'); + expect(textformatted_2[3], '‏2 سال 2 ماه 2 هفته 2 روز'); + + expect(clockformatted_1[0], '‏1 ساعت،‏ 1 دقیقه، و 1 ثانیه'); + expect(clockformatted_1[1], '‏1 ساعت،‏ 1 دقیقه،‏ 1 ثانیه'); + expect(clockformatted_1[2], '‏1 ساعت 1 دقیقه 1 ث'); + expect(clockformatted_1[3], '‏1 ساعت 1 دقیقه 1 ث'); + + expect(clockformatted_2[0], '‏2 ساعت،‏ 2 دقیقه، و 2 ثانیه'); + expect(clockformatted_2[1], '‏2 ساعت،‏ 2 دقیقه،‏ 2 ثانیه'); + expect(clockformatted_2[2], '‏2 ساعت 2 دقیقه 2 ث'); + expect(clockformatted_2[3], '‏2 ساعت 2 دقیقه 2 ث'); + }); + test('testDurFmt_fa_IR', () { + // 1 18 + final List textformatted_1 = []; + final List textformatted_18 = []; + final List clockformatted_1 = []; + final List clockformatted_18 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fa-IR', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_18.add(fmt + .format(ILibDateOptions(year: 18, month: 18, week: 18, day: 18))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_18 + .add(fmt.format(ILibDateOptions(hour: 18, minute: 18, second: 18))); + } + + expect(textformatted_1[0], '‏1 سال،‏ 1 ماه،‏ 1 هفته، و 1 روز'); + expect(textformatted_1[1], '‏1 سال،‏ 1 ماه،‏ 1 هفته،‏ 1 روز'); + expect(textformatted_1[2], '‏1 سال 1 ماه 1 هفته 1 روز'); + expect(textformatted_1[3], '‏1 سال 1 ماه 1 هفته 1 روز'); + + expect(textformatted_18[0], '‏18 سال،‏ 18 ماه،‏ 18 هفته، و 18 روز'); + expect(textformatted_18[1], '‏18 سال،‏ 18 ماه،‏ 18 هفته،‏ 18 روز'); + expect(textformatted_18[2], '‏18 سال 18 ماه 18 هفته 18 روز'); + expect(textformatted_18[3], '‏18 سال 18 ماه 18 هفته 18 روز'); + + expect(clockformatted_1[0], '‏1 ساعت،‏ 1 دقیقه، و 1 ثانیه'); + expect(clockformatted_1[1], '‏1 ساعت،‏ 1 دقیقه،‏ 1 ثانیه'); + expect(clockformatted_1[2], '‏1 ساعت 1 دقیقه 1 ث'); + expect(clockformatted_1[3], '‏1 ساعت 1 دقیقه 1 ث'); + + expect(clockformatted_18[0], '‏18 ساعت،‏ 18 دقیقه، و 18 ثانیه'); + expect(clockformatted_18[1], '‏18 ساعت،‏ 18 دقیقه،‏ 18 ثانیه'); + expect(clockformatted_18[2], '‏18 ساعت 18 دقیقه 18 ث'); + expect(clockformatted_18[3], '‏18 ساعت 18 دقیقه 18 ث'); + }); + test('testDurFmt_fi_FI', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fi-FI', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 vuosi, 1 kuukausi, 1 viikko ja 1 päivä'); + expect(textformatted_1[1], '1 v, 1 kk, 1 vk, 1 pv'); + expect(textformatted_1[2], '1v, 1kk, 1vk, 1pv'); + expect(textformatted_1[3], '1v 1kk 1vk 1pv'); + + expect(textformatted_17[0], + '17 vuotta, 17 kuukautta, 17 viikkoa ja 17 päivää'); + expect(textformatted_17[1], '17 v, 17 kk, 17 vk, 17 pv'); + expect(textformatted_17[2], '17v, 17kk, 17vk, 17pv'); + expect(textformatted_17[3], '17v 17kk 17vk 17pv'); + + expect(clockformatted_1[0], '1 tunti, 1 minuutti ja 1 sekunti'); + expect(clockformatted_1[1], '1 t, 1 min, 1 s'); + expect(clockformatted_1[2], '1t, 1min, 1s'); + expect(clockformatted_1[3], '1t 1min 1s'); + + expect(clockformatted_17[0], '17 tuntia, 17 minuuttia ja 17 sekuntia'); + expect(clockformatted_17[1], '17 t, 17 min, 17 s'); + expect(clockformatted_17[2], '17t, 17min, 17s'); + expect(clockformatted_17[3], '17t 17min 17s'); + }); + test('testDurFmt_fr_BE', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-BE', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_16[0], '16 ans, 16 mois, 16 semaines et 16 jours'); + expect(textformatted_16[1], '16 ans, 16 m., 16 sem., 16 j'); + expect(textformatted_16[2], '16a, 16m., 16sem., 16j'); + expect(textformatted_16[3], '16a 16m. 16sem. 16j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 heures, 16 minutes et 16 secondes'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_fr_CA', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-CA', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m, 1sem, 1j'); + expect(textformatted_1[3], '1a 1m 1sem 1j'); + + expect(textformatted_17[0], '17 ans, 17 mois, 17 semaines et 17 jours'); + expect(textformatted_17[1], '17 ans, 17 m., 17 sem., 17 j'); + expect(textformatted_17[2], '17a, 17m, 17sem, 17j'); + expect(textformatted_17[3], '17a 17m 17sem 17j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_17[0], '17 heures, 17 minutes et 17 secondes'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17m, 17s'); + expect(clockformatted_17[3], '17h 17m 17s'); + }); + test('testDurFmt_fr_CH', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-CH', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_17[0], '17 ans, 17 mois, 17 semaines et 17 jours'); + expect(textformatted_17[1], '17 ans, 17 m., 17 sem., 17 j'); + expect(textformatted_17[2], '17a, 17m., 17sem., 17j'); + expect(textformatted_17[3], '17a 17m. 17sem. 17j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 heures, 17 minutes et 17 secondes'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_fr_FR', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-FR', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_17[0], '17 ans, 17 mois, 17 semaines et 17 jours'); + expect(textformatted_17[1], '17 ans, 17 m., 17 sem., 17 j'); + expect(textformatted_17[2], '17a, 17m., 17sem., 17j'); + expect(textformatted_17[3], '17a 17m. 17sem. 17j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 heures, 17 minutes et 17 secondes'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_fr_LU', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-LU', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_16[0], '16 ans, 16 mois, 16 semaines et 16 jours'); + expect(textformatted_16[1], '16 ans, 16 m., 16 sem., 16 j'); + expect(textformatted_16[2], '16a, 16m., 16sem., 16j'); + expect(textformatted_16[3], '16a 16m. 16sem. 16j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 heures, 16 minutes et 16 secondes'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + + test('testDurFmt_ga_IE', () { + // 1 2 3 7 11 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_7 = []; + final List textformatted_11 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_7 = []; + final List clockformatted_11 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ga-IE', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_7.add( + fmt.format(ILibDateOptions(year: 7, month: 7, week: 7, day: 7))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_7 + .add(fmt.format(ILibDateOptions(hour: 7, minute: 7, second: 7))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + } + + expect(textformatted_1[0], '1 bhliain, 1 mhí, 1 scht agus 1 lá'); + expect(textformatted_1[1], '1 bl, 1 mí, 1 scht, 1 lá'); + expect(textformatted_1[2], '1 bl, 1m, 1 scht, 1 lá'); + expect(textformatted_1[3], '1 bl 1m 1 scht 1 lá'); + + expect(textformatted_2[0], '2 bhl, 2 mhí, 2 scht agus 2 lá'); + expect(textformatted_2[1], '2 bl, 2 mí, 2 scht, 2 lá'); + expect(textformatted_2[2], '2 bl, 2m, 2 scht, 2 lá'); + expect(textformatted_2[3], '2 bl 2m 2 scht 2 lá'); + + expect(textformatted_3[0], '3 bl, 3 mhí, 3 scht agus 3 lá'); + expect(textformatted_3[1], '3 bl, 3 mí, 3 scht, 3 lá'); + expect(textformatted_3[2], '3 bl, 3m, 3 scht, 3 lá'); + expect(textformatted_3[3], '3 bl 3m 3 scht 3 lá'); + + expect(textformatted_7[0], '7 mbl, 7 mí, 7 scht agus 7 lá'); + expect(textformatted_7[1], '7 bl, 7 mí, 7 scht, 7 lá'); + expect(textformatted_7[2], '7 bl, 7m, 7 scht, 7 lá'); + expect(textformatted_7[3], '7 bl 7m 7 scht 7 lá'); + + expect(textformatted_11[0], '11 bl, 11 mí, 11 scht agus 11 lá'); + expect(textformatted_11[1], '11 bl, 11 m, 11 scht, 11 lá'); + expect(textformatted_11[2], '11 bl, 11 m, 11 scht, 11 lá'); + expect(textformatted_11[3], '11 bl 11 m 11 scht 11 lá'); + + expect(clockformatted_1[0], '1 u, 1 nóim agus 1 soic'); + expect(clockformatted_1[1], '1 u, 1 nóim, 1 soic'); + expect(clockformatted_1[2], '1 u, 1 nóim, 1 soic'); + expect(clockformatted_1[3], '1 u 1 nóim 1 soic'); + + expect(clockformatted_2[0], '2 u, 2 nóim agus 2 shoic'); + expect(clockformatted_2[1], '2 u, 2 nóim, 2 soic'); + expect(clockformatted_2[2], '2 u, 2 nóim, 2 soic'); + expect(clockformatted_2[3], '2 u 2 nóim 2 soic'); + + expect(clockformatted_3[0], '3 u, 3 nóim agus 3 shoic'); + expect(clockformatted_3[1], '3 u, 3 nóim, 3 soic'); + expect(clockformatted_3[2], '3 u, 3 nóim, 3 soic'); + expect(clockformatted_3[3], '3 u 3 nóim 3 soic'); + + expect(clockformatted_7[0], '7 u, 7 nóim agus 7 soic'); + expect(clockformatted_7[1], '7 u, 7 nóim, 7 soic'); + expect(clockformatted_7[2], '7 u, 7n, 7 soic'); + expect(clockformatted_7[3], '7 u 7n 7 soic'); + + expect(clockformatted_11[0], '11 u, 11 nóim agus 11 soic'); + expect(clockformatted_11[1], '11 u, 11 nóim, 11 soic'); + expect(clockformatted_11[2], '11 u, 11 nóim, 11 soic'); + expect(clockformatted_11[3], '11 u 11 nóim 11 soic'); + }); + test('testDurFmt_gu_IN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'gu-IN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 વર્ષ, 1 મહિનો, 1 અઠવાડિયું, 1 દિવસ'); + expect(textformatted_1[1], '1 વર્ષ, 1 મહિનો, 1 અઠ., 1 દિવસ'); + expect(textformatted_1[2], '1 વ, 1 મ, 1 અઠ., 1 દિ'); + expect(textformatted_1[3], '1 વ, 1 મ, 1 અઠ., 1 દિ'); + + expect(textformatted_2[0], '2 વર્ષ, 2 મહિના, 2 અઠવાડિયા, 2 દિવસ'); + expect(textformatted_2[1], '2 વર્ષ, 2 મહિના, 2 અઠ., 2 દિવસ'); + expect(textformatted_2[2], '2 વ, 2 મ, 2 અઠ., 2 દિ'); + expect(textformatted_2[3], '2 વ, 2 મ, 2 અઠ., 2 દિ'); + + expect(clockformatted_1[0], '1 કલાક, 1 મિનિટ, 1 સેકંડ'); + expect(clockformatted_1[1], '1 કલાક, 1 મિનિટ, 1 સેકંડ'); + expect(clockformatted_1[2], '1 ક, 1 મિ, 1 સે'); + expect(clockformatted_1[3], '1 ક, 1 મિ, 1 સે'); + + expect(clockformatted_2[0], '2 કલાક, 2 મિનિટ, 2 સેકંડ'); + expect(clockformatted_2[1], '2 કલાક, 2 મિનિટ, 2 સેકંડ'); + expect(clockformatted_2[2], '2 ક, 2 મિ, 2 સે'); + expect(clockformatted_2[3], '2 ક, 2 મિ, 2 સે'); + }); + test('testDurFmt_he_IL', () { + // 1 2 20 19 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_20 = []; + final List textformatted_19 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_20 = []; + final List clockformatted_19 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'he-IL', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_20.add(fmt + .format(ILibDateOptions(year: 20, month: 20, week: 20, day: 20))); + textformatted_19.add(fmt + .format(ILibDateOptions(year: 19, month: 19, week: 19, day: 19))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_20 + .add(fmt.format(ILibDateOptions(hour: 20, minute: 20, second: 20))); + clockformatted_19 + .add(fmt.format(ILibDateOptions(hour: 19, minute: 19, second: 19))); + } + + expect(textformatted_1[0], '‏1 שנה, 1 חודש, 1 שבוע ו-1 יום'); + expect(textformatted_1[1], '‏1 שנה, 1 ח׳, 1 שבוע, 1 יום'); + expect(textformatted_1[2], '‏1 ש′ 1 ח׳ 1 ש′ 1 י׳'); + expect(textformatted_1[3], '‏1 ש′ 1 ח׳ 1 ש′ 1 י׳'); + + expect(textformatted_2[0], '‏2 שנים, חודשיים, שבועיים ו-יומיים'); + expect(textformatted_2[1], '‏2 שנים, 2 ח׳, שבועיים, יומיים'); + expect(textformatted_2[2], '‏2 ש′ 2 ח׳ 2 ש′ 2 י׳'); + expect(textformatted_2[3], '‏2 ש′ 2 ח׳ 2 ש′ 2 י׳'); + + expect(textformatted_19[0], '‏19 שנים, 19 חודשים, 19 שבועות ו-19 ימים'); + expect(textformatted_19[1], '‏19 שנים, 19 ח׳, 19 שבועות, 19 ימ׳'); + expect(textformatted_19[2], '‏19 ש′ 19 ח׳ 19 ש′ 19 י׳'); + expect(textformatted_19[3], '‏19 ש′ 19 ח׳ 19 ש′ 19 י׳'); + + expect(clockformatted_1[0], '‏1 שעה, 1 דקה ו-1 שניה'); + expect(clockformatted_1[1], '‏1 שעה, 1 דק׳, 1 שנ׳'); + expect(clockformatted_1[2], '‏1 שע׳ 1 דק׳ 1 שנ׳'); + expect(clockformatted_1[3], '‏1 שע׳ 1 דק׳ 1 שנ׳'); + + expect(clockformatted_2[0], '‏שעתיים, שתי דקות ו-שתי שניות'); + expect(clockformatted_2[1], '‏שעתיים, 2 דק׳, 2 שנ׳'); + expect(clockformatted_2[2], '‏2 שע׳ 2 דק׳ 2 שנ׳'); + expect(clockformatted_2[3], '‏2 שע׳ 2 דק׳ 2 שנ׳'); + + expect(clockformatted_19[0], '‏19 שעות, 19 דקות ו-19 שניות'); + expect(clockformatted_19[1], '‏19 שע׳, 19 דק׳, 19 שנ׳'); + expect(clockformatted_19[2], '‏19 שע׳ 19 דק׳ 19 שנ׳'); + expect(clockformatted_19[3], '‏19 שע׳ 19 דק׳ 19 שנ׳'); + + expect(textformatted_20[0], '‏20 שנים, 20 חודשים, 20 שבועות ו-20 ימים'); + expect(textformatted_20[2], '‏20 ש′ 20 ח׳ 20 ש′ 20 י׳'); + expect(textformatted_20[3], '‏20 ש′ 20 ח׳ 20 ש′ 20 י׳'); + expect(textformatted_20[1], '‏20 שנים, 20 ח׳, 20 שבועות, 20 ימ׳'); + + expect(clockformatted_20[0], '‏20 שעות, 20 דקות ו-20 שניות'); + expect(clockformatted_20[1], '‏20 שע׳, 20 דק׳, 20 שנ׳'); + expect(clockformatted_20[2], '‏20 שע׳ 20 דק׳ 20 שנ׳'); + expect(clockformatted_20[3], '‏20 שע׳ 20 דק׳ 20 שנ׳'); + }); + + test('testDurFmt_hi_IN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'hi-IN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 वर्ष, 1 महीना, 1 सप्ताह, और 1 दिन'); + expect(textformatted_1[1], '1 वर्ष, 1 माह, 1 सप्ताह, 1 दिन'); + expect(textformatted_1[2], '1 व, 1 माह, 1 सप्ताह, 1 दि'); + expect(textformatted_1[3], '1 व, 1 माह, 1 सप्ताह, 1 दि'); + + expect(textformatted_2[0], '2 वर्ष, 2 महीने, 2 सप्ताह, और 2 दिन'); + expect(textformatted_2[1], '2 वर्ष, 2 माह, 2 सप्ताह, 2 दिन'); + expect(textformatted_2[2], '2 व, 2 माह, 2 सप्ताह, 2 दि'); + expect(textformatted_2[3], '2 व, 2 माह, 2 सप्ताह, 2 दि'); + + expect(clockformatted_1[0], '1 घंटा, 1 मिनट, और 1 सेकंड'); + expect(clockformatted_1[1], '1 घं॰, 1 मि॰, 1 से॰'); + expect(clockformatted_1[2], '1 घं, 1 मि, 1 से'); + expect(clockformatted_1[3], '1 घं, 1 मि, 1 से'); + + expect(clockformatted_2[0], '2 घंटे, 2 मिनट, और 2 सेकंड'); + expect(clockformatted_2[1], '2 घं॰, 2 मि॰, 2 से॰'); + expect(clockformatted_2[2], '2 घं, 2 मि, 2 से'); + expect(clockformatted_2[3], '2 घं, 2 मि, 2 से'); + }); + test('testDurFmt_hr_HR', () { + // 1 2 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'hr-HR', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 godina, 1 mjesec, 1 tjedan i 1 dan'); + expect(textformatted_1[1], '1 g., 1 mj., 1 tj., 1 dan'); + expect(textformatted_1[2], '1 g., 1 mj., 1 tj., 1 d.'); + expect(textformatted_1[3], '1 g. 1 mj. 1 tj. 1 d.'); + + expect(textformatted_2[0], '2 godine, 2 mjeseca, 2 tjedna i 2 dana'); + expect(textformatted_2[1], '2 g., 2 mj., 2 tj., 2 dana'); + expect(textformatted_2[2], '2 g., 2 mj., 2 tj., 2 d.'); + expect(textformatted_2[3], '2 g. 2 mj. 2 tj. 2 d.'); + + expect(textformatted_5[0], '5 godina, 5 mjeseci, 5 tjedana i 5 dana'); + expect(textformatted_5[1], '5 g., 5 mj., 5 tj., 5 dana'); + expect(textformatted_5[2], '5 g., 5 mj., 5 tj., 5 d.'); + expect(textformatted_5[3], '5 g. 5 mj. 5 tj. 5 d.'); + + expect(clockformatted_1[0], '1 sat, 1 minuta i 1 sekunda'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1 h, 1 m, 1 s'); + expect(clockformatted_1[3], '1 h 1 m 1 s'); + + expect(clockformatted_2[0], '2 sata, 2 minute i 2 sekunde'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2 h, 2 m, 2 s'); + expect(clockformatted_2[3], '2 h 2 m 2 s'); + + expect(clockformatted_5[0], '5 sati, 5 minuta i 5 sekundi'); + expect(clockformatted_5[1], '5 h, 5 min, 5 s'); + expect(clockformatted_5[2], '5 h, 5 m, 5 s'); + expect(clockformatted_5[3], '5 h 5 m 5 s'); + }); + test('testDurFmt_hr_ME', () { + // 1 4 19 + final List textformatted_1 = []; + final List textformatted_4 = []; + final List textformatted_19 = []; + final List clockformatted_1 = []; + final List clockformatted_4 = []; + final List clockformatted_19 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'hr-ME', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_4.add( + fmt.format(ILibDateOptions(year: 4, month: 4, week: 4, day: 4))); + textformatted_19.add(fmt + .format(ILibDateOptions(year: 19, month: 19, week: 19, day: 19))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_4 + .add(fmt.format(ILibDateOptions(hour: 4, minute: 4, second: 4))); + clockformatted_19 + .add(fmt.format(ILibDateOptions(hour: 19, minute: 19, second: 19))); + } + + expect(textformatted_1[0], '1 godina, 1 mjesec, 1 tjedan i 1 dan'); + expect(textformatted_1[1], '1 g., 1 mj., 1 tj., 1 dan'); + expect(textformatted_1[2], '1 g., 1 mj., 1 tj., 1 d.'); + expect(textformatted_1[3], '1 g. 1 mj. 1 tj. 1 d.'); + + expect(textformatted_4[0], '4 godine, 4 mjeseca, 4 tjedna i 4 dana'); + expect(textformatted_4[1], '4 g., 4 mj., 4 tj., 4 dana'); + expect(textformatted_4[2], '4 g., 4 mj., 4 tj., 4 d.'); + expect(textformatted_4[3], '4 g. 4 mj. 4 tj. 4 d.'); + + expect( + textformatted_19[0], '19 godina, 19 mjeseci, 19 tjedana i 19 dana'); + expect(textformatted_19[1], '19 g., 19 mj., 19 tj., 19 dana'); + expect(textformatted_19[2], '19 g., 19 mj., 19 tj., 19 d.'); + expect(textformatted_19[3], '19 g. 19 mj. 19 tj. 19 d.'); + + expect(clockformatted_1[0], '1 sat, 1 minuta i 1 sekunda'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1 h, 1 m, 1 s'); + expect(clockformatted_1[3], '1 h 1 m 1 s'); + + expect(clockformatted_4[0], '4 sata, 4 minute i 4 sekunde'); + expect(clockformatted_4[1], '4 h, 4 min, 4 s'); + expect(clockformatted_4[2], '4 h, 4 m, 4 s'); + expect(clockformatted_4[3], '4 h 4 m 4 s'); + + expect(clockformatted_19[0], '19 sati, 19 minuta i 19 sekundi'); + expect(clockformatted_19[1], '19 h, 19 min, 19 s'); + expect(clockformatted_19[2], '19 h, 19 m, 19 s'); + expect(clockformatted_19[3], '19 h 19 m 19 s'); + }); + test('testDurFmt_hr_HU', () { + // 1 2 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'hr-HU', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 godina, 1 mjesec, 1 tjedan i 1 dan'); + expect(textformatted_1[1], '1 g., 1 mj., 1 tj., 1 dan'); + expect(textformatted_1[2], '1 g., 1 mj., 1 tj., 1 d.'); + expect(textformatted_1[3], '1 g. 1 mj. 1 tj. 1 d.'); + + expect(textformatted_2[0], '2 godine, 2 mjeseca, 2 tjedna i 2 dana'); + expect(textformatted_2[1], '2 g., 2 mj., 2 tj., 2 dana'); + expect(textformatted_2[2], '2 g., 2 mj., 2 tj., 2 d.'); + expect(textformatted_2[3], '2 g. 2 mj. 2 tj. 2 d.'); + + expect(textformatted_5[0], '5 godina, 5 mjeseci, 5 tjedana i 5 dana'); + expect(textformatted_5[1], '5 g., 5 mj., 5 tj., 5 dana'); + expect(textformatted_5[2], '5 g., 5 mj., 5 tj., 5 d.'); + expect(textformatted_5[3], '5 g. 5 mj. 5 tj. 5 d.'); + + expect(clockformatted_1[0], '1 sat, 1 minuta i 1 sekunda'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1 h, 1 m, 1 s'); + expect(clockformatted_1[3], '1 h 1 m 1 s'); + + expect(clockformatted_2[0], '2 sata, 2 minute i 2 sekunde'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2 h, 2 m, 2 s'); + expect(clockformatted_2[3], '2 h 2 m 2 s'); + + expect(clockformatted_5[0], '5 sati, 5 minuta i 5 sekundi'); + expect(clockformatted_5[1], '5 h, 5 min, 5 s'); + expect(clockformatted_5[2], '5 h, 5 m, 5 s'); + expect(clockformatted_5[3], '5 h 5 m 5 s'); + }); + test('testDurFmt_id_ID', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'id-ID', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 tahun, 1 bulan, 1 minggu, 1 hari'); + expect(textformatted_1[1], '1 thn, 1 bln, 1 mgg, 1 hr'); + expect(textformatted_1[2], '1 thn, 1 bln, 1 mgg, 1 hr'); + expect(textformatted_1[3], '1 thn, 1 bln, 1 mgg, 1 hr'); + + expect(textformatted_2[0], '2 tahun, 2 bulan, 2 minggu, 2 hari'); + expect(textformatted_2[1], '2 thn, 2 bln, 2 mgg, 2 hr'); + expect(textformatted_2[2], '2 thn, 2 bln, 2 mgg, 2 hr'); + expect(textformatted_2[3], '2 thn, 2 bln, 2 mgg, 2 hr'); + + expect(clockformatted_1[0], '1 jam, 1 menit, 1 detik'); + expect(clockformatted_1[1], '1 j, 1 mnt, 1 dtk'); + expect(clockformatted_1[2], '1 j, 1 mnt, 1 dtk'); + expect(clockformatted_1[3], '1 j, 1 mnt, 1 dtk'); + + expect(clockformatted_2[0], '2 jam, 2 menit, 2 detik'); + expect(clockformatted_2[1], '2 j, 2 mnt, 2 dtk'); + expect(clockformatted_2[2], '2 j, 2 mnt, 2 dtk'); + expect(clockformatted_2[3], '2 j, 2 mnt, 2 dtk'); + }); + test('testDurFmt_is_IS', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'is-IS', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 ár, 1 mánuður, 1 vika og 1 dagur'); + expect(textformatted_1[1], '1 ár, 1 mán., 1 vika, 1 dagur'); + expect(textformatted_1[2], '1á, 1 mán., 1 v., 1 d.'); + expect(textformatted_1[3], '1á 1 mán. 1 v. 1 d.'); + + expect(textformatted_17[0], '17 ár, 17 mánuðir, 17 vikur og 17 dagar'); + expect(textformatted_17[1], '17 ár, 17 mán., 17 vikur, 17 dagar'); + expect(textformatted_17[2], '17á, 17 mán., 17 v., 17 d.'); + expect(textformatted_17[3], '17á 17 mán. 17 v. 17 d.'); + + expect(clockformatted_1[0], '1 klukkustund, 1 mínúta og 1 sekúnda'); + expect(clockformatted_1[1], '1 klst., 1 mín., 1 sek.'); + expect(clockformatted_1[2], '1 klst., 1 mín., 1 sek.'); + expect(clockformatted_1[3], '1 klst. 1 mín. 1 sek.'); + + expect( + clockformatted_17[0], '17 klukkustundir, 17 mínútur og 17 sekúndur'); + expect(clockformatted_17[1], '17 klst., 17 mín., 17 sek.'); + expect(clockformatted_17[2], '17 klst., 17 mín., 17 sek.'); + expect(clockformatted_17[3], '17 klst. 17 mín. 17 sek.'); + }); + test('testDurFmt_it_CH', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'it-CH', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 anno, 1 mese, 1 settimana e 1 giorno'); + expect(textformatted_1[1], '1 anno, 1 mese, 1 sett., 1 giorno'); + expect(textformatted_1[2], '1anno, 1 mese, 1sett., 1g'); + expect(textformatted_1[3], '1anno 1 mese 1sett. 1g'); + + expect(textformatted_17[0], '17 anni, 17 mesi, 17 settimane e 17 giorni'); + expect(textformatted_17[1], '17 anni, 17 mesi, 17 sett., 17 giorni'); + expect(textformatted_17[2], '17anni, 17 mesi, 17sett., 17gg'); + expect(textformatted_17[3], '17anni 17 mesi 17sett. 17gg'); + + expect(clockformatted_1[0], '1 ora, 1 minuto e 1 secondo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 ore, 17 minuti e 17 secondi'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_it_IT', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'it-IT', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 anno, 1 mese, 1 settimana e 1 giorno'); + expect(textformatted_1[1], '1 anno, 1 mese, 1 sett., 1 giorno'); + expect(textformatted_1[2], '1anno, 1 mese, 1sett., 1g'); + expect(textformatted_1[3], '1anno 1 mese 1sett. 1g'); + + expect(textformatted_2[0], '2 anni, 2 mesi, 2 settimane e 2 giorni'); + expect(textformatted_2[1], '2 anni, 2 mesi, 2 sett., 2 giorni'); + expect(textformatted_2[2], '2anni, 2 mesi, 2sett., 2gg'); + expect(textformatted_2[3], '2anni 2 mesi 2sett. 2gg'); + + expect(clockformatted_1[0], '1 ora, 1 minuto e 1 secondo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 ore, 2 minuti e 2 secondi'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_ja_JP', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ja-JP', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 年 1 か月 1 週間 1 日'); + expect(textformatted_1[1], '1 年 1 か月 1 週間 1 日'); + expect(textformatted_1[2], '1y1m1w1d'); + expect(textformatted_1[3], '1y1m1w1d'); + + expect(textformatted_16[0], '16 年 16 か月 16 週間 16 日'); + expect(textformatted_16[1], '16 年 16 か月 16 週間 16 日'); + expect(textformatted_16[2], '16y16m16w16d'); + expect(textformatted_16[3], '16y16m16w16d'); + + expect(clockformatted_1[0], '1 時間 1 分 1 秒'); + expect(clockformatted_1[1], '1 時間 1 分 1 秒'); + expect(clockformatted_1[2], '1h1m1s'); + expect(clockformatted_1[3], '1h1m1s'); + + expect(clockformatted_16[0], '16 時間 16 分 16 秒'); + expect(clockformatted_16[1], '16 時間 16 分 16 秒'); + expect(clockformatted_16[2], '16h16m16s'); + expect(clockformatted_16[3], '16h16m16s'); + }); + test('testDurFmt_kk_KZ', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'kk-KZ', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 жыл 1 ай 1 апта 1 күн'); + expect(textformatted_1[1], '1 ж. 1 ай 1 ап. 1 күн'); + expect(textformatted_1[2], '1 ж. 1 ай 1 ап. 1 к.'); + expect(textformatted_1[3], '1 ж. 1 ай 1 ап. 1 к.'); + + expect(textformatted_2[0], '2 жыл 2 ай 2 апта 2 күн'); + expect(textformatted_2[1], '2 ж. 2 ай 2 ап. 2 күн'); + expect(textformatted_2[2], '2 ж. 2 ай 2 ап. 2 к.'); + expect(textformatted_2[3], '2 ж. 2 ай 2 ап. 2 к.'); + + expect(clockformatted_1[0], '1 сағат 1 минут 1 секунд'); + expect(clockformatted_1[1], '1 сағ 1 мин 1 с'); + expect(clockformatted_1[2], '1 сағ 1 мин 1 с'); + expect(clockformatted_1[3], '1 сағ 1 мин 1 с'); + + expect(clockformatted_2[0], '2 сағат 2 минут 2 секунд'); + expect(clockformatted_2[1], '2 сағ 2 мин 2 с'); + expect(clockformatted_2[2], '2 сағ 2 мин 2 с'); + expect(clockformatted_2[3], '2 сағ 2 мин 2 с'); + }); + test('testDurFmt_kn_IN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'kn-IN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 ವರ್ಷವು, 1 ತಿಂಗಳು, 1 ವಾರವು, 1 ದಿನವು'); + expect(textformatted_1[1], '1 ವರ್ಷ, 1 ತಿಂ., 1 ವಾರ, 1 ದಿನ'); + expect(textformatted_1[2], '1ವ, 1ತಿಂ., 1ವಾ, 1ದಿ'); + expect(textformatted_1[3], '1ವ, 1ತಿಂ., 1ವಾ, 1ದಿ'); + + expect(textformatted_2[0], '2 ವರ್ಷಗಳು, 2 ತಿಂಗಳು, 2 ವಾರಗಳು, 2 ದಿನಗಳು'); + expect(textformatted_2[1], '2 ವರ್ಷಗಳು, 2 ತಿಂ.ಗಳು, 2 ವಾರಗಳು, 2 ದಿನಗಳು'); + expect(textformatted_2[2], '2ವ, 2ತಿಂ., 2ವಾ, 2ದಿ'); + expect(textformatted_2[3], '2ವ, 2ತಿಂ., 2ವಾ, 2ದಿ'); + + expect(clockformatted_1[0], '1 ಗಂಟೆಯು, 1 ನಿಮಿಷವು, 1 ಸೆಕೆಂಡ್'); + expect(clockformatted_1[1], '1 ಗಂ., 1 ನಿಮಿ, 1 ಸೆಕೆಂ'); + expect(clockformatted_1[2], '1ಗಂ., 1ನಿಮಿ, 1ಸೆಕೆಂ'); + expect(clockformatted_1[3], '1ಗಂ., 1ನಿಮಿ, 1ಸೆಕೆಂ'); + + expect(clockformatted_2[0], '2 ಗಂಟೆಗಳು, 2 ನಿಮಿಷಗಳು, 2 ಸೆಕೆಂಡುಗಳು'); + expect(clockformatted_2[1], '2 ಗಂ., 2 ನಿಮಿ, 2 ಸೆಕೆಂ'); + expect(clockformatted_2[2], '2ಗಂ., 2ನಿಮಿ, 2 ಸೆಕೆಂ'); + expect(clockformatted_2[3], '2ಗಂ., 2ನಿಮಿ, 2 ಸೆಕೆಂ'); + }); + test('testDurFmt_ko_KR', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ko-KR', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1년 1개월 1주 1일'); + expect(textformatted_1[1], '1년 1개월 1주 1일'); + expect(textformatted_1[2], '1년 1개월 1주 1일'); + expect(textformatted_1[3], '1년 1개월 1주 1일'); + + expect(textformatted_2[0], '2년 2개월 2주 2일'); + expect(textformatted_2[1], '2년 2개월 2주 2일'); + expect(textformatted_2[2], '2년 2개월 2주 2일'); + expect(textformatted_2[3], '2년 2개월 2주 2일'); + + expect(clockformatted_1[0], '1시간 1분 1초'); + expect(clockformatted_1[1], '1시간 1분 1초'); + expect(clockformatted_1[2], '1시간 1분 1초'); + expect(clockformatted_1[3], '1시간 1분 1초'); + + expect(clockformatted_2[0], '2시간 2분 2초'); + expect(clockformatted_2[1], '2시간 2분 2초'); + expect(clockformatted_2[2], '2시간 2분 2초'); + expect(clockformatted_2[3], '2시간 2분 2초'); + }); + test('testDurFmt_ku_IQ', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ku-IQ', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '‏1 ساڵ, 1 مانگ, 1 هەفتە, 1 رۆژ'); + expect(textformatted_1[1], '‏1 ساڵ 1 مانگ 1 هەفتە 1 رۆژ'); + expect(textformatted_1[2], '‏1س 1م 1ﻪـ 1ر'); + expect(textformatted_1[3], '‏1س 1م 1ﻪـ 1ر'); + + expect(textformatted_2[0], '‏2 ساڵ, 2 مانگ, 2 هەفتە, 2 رۆژ'); + expect(textformatted_2[1], '‏2 ساڵ 2 مانگ 2 هەفتە 2 رۆژ'); + expect(textformatted_2[2], '‏2س 2م 2ﻪـ 2ر'); + expect(textformatted_2[3], '‏2س 2م 2ﻪـ 2ر'); + + expect(clockformatted_1[0], '‏1 کاتژمێر, 1 خولەک, 1 چرکە'); + expect(clockformatted_1[1], '‏1 کاتژ 1 خول 1 چرک'); + expect(clockformatted_1[2], '‏1ک 1خ 1چ'); + expect(clockformatted_1[3], '‏1ک 1خ 1چ'); + + expect(clockformatted_2[0], '‏2 کاتژمێر, 2 خولەک, 2 چرکە'); + expect(clockformatted_2[1], '‏2 کاتژ 2 خول 2 چرک'); + expect(clockformatted_2[2], '‏2ک 2خ 2چ'); + expect(clockformatted_2[3], '‏2ک 2خ 2چ'); + }); + test('testDurFmt_lt_LT', () { + // 21 9 11 + final List textformatted_21 = []; + final List textformatted_9 = []; + final List textformatted_11 = []; + final List clockformatted_21 = []; + final List clockformatted_9 = []; + final List clockformatted_11 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'lt-LT', style: 'text', length: length[i])); + + textformatted_21.add(fmt + .format(ILibDateOptions(year: 21, month: 21, week: 21, day: 21))); + textformatted_9.add( + fmt.format(ILibDateOptions(year: 9, month: 9, week: 9, day: 9))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + + clockformatted_21 + .add(fmt.format(ILibDateOptions(hour: 21, minute: 21, second: 21))); + clockformatted_9 + .add(fmt.format(ILibDateOptions(hour: 9, minute: 9, second: 9))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + } + + expect(textformatted_21[0], '21 metai 21 mėnuo 21 savaitė ir 21 diena'); + expect(textformatted_21[1], '21 m. 21 mėn. 21 sav. 21 d.'); + expect(textformatted_21[2], '21 m. 21 mėn. 21 sav. 21 d.'); + expect(textformatted_21[3], '21 m. 21 mėn. 21 sav. 21 d.'); + + expect(textformatted_9[0], '9 metai 9 mėnesiai 9 savaitės ir 9 dienos'); + expect(textformatted_9[1], '9 m. 9 mėn. 9 sav. 9 d.'); + expect(textformatted_9[2], '9 m. 9 mėn. 9 sav. 9 d.'); + expect(textformatted_9[3], '9 m. 9 mėn. 9 sav. 9 d.'); + + expect(textformatted_11[0], '11 metų 11 mėnesių 11 savaičių ir 11 dienų'); + expect(textformatted_11[1], '11 m. 11 mėn. 11 sav. 11 d.'); + expect(textformatted_11[2], '11 m. 11 mėn. 11 sav. 11 d.'); + expect(textformatted_11[3], '11 m. 11 mėn. 11 sav. 11 d.'); + + expect(clockformatted_21[0], '21 valanda 21 minutė ir 21 sekundė'); + expect(clockformatted_21[1], '21 val. 21 min. 21 sek.'); + expect(clockformatted_21[2], '21 h 21 min. 21 s'); + expect(clockformatted_21[3], '21 h 21 min. 21 s'); + + expect(clockformatted_9[0], '9 valandos 9 minutės ir 9 sekundės'); + expect(clockformatted_9[1], '9 val. 9 min. 9 sek.'); + expect(clockformatted_9[2], '9 h 9 min. 9 s'); + expect(clockformatted_9[3], '9 h 9 min. 9 s'); + + expect(clockformatted_11[0], '11 valandų 11 minučių ir 11 sekundžių'); + expect(clockformatted_11[1], '11 val. 11 min. 11 sek.'); + expect(clockformatted_11[2], '11 h 11 min. 11 s'); + expect(clockformatted_11[3], '11 h 11 min. 11 s'); + }); + test('testDurFmt_lv_LV', () { + // 21 9 + final List textformatted_21 = []; + final List textformatted_9 = []; + final List clockformatted_21 = []; + final List clockformatted_9 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'lv-LV', style: 'text', length: length[i])); + + textformatted_21.add(fmt + .format(ILibDateOptions(year: 21, month: 21, week: 21, day: 21))); + textformatted_9.add( + fmt.format(ILibDateOptions(year: 9, month: 9, week: 9, day: 9))); + + clockformatted_21 + .add(fmt.format(ILibDateOptions(hour: 21, minute: 21, second: 21))); + clockformatted_9 + .add(fmt.format(ILibDateOptions(hour: 9, minute: 9, second: 9))); + } + + expect(textformatted_21[0], '21 gads, 21 mēnesis, 21 nedēļa un 21 diena'); + expect(textformatted_21[1], '21 g., 21 mēn., 21 ned., 21 d.'); + expect(textformatted_21[2], '21 g., 21 m., 21 n., 21 d.'); + expect(textformatted_21[3], '21 g. 21 m. 21 n. 21 d.'); + + expect(textformatted_9[0], '9 gadi, 9 mēneši, 9 nedēļas un 9 dienas'); + expect(textformatted_9[1], '9 g., 9 mēn., 9 ned., 9 d.'); + expect(textformatted_9[2], '9 g., 9 m., 9 n., 9 d.'); + expect(textformatted_9[3], '9 g. 9 m. 9 n. 9 d.'); + + expect(clockformatted_21[0], '21 stunda, 21 minūte un 21 sekunde'); + expect(clockformatted_21[1], '21 st., 21 min, 21 sek.'); + expect(clockformatted_21[2], '21 h, 21 min, 21 s'); + expect(clockformatted_21[3], '21 h 21 min 21 s'); + + expect(clockformatted_9[0], '9 stundas, 9 minūtes un 9 sekundes'); + expect(clockformatted_9[1], '9 st., 9 min, 9 sek.'); + expect(clockformatted_9[2], '9 h, 9 min, 9 s'); + expect(clockformatted_9[3], '9 h 9 min 9 s'); + }); + test('testDurFmt_mk_MK', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'mk-MK', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 година, 1 месец, 1 седмица и 1 ден'); + expect(textformatted_1[1], '1 год., 1 мес., 1 сед., 1 ден'); + expect(textformatted_1[2], '1 г., 1 м., 1 с., 1 д.'); + expect(textformatted_1[3], '1 г., 1 м., 1 с., 1 д.'); + + expect(textformatted_2[0], '2 години, 2 месеци, 2 седмици и 2 дена'); + expect(textformatted_2[1], '2 год., 2 мес., 2 сед., 2 дена'); + expect(textformatted_2[2], '2 г., 2 м., 2 с., 2 д.'); + expect(textformatted_2[3], '2 г., 2 м., 2 с., 2 д.'); + + expect(clockformatted_1[0], '1 час, 1 минута и 1 секунда'); + expect(clockformatted_1[1], '1 ч., 1 мин., 1 сек.'); + expect(clockformatted_1[2], '1 ч., 1 м., 1 с.'); + expect(clockformatted_1[3], '1 ч., 1 м., 1 с.'); + + expect(clockformatted_2[0], '2 часа, 2 минути и 2 секунди'); + expect(clockformatted_2[1], '2 ч., 2 мин., 2 сек.'); + expect(clockformatted_2[2], '2 ч., 2 м., 2 с.'); + expect(clockformatted_2[3], '2 ч., 2 м., 2 с.'); + }); + test('testDurFmt_ml_IN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ml-IN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 വർഷം, 1 മാസം, 1 ആഴ്ച, 1 ദിവസം'); + expect(textformatted_1[1], '1 വ, 1 മാസം, 1 ആ, 1 ദിവസം‌'); + expect(textformatted_1[2], '1 വ 1 മാ 1 ആ 1 ദി'); + expect(textformatted_1[3], '1 വ 1 മാ 1 ആ 1 ദി'); + + expect(textformatted_2[0], '2 വർഷം, 2 മാസം, 2 ആഴ്ച, 2 ദിവസം'); + expect(textformatted_2[1], '2 വ, 2 മാസം, 2 ആ, 2 ദിവസം‌'); + expect(textformatted_2[2], '2 വ 2 മാ 2 ആ 2 ദി'); + expect(textformatted_2[3], '2 വ 2 മാ 2 ആ 2 ദി'); + + expect(clockformatted_1[0], '1 മണിക്കൂർ, 1 മിനിറ്റ്, 1 സെക്കൻഡ്'); + expect(clockformatted_1[1], '1 മ, 1 മി., 1 സെ.'); + expect(clockformatted_1[2], '1 മ 1 മി. 1 സെ.'); + expect(clockformatted_1[3], '1 മ 1 മി. 1 സെ.'); + + expect(clockformatted_2[0], '2 മണിക്കൂർ, 2 മിനിറ്റ്, 2 സെക്കൻഡ്'); + expect(clockformatted_2[1], '2 മ, 2 മി., 2 സെ.'); + expect(clockformatted_2[2], '2 മ 2 മി. 2 സെ.'); + expect(clockformatted_2[3], '2 മ 2 മി. 2 സെ.'); + }); + test('testDurFmt_mr_IN', () { + // 1 18 + final List textformatted_1 = []; + final List textformatted_18 = []; + final List clockformatted_1 = []; + final List clockformatted_18 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'mr-IN', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_18.add(fmt + .format(ILibDateOptions(year: 18, month: 18, week: 18, day: 18))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_18 + .add(fmt.format(ILibDateOptions(hour: 18, minute: 18, second: 18))); + } + + expect(textformatted_1[0], '1 वर्ष, 1 महिना, 1 आठवडा, 1 दिवस'); + expect(textformatted_1[1], '1 वर्ष, 1 महिना, 1 आ, 1 दिवस'); + expect(textformatted_1[2], '1व 1म 1आ 1दि'); + expect(textformatted_1[3], '1व 1म 1आ 1दि'); + + expect(textformatted_18[0], '18 वर्षे, 18 महिने, 18 आठवडे, 18 दिवस'); + expect(textformatted_18[1], '18 वर्षे, 18 महिने, 18 आ, 18 दिवस'); + expect(textformatted_18[2], '18व 18म 18आ 18दि'); + expect(textformatted_18[3], '18व 18म 18आ 18दि'); + + expect(clockformatted_1[0], '1 तास, 1 मिनिट, 1 सेकंद'); + expect(clockformatted_1[1], '1 ता, 1 मिनि, 1 से'); + expect(clockformatted_1[2], '1ता 1मि 1से'); + expect(clockformatted_1[3], '1ता 1मि 1से'); + + expect(clockformatted_18[0], '18 तास, 18 मिनिटे, 18 सेकंद'); + expect(clockformatted_18[1], '18 ता, 18 मिनि, 18 से'); + expect(clockformatted_18[2], '18ता 18मि 18से'); + expect(clockformatted_18[3], '18ता 18मि 18से'); + }); + test('testDurFmt_ms_MY', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ms-MY', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 tahun, 1 bulan, 1 minggu, 1 hari'); + expect(textformatted_1[1], '1 thn, 1 bln, 1 mgu, 1 hari'); + expect(textformatted_1[2], '1 thn, 1 bln, 1 mgu, 1 h'); + expect(textformatted_1[3], '1 thn 1 bln 1 mgu 1 h'); + + expect(textformatted_2[0], '2 tahun, 2 bulan, 2 minggu, 2 hari'); + expect(textformatted_2[1], '2 thn, 2 bln, 2 mgu, 2 hari'); + expect(textformatted_2[2], '2 thn, 2 bln, 2 mgu, 2 h'); + expect(textformatted_2[3], '2 thn 2 bln 2 mgu 2 h'); + + expect(clockformatted_1[0], '1 jam, 1 minit, 1 saat'); + expect(clockformatted_1[1], '1 j, 1 min, 1 saat'); + expect(clockformatted_1[2], '1 j, 1 min, 1 s'); + expect(clockformatted_1[3], '1 j 1 min 1 s'); + + expect(clockformatted_2[0], '2 jam, 2 minit, 2 saat'); + expect(clockformatted_2[1], '2 j, 2 min, 2 saat'); + expect(clockformatted_2[2], '2 j, 2 min, 2 s'); + expect(clockformatted_2[3], '2 j 2 min 2 s'); + }); + test('testDurFmt_nb_NO', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'nb-NO', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 år, 1 måned, 1 uke og 1 døgn'); + expect(textformatted_1[1], '1 år, 1 md., 1 u, 1 d'); + expect(textformatted_1[2], '1å, 1 m, 1u, 1d'); + expect(textformatted_1[3], '1å, 1 m, 1u, 1d'); + + expect(textformatted_2[0], '2 år, 2 måneder, 2 uker og 2 døgn'); + expect(textformatted_2[1], '2 år, 2 md., 2 u, 2 d'); + expect(textformatted_2[2], '2å, 2 m, 2u, 2d'); + expect(textformatted_2[3], '2å, 2 m, 2u, 2d'); + + expect(clockformatted_1[0], '1 time, 1 minutt og 1 sekund'); + expect(clockformatted_1[1], '1 t, 1 min, 1 sek'); + expect(clockformatted_1[2], '1t, 1m, 1s'); + expect(clockformatted_1[3], '1t, 1m, 1s'); + + expect(clockformatted_2[0], '2 timer, 2 minutter og 2 sekunder'); + expect(clockformatted_2[1], '2 t, 2 min, 2 sek'); + expect(clockformatted_2[2], '2t, 2m, 2s'); + expect(clockformatted_2[3], '2t, 2m, 2s'); + }); + test('testDurFmt_nl_BE', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'nl-BE', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 jaar, 1 maand, 1 week en 1 dag'); + expect(textformatted_1[1], '1 jr, 1 mnd, 1 wk, 1 dag'); + expect(textformatted_1[2], '1 jr, 1 m, 1 w, 1 d'); + expect(textformatted_1[3], '1 jr, 1 m, 1 w, 1 d'); + + expect(textformatted_2[0], '2 jaar, 2 maanden, 2 weken en 2 dagen'); + expect(textformatted_2[1], '2 jr, 2 mnd, 2 wkn, 2 dagen'); + expect(textformatted_2[2], '2 jr, 2 m, 2 w, 2 d'); + expect(textformatted_2[3], '2 jr, 2 m, 2 w, 2 d'); + + expect(clockformatted_1[0], '1 uur, 1 minuut en 1 seconde'); + expect(clockformatted_1[1], '1 uur, 1 min, 1 sec'); + expect(clockformatted_1[2], '1 u, 1 m, 1 s'); + expect(clockformatted_1[3], '1 u, 1 m, 1 s'); + + expect(clockformatted_2[0], '2 uur, 2 minuten en 2 seconden'); + expect(clockformatted_2[1], '2 uur, 2 min, 2 sec'); + expect(clockformatted_2[2], '2 u, 2 m, 2 s'); + expect(clockformatted_2[3], '2 u, 2 m, 2 s'); + }); + test('testDurFmt_nl_NL', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'nl-NL', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 jaar, 1 maand, 1 week en 1 dag'); + expect(textformatted_1[1], '1 jr, 1 mnd, 1 wk, 1 dag'); + expect(textformatted_1[2], '1 jr, 1 m, 1 w, 1 d'); + expect(textformatted_1[3], '1 jr, 1 m, 1 w, 1 d'); + + expect(textformatted_2[0], '2 jaar, 2 maanden, 2 weken en 2 dagen'); + expect(textformatted_2[1], '2 jr, 2 mnd, 2 wkn, 2 dagen'); + expect(textformatted_2[2], '2 jr, 2 m, 2 w, 2 d'); + expect(textformatted_2[3], '2 jr, 2 m, 2 w, 2 d'); + + expect(clockformatted_1[0], '1 uur, 1 minuut en 1 seconde'); + expect(clockformatted_1[1], '1 uur, 1 min, 1 sec'); + expect(clockformatted_1[2], '1 u, 1 m, 1 s'); + expect(clockformatted_1[3], '1 u, 1 m, 1 s'); + + expect(clockformatted_2[0], '2 uur, 2 minuten en 2 seconden'); + expect(clockformatted_2[1], '2 uur, 2 min, 2 sec'); + expect(clockformatted_2[2], '2 u, 2 m, 2 s'); + expect(clockformatted_2[3], '2 u, 2 m, 2 s'); + }); + test('testDurFmt_pa_Guru_IN', () { + // 1 2 18 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_18 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_18 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'pa-Guru-IN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_18.add(fmt + .format(ILibDateOptions(year: 18, month: 18, week: 18, day: 18))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_18 + .add(fmt.format(ILibDateOptions(hour: 18, minute: 18, second: 18))); + } + + expect(textformatted_1[0], '1 ਸਾਲ, 1 ਮਹੀਨਾ, 1 ਹਫ਼ਤਾ, 1 ਦਿਨ'); + expect(textformatted_1[1], '1 ਸਾਲ, 1 ਮਹੀਨਾ, 1 ਹਫ਼ਤਾ, 1 ਦਿਨ'); + expect(textformatted_1[2], '1 ਸਾਲ 1 ਮਹੀਨਾ 1 ਹਫ਼ਤਾ 1 ਦਿਨ'); + expect(textformatted_1[3], '1 ਸਾਲ 1 ਮਹੀਨਾ 1 ਹਫ਼ਤਾ 1 ਦਿਨ'); + + expect(textformatted_2[0], '2 ਸਾਲ, 2 ਮਹੀਨੇ, 2 ਹਫ਼ਤੇ, 2 ਦਿਨ'); + expect(textformatted_2[1], '2 ਸਾਲ, 2 ਮਹੀਨੇ, 2 ਹਫ਼ਤੇ, 2 ਦਿਨ'); + expect(textformatted_2[2], '2 ਸਾਲ 2 ਮਹੀਨੇ 2 ਹਫ਼ਤੇ 2 ਦਿਨ'); + expect(textformatted_2[3], '2 ਸਾਲ 2 ਮਹੀਨੇ 2 ਹਫ਼ਤੇ 2 ਦਿਨ'); + + expect(textformatted_18[0], '18 ਸਾਲ, 18 ਮਹੀਨੇ, 18 ਹਫ਼ਤੇ, 18 ਦਿਨ'); + expect(textformatted_18[1], '18 ਸਾਲ, 18 ਮਹੀਨੇ, 18 ਹਫ਼ਤੇ, 18 ਦਿਨ'); + expect(textformatted_18[2], '18 ਸਾਲ 18 ਮਹੀਨੇ 18 ਹਫ਼ਤੇ 18 ਦਿਨ'); + expect(textformatted_18[3], '18 ਸਾਲ 18 ਮਹੀਨੇ 18 ਹਫ਼ਤੇ 18 ਦਿਨ'); + + expect(clockformatted_1[0], '1 ਘੰਟਾ, 1 ਮਿੰਟ, 1 ਸਕਿੰਟ'); + expect(clockformatted_1[1], '1 ਘੰਟਾ, 1 ਮਿੰਟ, 1 ਸਕਿੰਟ'); + expect(clockformatted_1[2], '1 ਘੰਟਾ 1 ਮਿੰਟ 1 ਸਕਿੰਟ'); + expect(clockformatted_1[3], '1 ਘੰਟਾ 1 ਮਿੰਟ 1 ਸਕਿੰਟ'); + + expect(clockformatted_2[0], '2 ਘੰਟੇ, 2 ਮਿੰਟ, 2 ਸਕਿੰਟ'); + expect(clockformatted_2[1], '2 ਘੰਟੇ, 2 ਮਿੰਟ, 2 ਸਕਿੰਟ'); + expect(clockformatted_2[2], '2 ਘੰਟੇ 2 ਮਿੰਟ 2 ਸਕਿੰਟ'); + expect(clockformatted_2[3], '2 ਘੰਟੇ 2 ਮਿੰਟ 2 ਸਕਿੰਟ'); + + expect(clockformatted_18[0], '18 ਘੰਟੇ, 18 ਮਿੰਟ, 18 ਸਕਿੰਟ'); + expect(clockformatted_18[1], '18 ਘੰਟੇ, 18 ਮਿੰਟ, 18 ਸਕਿੰਟ'); + expect(clockformatted_18[2], '18 ਘੰਟੇ 18 ਮਿੰਟ 18 ਸਕਿੰਟ'); + expect(clockformatted_18[3], '18 ਘੰਟੇ 18 ਮਿੰਟ 18 ਸਕਿੰਟ'); + }); + test('testDurFmt_pl_PL', () { + // 1 2 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'pl-PL', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 rok, 1 miesiąc, 1 tydzień i 1 dzień'); + expect(textformatted_1[1], '1 rok, 1 mies., 1 tydz., 1 dzień'); + expect(textformatted_1[2], '1 r., 1 m-c, 1 t., 1 d.'); + expect(textformatted_1[3], '1 r., 1 m-c, 1 t., 1 d.'); + + expect(textformatted_2[0], '2 lata, 2 miesiące, 2 tygodnie i 2 dni'); + expect(textformatted_2[1], '2 lata, 2 mies., 2 tyg., 2 dni'); + expect(textformatted_2[2], '2 l., 2 m-ce, 2 t., 2 d.'); + expect(textformatted_2[3], '2 l., 2 m-ce, 2 t., 2 d.'); + + expect(textformatted_5[0], '5 lat, 5 miesięcy, 5 tygodni i 5 dni'); + expect(textformatted_5[1], '5 lat, 5 mies., 5 tyg., 5 dni'); + expect(textformatted_5[2], '5 l., 5 m-cy, 5 t., 5 d.'); + expect(textformatted_5[3], '5 l., 5 m-cy, 5 t., 5 d.'); + + expect(clockformatted_1[0], '1 godzina, 1 minuta i 1 sekunda'); + expect(clockformatted_1[1], '1 godz., 1 min, 1 sek.'); + expect(clockformatted_1[2], '1 h, 1 min, 1 s'); + expect(clockformatted_1[3], '1 h, 1 min, 1 s'); + + expect(clockformatted_2[0], '2 godziny, 2 minuty i 2 sekundy'); + expect(clockformatted_2[1], '2 godz., 2 min, 2 sek.'); + expect(clockformatted_2[2], '2 h, 2 min, 2 s'); + expect(clockformatted_2[3], '2 h, 2 min, 2 s'); + + expect(clockformatted_5[0], '5 godzin, 5 minut i 5 sekund'); + expect(clockformatted_5[1], '5 godz., 5 min, 5 sek.'); + expect(clockformatted_5[2], '5 h, 5 min, 5 s'); + expect(clockformatted_5[3], '5 h, 5 min, 5 s'); + }); + test('testDurFmt_pt_BR', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'pt-BR', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 ano, 1 mês, 1 semana e 1 dia'); + expect(textformatted_1[1], '1 ano, 1 mês, 1 sem., 1 dia'); + expect(textformatted_1[2], '1 ano, 1 mês, 1 sem., 1 dia'); + expect(textformatted_1[3], '1 ano 1 mês 1 sem. 1 dia'); + + expect(textformatted_2[0], '2 anos, 2 meses, 2 semanas e 2 dias'); + expect(textformatted_2[1], '2 anos, 2 meses, 2 sem., 2 dias'); + expect(textformatted_2[2], '2 anos, 2 meses, 2 sem., 2 dias'); + expect(textformatted_2[3], '2 anos 2 meses 2 sem. 2 dias'); + + expect(clockformatted_1[0], '1 hora, 1 minuto e 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1 h, 1 min, 1 s'); + expect(clockformatted_1[3], '1 h 1 min 1 s'); + + expect(clockformatted_2[0], '2 horas, 2 minutos e 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2 h, 2 min, 2 s'); + expect(clockformatted_2[3], '2 h 2 min 2 s'); + }); + test('testDurFmt_pt_PT', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'pt-PT', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 ano, 1 mês, 1 semana e 1 dia'); + expect(textformatted_1[1], '1 ano, 1 mês, 1 sem., 1 dia'); + expect(textformatted_1[2], '1 ano, 1 mês, 1 sem., 1 dia'); + expect(textformatted_1[3], '1 ano, 1 mês, 1 sem., 1 dia'); + + expect(textformatted_17[0], '17 anos, 17 meses, 17 semanas e 17 dias'); + expect(textformatted_17[1], '17 anos, 17 meses, 17 sem., 17 dias'); + expect(textformatted_17[2], '17 anos, 17 meses, 17 sem., 17 dias'); + expect(textformatted_17[3], '17 anos, 17 meses, 17 sem., 17 dias'); + + expect(clockformatted_1[0], '1 hora, 1 minuto e 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1 h, 1 min, 1 s'); + expect(clockformatted_1[3], '1 h, 1 min, 1 s'); + + expect(clockformatted_17[0], '17 horas, 17 minutos e 17 segundos'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17 h, 17 min, 17 s'); + expect(clockformatted_17[3], '17 h, 17 min, 17 s'); + }); + test('testDurFmt_ro_RO', () { + // 1 2 20 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_20 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_20 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ro-RO', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_20.add(fmt + .format(ILibDateOptions(year: 20, month: 20, week: 20, day: 20))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_20 + .add(fmt.format(ILibDateOptions(hour: 20, minute: 20, second: 20))); + } + + expect(textformatted_1[0], '1 an, 1 lună, 1 săptămână, 1 zi'); + expect(textformatted_1[1], '1 an, 1 lună, 1 săpt., 1 zi'); + expect(textformatted_1[2], '1 a, 1 l, 1 săpt., 1 z'); + expect(textformatted_1[3], '1 a, 1 l, 1 săpt., 1 z'); + + expect(textformatted_2[0], '2 ani, 2 luni, 2 săptămâni, 2 zile'); + expect(textformatted_2[1], '2 ani, 2 luni, 2 săpt., 2 zile'); + expect(textformatted_2[2], '2 a, 2 l, 2 săpt., 2 z'); + expect(textformatted_2[3], '2 a, 2 l, 2 săpt., 2 z'); + + expect(textformatted_20[0], + '20 de ani, 20 de luni, 20 de săptămâni, 20 de zile'); + expect(textformatted_20[1], '20 ani, 20 luni, 20 săpt., 20 zile'); + expect(textformatted_20[2], '20 a, 20 l, 20 săpt., 20 z'); + expect(textformatted_20[3], '20 a, 20 l, 20 săpt., 20 z'); + + expect(clockformatted_1[0], '1 oră, 1 minut, 1 secundă'); + expect(clockformatted_1[1], '1 oră, 1 min., 1 s'); + expect(clockformatted_1[2], '1 h, 1 m, 1 s'); + expect(clockformatted_1[3], '1 h, 1 m, 1 s'); + + expect(clockformatted_2[0], '2 ore, 2 minute, 2 secunde'); + expect(clockformatted_2[1], '2 ore, 2 min., 2 s'); + expect(clockformatted_2[2], '2 h, 2 m, 2 s'); + expect(clockformatted_2[3], '2 h, 2 m, 2 s'); + + expect(clockformatted_20[0], '20 de ore, 20 de minute, 20 de secunde'); + expect(clockformatted_20[1], '20 ore, 20 min., 20 s'); + expect(clockformatted_20[2], '20 h, 20 m, 20 s'); + expect(clockformatted_20[3], '20 h, 20 m, 20 s'); + }); + test('testDurFmt_sr_Cyrl_RS', () { + // 1 4 20 + final List textformatted_1 = []; + final List textformatted_4 = []; + final List textformatted_20 = []; + final List clockformatted_1 = []; + final List clockformatted_4 = []; + final List clockformatted_20 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'sr-Cyrl-RS', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_4.add( + fmt.format(ILibDateOptions(year: 4, month: 4, week: 4, day: 4))); + textformatted_20.add(fmt + .format(ILibDateOptions(year: 20, month: 20, week: 20, day: 20))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_4 + .add(fmt.format(ILibDateOptions(hour: 4, minute: 4, second: 4))); + clockformatted_20 + .add(fmt.format(ILibDateOptions(hour: 20, minute: 20, second: 20))); + } + + expect(textformatted_1[0], '1 година, 1 месец, 1 недеља и 1 дан'); + expect(textformatted_1[1], '1 год, 1 мес., 1 нед., 1 дан'); + expect(textformatted_1[2], '1 г, 1 м, 1 н, 1 д'); + expect(textformatted_1[3], '1 г, 1 м, 1 н, 1 д'); + + expect(textformatted_4[0], '4 године, 4 месеца, 4 недеље и 4 дана'); + expect(textformatted_4[1], '4 год., 4 мес., 4 нед., 4 дана'); + expect(textformatted_4[2], '4 г, 4 м, 4 н, 4 д'); + expect(textformatted_4[3], '4 г, 4 м, 4 н, 4 д'); + + expect(textformatted_20[0], '20 година, 20 месеци, 20 недеља и 20 дана'); + expect(textformatted_20[1], '20 год., 20 мес., 20 нед., 20 дана'); + expect(textformatted_20[2], '20 г, 20 м, 20 н, 20 д'); + expect(textformatted_20[3], '20 г, 20 м, 20 н, 20 д'); + + expect(clockformatted_1[0], '1 сат, 1 минут и 1 секунда'); + expect(clockformatted_1[1], '1 сат, 1 мин, 1 сек'); + expect(clockformatted_1[2], '1 ч, 1 м, 1 с'); + expect(clockformatted_1[3], '1 ч, 1 м, 1 с'); + + expect(clockformatted_4[0], '4 сата, 4 минута и 4 секунде'); + expect(clockformatted_4[1], '4 сата, 4 мин, 4 сек'); + expect(clockformatted_4[2], '4 ч, 4 м, 4 с'); + expect(clockformatted_4[3], '4 ч, 4 м, 4 с'); + + expect(clockformatted_20[0], '20 сати, 20 минута и 20 секунди'); + expect(clockformatted_20[1], '20 сати, 20 мин, 20 сек'); + expect(clockformatted_20[2], '20 ч, 20 м, 20 с'); + expect(clockformatted_20[3], '20 ч, 20 м, 20 с'); + }); + test('testDurFmt_sr_Latn_RS', () { + // 1 2 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'sr-Latn-RS', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 godina, 1 mesec, 1 nedelja i 1 dan'); + expect(textformatted_1[1], '1 god, 1 mes., 1 ned., 1 dan'); + expect(textformatted_1[2], '1 g, 1 m, 1 n, 1 d'); + expect(textformatted_1[3], '1 g, 1 m, 1 n, 1 d'); + + expect(textformatted_2[0], '2 godine, 2 meseca, 2 nedelje i 2 dana'); + expect(textformatted_2[1], '2 god., 2 mes., 2 ned., 2 dana'); + expect(textformatted_2[2], '2 g, 2 m, 2 n, 2 d'); + expect(textformatted_2[3], '2 g, 2 m, 2 n, 2 d'); + + expect(textformatted_5[0], '5 godina, 5 meseci, 5 nedelja i 5 dana'); + expect(textformatted_5[1], '5 god., 5 mes., 5 ned., 5 dana'); + expect(textformatted_5[2], '5 g, 5 m, 5 n, 5 d'); + expect(textformatted_5[3], '5 g, 5 m, 5 n, 5 d'); + + expect(clockformatted_1[0], '1 sat, 1 minut i 1 sekunda'); + expect(clockformatted_1[1], '1 sat, 1 min, 1 sek'); + expect(clockformatted_1[2], '1 č, 1 m, 1 s'); + expect(clockformatted_1[3], '1 č, 1 m, 1 s'); + + expect(clockformatted_2[0], '2 sata, 2 minuta i 2 sekunde'); + expect(clockformatted_2[1], '2 sata, 2 min, 2 sek'); + expect(clockformatted_2[2], '2 č, 2 m, 2 s'); + expect(clockformatted_2[3], '2 č, 2 m, 2 s'); + + expect(clockformatted_5[0], '5 sati, 5 minuta i 5 sekundi'); + expect(clockformatted_5[1], '5 sati, 5 min, 5 sek'); + expect(clockformatted_5[2], '5 č, 5 m, 5 s'); + expect(clockformatted_5[3], '5 č, 5 m, 5 s'); + }); + test('testDurFmt_ru_BY', () { + // 1 2 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ru-BY', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 год 1 месяц 1 неделя 1 день'); + expect(textformatted_1[1], '1 г. 1 мес. 1 нед. 1 дн.'); + expect(textformatted_1[2], '1 г. 1 м. 1 н. 1 д.'); + expect(textformatted_1[3], '1 г. 1 м. 1 н. 1 д.'); + + expect(textformatted_2[0], '2 года 2 месяца 2 недели 2 дня'); + expect(textformatted_2[1], '2 г. 2 мес. 2 нед. 2 дн.'); + expect(textformatted_2[2], '2 г. 2 м. 2 н. 2 д.'); + expect(textformatted_2[3], '2 г. 2 м. 2 н. 2 д.'); + + expect(textformatted_5[0], '5 лет 5 месяцев 5 недель 5 дней'); + expect(textformatted_5[1], '5 л. 5 мес. 5 нед. 5 дн.'); + expect(textformatted_5[2], '5 л. 5 м. 5 н. 5 д.'); + expect(textformatted_5[3], '5 л. 5 м. 5 н. 5 д.'); + + expect(clockformatted_1[0], '1 час 1 минута 1 секунда'); + expect(clockformatted_1[1], '1 ч 1 мин 1 с'); + expect(clockformatted_1[2], '1 ч 1 мин 1 с'); + expect(clockformatted_1[3], '1 ч 1 мин 1 с'); + + expect(clockformatted_2[0], '2 часа 2 минуты 2 секунды'); + expect(clockformatted_2[1], '2 ч 2 мин 2 с'); + expect(clockformatted_2[2], '2 ч 2 мин 2 с'); + expect(clockformatted_2[3], '2 ч 2 мин 2 с'); + + expect(clockformatted_5[0], '5 часов 5 минут 5 секунд'); + expect(clockformatted_5[1], '5 ч 5 мин 5 с'); + expect(clockformatted_5[2], '5 ч 5 мин 5 с'); + expect(clockformatted_5[3], '5 ч 5 мин 5 с'); + }); + test('testDurFmt_ru_KG', () { + // 41 24 25 + final List textformatted_41 = []; + final List textformatted_24 = []; + final List textformatted_25 = []; + final List clockformatted_41 = []; + final List clockformatted_24 = []; + final List clockformatted_25 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ru-KG', style: 'text', length: length[i])); + + textformatted_41.add(fmt + .format(ILibDateOptions(year: 41, month: 41, week: 41, day: 41))); + textformatted_24.add(fmt + .format(ILibDateOptions(year: 24, month: 24, week: 24, day: 24))); + textformatted_25.add(fmt + .format(ILibDateOptions(year: 25, month: 25, week: 25, day: 25))); + + clockformatted_41 + .add(fmt.format(ILibDateOptions(hour: 41, minute: 41, second: 41))); + clockformatted_24 + .add(fmt.format(ILibDateOptions(hour: 24, minute: 24, second: 24))); + clockformatted_25 + .add(fmt.format(ILibDateOptions(hour: 25, minute: 25, second: 25))); + } + + expect(textformatted_41[0], '41 год 41 месяц 41 неделя 41 день'); + expect(textformatted_41[1], '41 г. 41 мес. 41 нед. 41 дн.'); + expect(textformatted_41[2], '41 г. 41 м. 41 н. 41 д.'); + expect(textformatted_41[3], '41 г. 41 м. 41 н. 41 д.'); + + expect(textformatted_24[0], '24 года 24 месяца 24 недели 24 дня'); + expect(textformatted_24[1], '24 г. 24 мес. 24 нед. 24 дн.'); + expect(textformatted_24[2], '24 г. 24 м. 24 н. 24 д.'); + expect(textformatted_24[3], '24 г. 24 м. 24 н. 24 д.'); + + expect(textformatted_25[0], '25 лет 25 месяцев 25 недель 25 дней'); + expect(textformatted_25[1], '25 л. 25 мес. 25 нед. 25 дн.'); + expect(textformatted_25[2], '25 л. 25 м. 25 н. 25 д.'); + expect(textformatted_25[3], '25 л. 25 м. 25 н. 25 д.'); + + expect(clockformatted_41[0], '41 час 41 минута 41 секунда'); + expect(clockformatted_41[1], '41 ч 41 мин 41 с'); + expect(clockformatted_41[2], '41 ч 41 мин 41 с'); + expect(clockformatted_41[3], '41 ч 41 мин 41 с'); + + expect(clockformatted_24[0], '24 часа 24 минуты 24 секунды'); + expect(clockformatted_24[1], '24 ч 24 мин 24 с'); + expect(clockformatted_24[2], '24 ч 24 мин 24 с'); + expect(clockformatted_24[3], '24 ч 24 мин 24 с'); + + expect(clockformatted_25[0], '25 часов 25 минут 25 секунд'); + expect(clockformatted_25[1], '25 ч 25 мин 25 с'); + expect(clockformatted_25[2], '25 ч 25 мин 25 с'); + expect(clockformatted_25[3], '25 ч 25 мин 25 с'); + }); + test('testDurFmt_ru_KZ', () { + // 31 22 20 + final List textformatted_31 = []; + final List textformatted_22 = []; + final List textformatted_20 = []; + final List clockformatted_31 = []; + final List clockformatted_22 = []; + final List clockformatted_20 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ru-KZ', style: 'text', length: length[i])); + + textformatted_31.add(fmt + .format(ILibDateOptions(year: 31, month: 31, week: 31, day: 31))); + textformatted_22.add(fmt + .format(ILibDateOptions(year: 22, month: 22, week: 22, day: 22))); + textformatted_20.add(fmt + .format(ILibDateOptions(year: 20, month: 20, week: 20, day: 20))); + + clockformatted_31 + .add(fmt.format(ILibDateOptions(hour: 31, minute: 31, second: 31))); + clockformatted_22 + .add(fmt.format(ILibDateOptions(hour: 22, minute: 22, second: 22))); + clockformatted_20 + .add(fmt.format(ILibDateOptions(hour: 20, minute: 20, second: 20))); + } + + expect(textformatted_31[0], '31 год 31 месяц 31 неделя 31 день'); + expect(textformatted_31[1], '31 г. 31 мес. 31 нед. 31 дн.'); + expect(textformatted_31[2], '31 г. 31 м. 31 н. 31 д.'); + expect(textformatted_31[3], '31 г. 31 м. 31 н. 31 д.'); + + expect(textformatted_22[0], '22 года 22 месяца 22 недели 22 дня'); + expect(textformatted_22[1], '22 г. 22 мес. 22 нед. 22 дн.'); + expect(textformatted_22[2], '22 г. 22 м. 22 н. 22 д.'); + expect(textformatted_22[3], '22 г. 22 м. 22 н. 22 д.'); + + expect(textformatted_20[0], '20 лет 20 месяцев 20 недель 20 дней'); + expect(textformatted_20[1], '20 л. 20 мес. 20 нед. 20 дн.'); + expect(textformatted_20[2], '20 л. 20 м. 20 н. 20 д.'); + expect(textformatted_20[3], '20 л. 20 м. 20 н. 20 д.'); + + expect(clockformatted_31[0], '31 час 31 минута 31 секунда'); + expect(clockformatted_31[1], '31 ч 31 мин 31 с'); + expect(clockformatted_31[2], '31 ч 31 мин 31 с'); + expect(clockformatted_31[3], '31 ч 31 мин 31 с'); + + expect(clockformatted_22[0], '22 часа 22 минуты 22 секунды'); + expect(clockformatted_22[1], '22 ч 22 мин 22 с'); + expect(clockformatted_22[2], '22 ч 22 мин 22 с'); + expect(clockformatted_22[3], '22 ч 22 мин 22 с'); + + expect(clockformatted_20[0], '20 часов 20 минут 20 секунд'); + expect(clockformatted_20[1], '20 ч 20 мин 20 с'); + expect(clockformatted_20[2], '20 ч 20 мин 20 с'); + expect(clockformatted_20[3], '20 ч 20 мин 20 с'); + }); + test('testDurFmt_ru_GE', () { + // 21 4 19 + final List textformatted_21 = []; + final List textformatted_4 = []; + final List textformatted_19 = []; + final List clockformatted_21 = []; + final List clockformatted_4 = []; + final List clockformatted_19 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ru-GE', style: 'text', length: length[i])); + + textformatted_21.add(fmt + .format(ILibDateOptions(year: 21, month: 21, week: 21, day: 21))); + textformatted_4.add( + fmt.format(ILibDateOptions(year: 4, month: 4, week: 4, day: 4))); + textformatted_19.add(fmt + .format(ILibDateOptions(year: 19, month: 19, week: 19, day: 19))); + + clockformatted_21 + .add(fmt.format(ILibDateOptions(hour: 21, minute: 21, second: 21))); + clockformatted_4 + .add(fmt.format(ILibDateOptions(hour: 4, minute: 4, second: 4))); + clockformatted_19 + .add(fmt.format(ILibDateOptions(hour: 19, minute: 19, second: 19))); + } + + expect(textformatted_21[0], '21 год 21 месяц 21 неделя 21 день'); + expect(textformatted_21[1], '21 г. 21 мес. 21 нед. 21 дн.'); + expect(textformatted_21[2], '21 г. 21 м. 21 н. 21 д.'); + expect(textformatted_21[3], '21 г. 21 м. 21 н. 21 д.'); + + expect(textformatted_4[0], '4 года 4 месяца 4 недели 4 дня'); + expect(textformatted_4[1], '4 г. 4 мес. 4 нед. 4 дн.'); + expect(textformatted_4[2], '4 г. 4 м. 4 н. 4 д.'); + expect(textformatted_4[3], '4 г. 4 м. 4 н. 4 д.'); + + expect(textformatted_19[0], '19 лет 19 месяцев 19 недель 19 дней'); + expect(textformatted_19[1], '19 л. 19 мес. 19 нед. 19 дн.'); + expect(textformatted_19[2], '19 л. 19 м. 19 н. 19 д.'); + expect(textformatted_19[3], '19 л. 19 м. 19 н. 19 д.'); + + expect(clockformatted_21[0], '21 час 21 минута 21 секунда'); + expect(clockformatted_21[1], '21 ч 21 мин 21 с'); + expect(clockformatted_21[2], '21 ч 21 мин 21 с'); + expect(clockformatted_21[3], '21 ч 21 мин 21 с'); + + expect(clockformatted_4[0], '4 часа 4 минуты 4 секунды'); + expect(clockformatted_4[1], '4 ч 4 мин 4 с'); + expect(clockformatted_4[2], '4 ч 4 мин 4 с'); + expect(clockformatted_4[3], '4 ч 4 мин 4 с'); + + expect(clockformatted_19[0], '19 часов 19 минут 19 секунд'); + expect(clockformatted_19[1], '19 ч 19 мин 19 с'); + expect(clockformatted_19[2], '19 ч 19 мин 19 с'); + expect(clockformatted_19[3], '19 ч 19 мин 19 с'); + }); + test('testDurFmt_ru_RU', () { + // 31 32 19 + final List textformatted_31 = []; + final List textformatted_32 = []; + final List textformatted_19 = []; + final List clockformatted_31 = []; + final List clockformatted_32 = []; + final List clockformatted_19 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ru-RU', style: 'text', length: length[i])); + + textformatted_31.add(fmt + .format(ILibDateOptions(year: 31, month: 31, week: 31, day: 31))); + textformatted_32.add(fmt + .format(ILibDateOptions(year: 32, month: 32, week: 32, day: 32))); + textformatted_19.add(fmt + .format(ILibDateOptions(year: 19, month: 19, week: 19, day: 19))); + + clockformatted_31 + .add(fmt.format(ILibDateOptions(hour: 31, minute: 31, second: 31))); + clockformatted_32 + .add(fmt.format(ILibDateOptions(hour: 32, minute: 32, second: 32))); + clockformatted_19 + .add(fmt.format(ILibDateOptions(hour: 19, minute: 19, second: 19))); + } + + expect(textformatted_31[0], '31 год 31 месяц 31 неделя 31 день'); + expect(textformatted_31[1], '31 г. 31 мес. 31 нед. 31 дн.'); + expect(textformatted_31[2], '31 г. 31 м. 31 н. 31 д.'); + expect(textformatted_31[3], '31 г. 31 м. 31 н. 31 д.'); + + expect(textformatted_32[0], '32 года 32 месяца 32 недели 32 дня'); + expect(textformatted_32[1], '32 г. 32 мес. 32 нед. 32 дн.'); + expect(textformatted_32[2], '32 г. 32 м. 32 н. 32 д.'); + expect(textformatted_32[3], '32 г. 32 м. 32 н. 32 д.'); + + expect(textformatted_19[0], '19 лет 19 месяцев 19 недель 19 дней'); + expect(textformatted_19[1], '19 л. 19 мес. 19 нед. 19 дн.'); + expect(textformatted_19[2], '19 л. 19 м. 19 н. 19 д.'); + expect(textformatted_19[3], '19 л. 19 м. 19 н. 19 д.'); + + expect(clockformatted_31[0], '31 час 31 минута 31 секунда'); + expect(clockformatted_31[1], '31 ч 31 мин 31 с'); + expect(clockformatted_31[2], '31 ч 31 мин 31 с'); + expect(clockformatted_31[3], '31 ч 31 мин 31 с'); + + expect(clockformatted_32[0], '32 часа 32 минуты 32 секунды'); + expect(clockformatted_32[1], '32 ч 32 мин 32 с'); + expect(clockformatted_32[2], '32 ч 32 мин 32 с'); + expect(clockformatted_32[3], '32 ч 32 мин 32 с'); + + expect(clockformatted_19[0], '19 часов 19 минут 19 секунд'); + expect(clockformatted_19[1], '19 ч 19 мин 19 с'); + expect(clockformatted_19[2], '19 ч 19 мин 19 с'); + expect(clockformatted_19[3], '19 ч 19 мин 19 с'); + }); + test('testDurFmt_ru_UA', () { + // 1 2 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ru-UA', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 год 1 месяц 1 неделя 1 день'); + expect(textformatted_1[1], '1 г. 1 мес. 1 нед. 1 дн.'); + expect(textformatted_1[2], '1 г. 1 м. 1 н. 1 д.'); + expect(textformatted_1[3], '1 г. 1 м. 1 н. 1 д.'); + + expect(textformatted_2[0], '2 года 2 месяца 2 недели 2 дня'); + expect(textformatted_2[1], '2 г. 2 мес. 2 нед. 2 дн.'); + expect(textformatted_2[2], '2 г. 2 м. 2 н. 2 д.'); + expect(textformatted_2[3], '2 г. 2 м. 2 н. 2 д.'); + + expect(textformatted_5[0], '5 лет 5 месяцев 5 недель 5 дней'); + expect(textformatted_5[1], '5 л. 5 мес. 5 нед. 5 дн.'); + expect(textformatted_5[2], '5 л. 5 м. 5 н. 5 д.'); + expect(textformatted_5[3], '5 л. 5 м. 5 н. 5 д.'); + + expect(clockformatted_1[0], '1 час 1 минута 1 секунда'); + expect(clockformatted_1[1], '1 ч 1 мин 1 с'); + expect(clockformatted_1[2], '1 ч 1 мин 1 с'); + expect(clockformatted_1[3], '1 ч 1 мин 1 с'); + + expect(clockformatted_2[0], '2 часа 2 минуты 2 секунды'); + expect(clockformatted_2[1], '2 ч 2 мин 2 с'); + expect(clockformatted_2[2], '2 ч 2 мин 2 с'); + expect(clockformatted_2[3], '2 ч 2 мин 2 с'); + + expect(clockformatted_5[0], '5 часов 5 минут 5 секунд'); + expect(clockformatted_5[1], '5 ч 5 мин 5 с'); + expect(clockformatted_5[2], '5 ч 5 мин 5 с'); + expect(clockformatted_5[3], '5 ч 5 мин 5 с'); + }); + test('testDurFmt_sk_SK', () { + // 1 2 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'sk-SK', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 rok, 1 mesiac, 1 týždeň, 1 deň'); + expect(textformatted_1[1], '1 r., 1 mes., 1 týž., 1 deň'); + expect(textformatted_1[2], '1 r., 1 m., 1 t., 1 d.'); + expect(textformatted_1[3], '1 r., 1 m., 1 t., 1 d.'); + + expect(textformatted_2[0], '2 roky, 2 mesiace, 2 týždne, 2 dni'); + expect(textformatted_2[1], '2 r., 2 mes., 2 týž., 2 dni'); + expect(textformatted_2[2], '2 r., 2 m., 2 t., 2 d.'); + expect(textformatted_2[3], '2 r., 2 m., 2 t., 2 d.'); + + expect(textformatted_5[0], '5 rokov, 5 mesiacov, 5 týždňov, 5 dní'); + expect(textformatted_5[1], '5 r., 5 mes., 5 týž., 5 dní'); + expect(textformatted_5[2], '5 r., 5 m., 5 t., 5 d.'); + expect(textformatted_5[3], '5 r., 5 m., 5 t., 5 d.'); + + expect(clockformatted_1[0], '1 hodina, 1 minúta, 1 sekunda'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1 h, 1 min, 1 s'); + expect(clockformatted_1[3], '1 h, 1 min, 1 s'); + + expect(clockformatted_2[0], '2 hodiny, 2 minúty, 2 sekundy'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2 h, 2 min, 2 s'); + expect(clockformatted_2[3], '2 h, 2 min, 2 s'); + + expect(clockformatted_5[0], '5 hodín, 5 minút, 5 sekúnd'); + expect(clockformatted_5[1], '5 h, 5 min, 5 s'); + expect(clockformatted_5[2], '5 h, 5 min, 5 s'); + expect(clockformatted_5[3], '5 h, 5 min, 5 s'); + }); + test('testDurFmt_sl_SI', () { + // 1 2 3 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'sl-SI', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 leto, 1 mesec, 1 teden in 1 dan'); + expect(textformatted_1[1], '1 l, 1 m, 1 t, 1 d'); + expect(textformatted_1[2], '1 l, 1 m, 1 t, 1 d'); + expect(textformatted_1[3], '1 l, 1 m, 1 t, 1 d'); + + expect(textformatted_2[0], '2 leti, 2 meseca, 2 tedna in 2 dneva'); + expect(textformatted_2[1], '2 l, 2 m, 2 t, 2 d'); + expect(textformatted_2[2], '2 l, 2 m, 2 t, 2 d'); + expect(textformatted_2[3], '2 l, 2 m, 2 t, 2 d'); + + expect(textformatted_3[0], '3 let, 3 meseci, 3 tedni in 3 dni'); + expect(textformatted_3[1], '3 l, 3 m, 3 t, 3 d'); + expect(textformatted_3[2], '3 l, 3 m, 3 t, 3 d'); + expect(textformatted_3[3], '3 l, 3 m, 3 t, 3 d'); + + expect(textformatted_5[0], '5 let, 5 mesecev, 5 tednov in 5 dni'); + expect(textformatted_5[1], '5 l, 5 m, 5 t, 5 d'); + expect(textformatted_5[2], '5 l, 5 m, 5 t, 5 d'); + expect(textformatted_5[3], '5 l, 5 m, 5 t, 5 d'); + + expect(clockformatted_1[0], '1 ura, 1 minuta in 1 sekunda'); + expect(clockformatted_1[1], '1 h, 1 min, 1 sek.'); + expect(clockformatted_1[2], '1 h, 1 min, 1 s'); + expect(clockformatted_1[3], '1 h, 1 min, 1 s'); + + expect(clockformatted_2[0], '2 uri, 2 minuti in 2 sekundi'); + expect(clockformatted_2[1], '2 h, 2 min, 2 sek.'); + expect(clockformatted_2[2], '2 h, 2 min, 2 s'); + expect(clockformatted_2[3], '2 h, 2 min, 2 s'); + + expect(clockformatted_3[0], '3 ure, 3 minute in 3 sekunde'); + expect(clockformatted_3[1], '3 h, 3 min, 3 sek.'); + expect(clockformatted_3[2], '3 h, 3 min, 3 s'); + expect(clockformatted_3[3], '3 h, 3 min, 3 s'); + + expect(clockformatted_5[0], '5 ur, 5 minut in 5 sekund'); + expect(clockformatted_5[1], '5 h, 5 min, 5 sek.'); + expect(clockformatted_5[2], '5 h, 5 min, 5 s'); + expect(clockformatted_5[3], '5 h, 5 min, 5 s'); + }); + test('testDurFmt_sq_AL', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'sq-AL', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 vit, 1 muaj, 1 javë e 1 ditë'); + expect(textformatted_1[1], '1 vit, 1 muaj, 1 javë, 1 ditë'); + expect(textformatted_1[2], '1 vit, 1 muaj, 1 javë, 1 ditë'); + expect(textformatted_1[3], '1 vit, 1 muaj, 1 javë, 1 ditë'); + + expect(textformatted_16[0], '16 vjet, 16 muaj, 16 javë e 16 ditë'); + expect(textformatted_16[1], '16 vjet, 16 muaj, 16 javë, 16 ditë'); + expect(textformatted_16[2], '16 vjet, 16 muaj, 16 javë, 16 ditë'); + expect(textformatted_16[3], '16 vjet, 16 muaj, 16 javë, 16 ditë'); + + expect(clockformatted_1[0], '1 orë, 1 minutë e 1 sekondë'); + expect(clockformatted_1[1], '1 orë, 1 min., 1 sek.'); + expect(clockformatted_1[2], '1 orë, 1 min., 1 sek.'); + expect(clockformatted_1[3], '1 orë, 1 min., 1 sek.'); + + expect(clockformatted_16[0], '16 orë, 16 minuta e 16 sekonda'); + expect(clockformatted_16[1], '16 orë, 16 min., 16 sek.'); + expect(clockformatted_16[2], '16 orë, 16 min., 16 sek.'); + expect(clockformatted_16[3], '16 orë, 16 min., 16 sek.'); + }); + test('testDurFmt_sq_ME', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'sq-ME', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 vit, 1 muaj, 1 javë e 1 ditë'); + expect(textformatted_1[1], '1 vit, 1 muaj, 1 javë, 1 ditë'); + expect(textformatted_1[2], '1 vit, 1 muaj, 1 javë, 1 ditë'); + expect(textformatted_1[3], '1 vit, 1 muaj, 1 javë, 1 ditë'); + + expect(textformatted_17[0], '17 vjet, 17 muaj, 17 javë e 17 ditë'); + expect(textformatted_17[1], '17 vjet, 17 muaj, 17 javë, 17 ditë'); + expect(textformatted_17[2], '17 vjet, 17 muaj, 17 javë, 17 ditë'); + expect(textformatted_17[3], '17 vjet, 17 muaj, 17 javë, 17 ditë'); + + expect(clockformatted_1[0], '1 orë, 1 minutë e 1 sekondë'); + expect(clockformatted_1[1], '1 orë, 1 min., 1 sek.'); + expect(clockformatted_1[2], '1 orë, 1 min., 1 sek.'); + expect(clockformatted_1[3], '1 orë, 1 min., 1 sek.'); + + expect(clockformatted_17[0], '17 orë, 17 minuta e 17 sekonda'); + expect(clockformatted_17[1], '17 orë, 17 min., 17 sek.'); + expect(clockformatted_17[2], '17 orë, 17 min., 17 sek.'); + expect(clockformatted_17[3], '17 orë, 17 min., 17 sek.'); + }); + test('testDurFmt_sv_FI', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'sv-FI', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 år, 1 månad, 1 vecka, 1 dygn'); + expect(textformatted_1[1], '1 år, 1 mån, 1 v, 1 d'); + expect(textformatted_1[2], '1å, 1m, 1v, 1d'); + expect(textformatted_1[3], '1å 1m 1v 1d'); + + expect(textformatted_2[0], '2 år, 2 månader, 2 veckor, 2 dygn'); + expect(textformatted_2[1], '2 år, 2 mån, 2 v, 2 d'); + expect(textformatted_2[2], '2å, 2m, 2v, 2d'); + expect(textformatted_2[3], '2å 2m 2v 2d'); + + expect(clockformatted_1[0], '1 timme, 1 minut, 1 sekund'); + expect(clockformatted_1[1], '1 tim, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 timmar, 2 minuter, 2 sekunder'); + expect(clockformatted_2[1], '2 tim, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_sv_SE', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'sv-SE', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 år, 1 månad, 1 vecka, 1 dygn'); + expect(textformatted_1[1], '1 år, 1 mån, 1 v, 1 d'); + expect(textformatted_1[2], '1å, 1m, 1v, 1d'); + expect(textformatted_1[3], '1å 1m 1v 1d'); + + expect(textformatted_17[0], '17 år, 17 månader, 17 veckor, 17 dygn'); + expect(textformatted_17[1], '17 år, 17 mån, 17 v, 17 d'); + expect(textformatted_17[2], '17å, 17m, 17v, 17d'); + expect(textformatted_17[3], '17å 17m 17v 17d'); + + expect(clockformatted_1[0], '1 timme, 1 minut, 1 sekund'); + expect(clockformatted_1[1], '1 tim, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_17[0], '17 timmar, 17 minuter, 17 sekunder'); + expect(clockformatted_17[1], '17 tim, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17m, 17s'); + expect(clockformatted_17[3], '17h 17m 17s'); + }); + test('testDurFmt_ta_IN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ta-IN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 ஆண்டு, 1 மாதம், 1 வாரம், 1 நாள்'); + expect(textformatted_1[1], '1 ஆண்டு, 1 மாதம், 1 வாரம், 1 நாள்'); + expect(textformatted_1[2], '1 ஆ 1 மா 1 வா 1 நா'); + expect(textformatted_1[3], '1 ஆ 1 மா 1 வா 1 நா'); + + expect( + textformatted_2[0], '2 ஆண்டுகள், 2 மாதங்கள், 2 வாரங்கள், 2 நாட்கள்'); + expect(textformatted_2[1], '2 ஆண்டு., 2 மாத., 2 வார., 2 நாட்கள்'); + expect(textformatted_2[2], '2 ஆ 2 மா 2 வா 2 நா'); + expect(textformatted_2[3], '2 ஆ 2 மா 2 வா 2 நா'); + + expect(clockformatted_1[0], '1 மணிநேரம், 1 நிமிடம், 1 விநாடி'); + expect(clockformatted_1[1], '1 மணிநேரம், 1 நிமிடம், 1 விநாடி'); + expect(clockformatted_1[2], '1 ம.நே. 1 நிமி. 1 வி.'); + expect(clockformatted_1[3], '1 ம.நே. 1 நிமி. 1 வி.'); + + expect(clockformatted_2[0], '2 மணிநேரங்கள், 2 நிமிடங்கள், 2 விநாடிகள்'); + expect(clockformatted_2[1], '2 மணிநேரம், 2 நிமிட, 2 விநாடி'); + expect(clockformatted_2[2], '2 ம.நே. 2 நிமி. 2 வி.'); + expect(clockformatted_2[3], '2 ம.நே. 2 நிமி. 2 வி.'); + }); + test('testDurFmt_te_IN', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'te-IN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 సంవత్సరం, 1 నెల, 1 వారం, 1 రోజు'); + expect(textformatted_1[1], '1 సం., 1 నె., 1 వా., 1 రోజు'); + expect(textformatted_1[2], '1సం, 1నె, 1వా, 1రో'); + expect(textformatted_1[3], '1సం, 1నె, 1వా, 1రో'); + + expect( + textformatted_16[0], '16 సంవత్సరాలు, 16 నెలలు, 16 వారాలు, 16 రోజులు'); + expect(textformatted_16[1], '16 సం., 16 నె., 16 వా., 16 రోజులు'); + expect(textformatted_16[2], '16సం, 16నె, 16వా, 16రో'); + expect(textformatted_16[3], '16సం, 16నె, 16వా, 16రో'); + + expect(clockformatted_1[0], '1 గంట, 1 నిమిషం, 1 సెకను'); + expect(clockformatted_1[1], '1 గం., 1 నిమి., 1 సె.'); + expect(clockformatted_1[2], '1గం, 1ని, 1సె'); + expect(clockformatted_1[3], '1గం, 1ని, 1సె'); + + expect(clockformatted_16[0], '16 గంటలు, 16 నిమిషాలు, 16 సెకన్లు'); + expect(clockformatted_16[1], '16 గం., 16 నిమి., 16 సెక.'); + expect(clockformatted_16[2], '16గం, 16ని, 16సె'); + expect(clockformatted_16[3], '16గం, 16ని, 16సె'); + }); + test('testDurFmt_th_TH', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'th-TH', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 ปี 1 เดือน 1 สัปดาห์ และ 1 วัน'); + expect(textformatted_1[1], '1 ปี 1 เดือน 1 สัปดาห์ 1 วัน'); + expect(textformatted_1[2], '1ปี 1เดือน 1สัปดาห์ 1วัน'); + expect(textformatted_1[3], '1ปี 1เดือน 1สัปดาห์ 1วัน'); + + expect(textformatted_16[0], '16 ปี 16 เดือน 16 สัปดาห์ และ 16 วัน'); + expect(textformatted_16[1], '16 ปี 16 เดือน 16 สัปดาห์ 16 วัน'); + expect(textformatted_16[2], '16ปี 16เดือน 16สัปดาห์ 16วัน'); + expect(textformatted_16[3], '16ปี 16เดือน 16สัปดาห์ 16วัน'); + + expect(clockformatted_1[0], '1 ชั่วโมง 1 นาที และ 1 วินาที'); + expect(clockformatted_1[1], '1 ชม. 1 นาที 1 วิ'); + expect(clockformatted_1[2], '1ชม. 1นาที 1วิ'); + expect(clockformatted_1[3], '1ชม. 1นาที 1วิ'); + + expect(clockformatted_16[0], '16 ชั่วโมง 16 นาที และ 16 วินาที'); + expect(clockformatted_16[1], '16 ชม. 16 นาที 16 วิ'); + expect(clockformatted_16[2], '16ชม. 16นาที 16วิ'); + expect(clockformatted_16[3], '16ชม. 16นาที 16วิ'); + }); + test('testDurFmt_tr_AM', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'tr-AM', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 yıl 1 ay 1 hafta 1 gün'); + expect(textformatted_1[1], '1 yıl 1 ay 1 hf. 1 gün'); + expect(textformatted_1[2], '1y 1a 1h 1g'); + expect(textformatted_1[3], '1y 1a 1h 1g'); + + expect(textformatted_2[0], '2 yıl 2 ay 2 hafta 2 gün'); + expect(textformatted_2[1], '2 yıl 2 ay 2 hf. 2 gün'); + expect(textformatted_2[2], '2y 2a 2h 2g'); + expect(textformatted_2[3], '2y 2a 2h 2g'); + + expect(clockformatted_1[0], '1 saat 1 dakika 1 saniye'); + expect(clockformatted_1[1], '1 sa. 1 dk. 1 sn.'); + expect(clockformatted_1[2], '1 sa 1d 1sn'); + expect(clockformatted_1[3], '1 sa 1d 1sn'); + + expect(clockformatted_2[0], '2 saat 2 dakika 2 saniye'); + expect(clockformatted_2[1], '2 sa. 2 dk. 2 sn.'); + expect(clockformatted_2[2], '2s 2d 2sn'); + expect(clockformatted_2[3], '2s 2d 2sn'); + }); + test('testDurFmt_tr_AZ', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'tr-AZ', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 yıl 1 ay 1 hafta 1 gün'); + expect(textformatted_1[1], '1 yıl 1 ay 1 hf. 1 gün'); + expect(textformatted_1[2], '1y 1a 1h 1g'); + expect(textformatted_1[3], '1y 1a 1h 1g'); + + expect(textformatted_16[0], '16 yıl 16 ay 16 hafta 16 gün'); + expect(textformatted_16[1], '16 yıl 16 ay 16 hf. 16 gün'); + expect(textformatted_16[2], '16y 16a 16h 16g'); + expect(textformatted_16[3], '16y 16a 16h 16g'); + + expect(clockformatted_1[0], '1 saat 1 dakika 1 saniye'); + expect(clockformatted_1[1], '1 sa. 1 dk. 1 sn.'); + expect(clockformatted_1[2], '1 sa 1d 1sn'); + expect(clockformatted_1[3], '1 sa 1d 1sn'); + + expect(clockformatted_16[0], '16 saat 16 dakika 16 saniye'); + expect(clockformatted_16[1], '16 sa. 16 dk. 16 sn.'); + expect(clockformatted_16[2], '16s 16d 16sn'); + expect(clockformatted_16[3], '16s 16d 16sn'); + }); + test('testDurFmt_tr_CY', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'tr-CY', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 yıl 1 ay 1 hafta 1 gün'); + expect(textformatted_1[1], '1 yıl 1 ay 1 hf. 1 gün'); + expect(textformatted_1[2], '1y 1a 1h 1g'); + expect(textformatted_1[3], '1y 1a 1h 1g'); + + expect(textformatted_17[0], '17 yıl 17 ay 17 hafta 17 gün'); + expect(textformatted_17[1], '17 yıl 17 ay 17 hf. 17 gün'); + expect(textformatted_17[2], '17y 17a 17h 17g'); + expect(textformatted_17[3], '17y 17a 17h 17g'); + + expect(clockformatted_1[0], '1 saat 1 dakika 1 saniye'); + expect(clockformatted_1[1], '1 sa. 1 dk. 1 sn.'); + expect(clockformatted_1[2], '1 sa 1d 1sn'); + expect(clockformatted_1[3], '1 sa 1d 1sn'); + + expect(clockformatted_17[0], '17 saat 17 dakika 17 saniye'); + expect(clockformatted_17[1], '17 sa. 17 dk. 17 sn.'); + expect(clockformatted_17[2], '17s 17d 17sn'); + expect(clockformatted_17[3], '17s 17d 17sn'); + }); + test('testDurFmt_tr_TR', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'tr-TR', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 yıl 1 ay 1 hafta 1 gün'); + expect(textformatted_1[1], '1 yıl 1 ay 1 hf. 1 gün'); + expect(textformatted_1[2], '1y 1a 1h 1g'); + expect(textformatted_1[3], '1y 1a 1h 1g'); + + expect(textformatted_2[0], '2 yıl 2 ay 2 hafta 2 gün'); + expect(textformatted_2[1], '2 yıl 2 ay 2 hf. 2 gün'); + expect(textformatted_2[2], '2y 2a 2h 2g'); + expect(textformatted_2[3], '2y 2a 2h 2g'); + + expect(clockformatted_1[0], '1 saat 1 dakika 1 saniye'); + expect(clockformatted_1[1], '1 sa. 1 dk. 1 sn.'); + expect(clockformatted_1[2], '1 sa 1d 1sn'); + expect(clockformatted_1[3], '1 sa 1d 1sn'); + + expect(clockformatted_2[0], '2 saat 2 dakika 2 saniye'); + expect(clockformatted_2[1], '2 sa. 2 dk. 2 sn.'); + expect(clockformatted_2[2], '2s 2d 2sn'); + expect(clockformatted_2[3], '2s 2d 2sn'); + }); + test('testDurFmt_uk_UA', () { + // 1 2 5 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_5 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_5 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'uk-UA', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_5.add( + fmt.format(ILibDateOptions(year: 5, month: 5, week: 5, day: 5))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_5 + .add(fmt.format(ILibDateOptions(hour: 5, minute: 5, second: 5))); + } + + expect(textformatted_1[0], '1 рік, 1 місяць, 1 тиждень і 1 день'); + expect(textformatted_1[1], '1 р., 1 міс., 1 тиж., 1 дн.'); + expect(textformatted_1[2], '1р, 1м, 1т, 1д'); + expect(textformatted_1[3], '1р, 1м, 1т, 1д'); + + expect(textformatted_2[0], '2 роки, 2 місяці, 2 тижні і 2 дні'); + expect(textformatted_2[1], '2 р., 2 міс., 2 тиж., 2 дн.'); + expect(textformatted_2[2], '2р, 2м, 2т, 2д'); + expect(textformatted_2[3], '2р, 2м, 2т, 2д'); + + expect(textformatted_5[0], '5 років, 5 місяців, 5 тижнів і 5 днів'); + expect(textformatted_5[1], '5 р., 5 міс., 5 тиж., 5 дн.'); + expect(textformatted_5[2], '5р, 5м, 5т, 5д'); + expect(textformatted_5[3], '5р, 5м, 5т, 5д'); + + expect(clockformatted_1[0], '1 година, 1 хвилина і 1 секунда'); + expect(clockformatted_1[1], '1 год, 1 хв, 1 с'); + expect(clockformatted_1[2], '1г, 1х, 1с'); + expect(clockformatted_1[3], '1г, 1х, 1с'); + + expect(clockformatted_2[0], '2 години, 2 хвилини і 2 секунди'); + expect(clockformatted_2[1], '2 год, 2 хв, 2 с'); + expect(clockformatted_2[2], '2г, 2х, 2с'); + expect(clockformatted_2[3], '2г, 2х, 2с'); + + expect(clockformatted_5[0], '5 годин, 5 хвилин і 5 секунд'); + expect(clockformatted_5[1], '5 год, 5 хв, 5 с'); + expect(clockformatted_5[2], '5г, 5х, 5с'); + expect(clockformatted_5[3], '5г, 5х, 5с'); + }); + test('testDurFmt_ur_IN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ur-IN', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '‏1 سال, 1 مہینہ, 1 ہفتہ، اور 1 دن'); + expect(textformatted_1[1], '‏1 سال، 1 مہینہ، 1 ہفتہ، 1 دن'); + expect(textformatted_1[2], '‏1 سال، 1 مہینہ، 1 ہفتہ، 1 دن'); + expect(textformatted_1[3], '‏1 سال، 1 مہینہ، 1 ہفتہ، 1 دن'); + + expect(textformatted_2[0], '‏2 سال, 2 مہینے, 2 ہفتے، اور 2 دن'); + expect(textformatted_2[1], '‏2 سال، 2 مہینے، 2 ہفتے، 2 دن'); + expect(textformatted_2[2], '‏2 سال، 2 مہینے، 2 ہفتے، 2 دن'); + expect(textformatted_2[3], '‏2 سال، 2 مہینے، 2 ہفتے، 2 دن'); + + expect(clockformatted_1[0], '‏1 گھنٹہ, 1 منٹ، اور 1 سیکنڈ'); + expect(clockformatted_1[1], '‏1 گھنٹہ، 1 منٹ، 1 سیکنڈ'); + expect(clockformatted_1[2], '‏1 گھنٹہ، 1 منٹ، 1 سیکنڈ'); + expect(clockformatted_1[3], '‏1 گھنٹہ، 1 منٹ، 1 سیکنڈ'); + + expect(clockformatted_2[0], '‏2 گھنٹے, 2 منٹ، اور 2 سیکنڈ'); + expect(clockformatted_2[1], '‏2 گھنٹے، 2 منٹ، 2 سیکنڈ'); + expect(clockformatted_2[2], '‏2 گھنٹے، 2 منٹ، 2 سیکنڈ'); + expect(clockformatted_2[3], '‏2 گھنٹے، 2 منٹ، 2 سیکنڈ'); + }); + test('testDurFmt_uz_Latn_UZ', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'uz-Latn-UZ', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 yil 1 oy 1 hafta 1 kun'); + expect(textformatted_1[1], '1 yil 1 oy 1 hafta 1 kun'); + expect(textformatted_1[2], '1 yil 1 oy 1 hafta 1 kun'); + expect(textformatted_1[3], '1 yil 1 oy 1 hafta 1 kun'); + + expect(textformatted_2[0], '2 yil 2 oy 2 hafta 2 kun'); + expect(textformatted_2[1], '2 yil 2 oy 2 hafta 2 kun'); + expect(textformatted_2[2], '2 yil 2 oy 2 hafta 2 kun'); + expect(textformatted_2[3], '2 yil 2 oy 2 hafta 2 kun'); + + expect(clockformatted_1[0], '1 soat 1 daqiqa 1 soniya'); + expect(clockformatted_1[1], '1 soat 1 daq. 1 son.'); + expect(clockformatted_1[2], '1 soat 1 daq. 1 s'); + expect(clockformatted_1[3], '1 soat 1 daq. 1 s'); + + expect(clockformatted_2[0], '2 soat 2 daqiqa 2 soniya'); + expect(clockformatted_2[1], '2 soat 2 daq. 2 son.'); + expect(clockformatted_2[2], '2 soat 2 daq. 2 s'); + expect(clockformatted_2[3], '2 soat 2 daq. 2 s'); + }); + test('testDurFmt_testDurFmt_vi_VN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'vi-VN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 năm, 1 tháng, 1 tuần, 1 ngày'); + expect(textformatted_1[1], '1 năm, 1 tháng, 1 tuần, 1 ngày'); + expect(textformatted_1[2], '1 năm, 1 tháng, 1 tuần, 1 ngày'); + expect(textformatted_1[3], '1 năm 1 tháng 1 tuần 1 ngày'); + + expect(textformatted_2[0], '2 năm, 2 tháng, 2 tuần, 2 ngày'); + expect(textformatted_2[1], '2 năm, 2 tháng, 2 tuần, 2 ngày'); + expect(textformatted_2[2], '2 năm, 2 tháng, 2 tuần, 2 ngày'); + expect(textformatted_2[3], '2 năm 2 tháng 2 tuần 2 ngày'); + + expect(clockformatted_1[0], '1 giờ, 1 phút, 1 giây'); + expect(clockformatted_1[1], '1 giờ, 1 phút, 1 giây'); + expect(clockformatted_1[2], '1 giờ, 1 phút, 1 giây'); + expect(clockformatted_1[3], '1 giờ 1 phút 1 giây'); + + expect(clockformatted_2[0], '2 giờ, 2 phút, 2 giây'); + expect(clockformatted_2[1], '2 giờ, 2 phút, 2 giây'); + expect(clockformatted_2[2], '2 giờ, 2 phút, 2 giây'); + expect(clockformatted_2[3], '2 giờ 2 phút 2 giây'); + }); + test('testDurFmt_zh_Hans_CN', () { + // 1 + final List textformatted_1 = []; + final List clockformatted_1 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'zh-Hans-CN', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + } + + expect(textformatted_1[0], '1年1个月1周1天'); + expect(textformatted_1[1], '1年1个月1周1天'); + expect(textformatted_1[2], '1年1个月1周1天'); + expect(textformatted_1[3], '1年1个月1周1天'); + + expect(clockformatted_1[0], '1小时1分钟1秒钟'); + expect(clockformatted_1[1], '1小时1分钟1秒'); + expect(clockformatted_1[2], '1小时1分钟1秒'); + expect(clockformatted_1[3], '1小时1分钟1秒'); + }); + test('testDurFmt_zh_Hant_HK', () { + // 2 + final List textformatted_2 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'zh-Hant-HK', style: 'text', length: length[i])); + + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_2[0], '2 年 2 個月 2 星期 2 日'); + expect(textformatted_2[1], '2 年 2 個月 2 星期 2 日'); + expect(textformatted_2[2], '2年2個月2週2日'); + expect(textformatted_2[3], '2年2個月2週2日'); + + expect(clockformatted_2[0], '2 小時 2 分鐘 2 秒'); + expect(clockformatted_2[1], '2 小時 2 分鐘 2 秒'); + expect(clockformatted_2[2], '2小時2分2秒'); + expect(clockformatted_2[3], '2小時2分2秒'); + }); + test('testDurFmt_zh_Hant_TW', () { + // 1 + final List textformatted_1 = []; + final List clockformatted_1 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'zh-Hant-TW', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + } + + expect(textformatted_1[0], '1 年 1 個月 1 週 1 天'); + expect(textformatted_1[1], '1 年 1 個月 1 週 1 天'); + expect(textformatted_1[2], '1 年1 個月1 週1 天'); + expect(textformatted_1[3], '1 年1 個月1 週1 天'); + + expect(clockformatted_1[0], '1 小時 1 分鐘 1 秒'); + expect(clockformatted_1[1], '1 小時 1 分鐘 1 秒'); + expect(clockformatted_1[2], '1 小時1 分鐘1 秒'); + expect(clockformatted_1[3], '1 小時1 分鐘1 秒'); + }); + test('testDurFmt_en_GE', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-GE', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_CN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-CN', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_MX', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-MX', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_en_TW', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-TW', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_mn_MN', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'mn-MN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 жил 1 сар 1 долоо хоног 1 хоног'); + expect(textformatted_1[1], '1 жил 1 сар 1 д.х 1 хоног'); + expect(textformatted_1[2], '1ж 1с 1 д.х 1 хоног'); + expect(textformatted_1[3], '1ж 1с 1 д.х 1 хоног'); + + expect(textformatted_2[0], '2 жил 2 сар 2 долоо хоног 2 хоног'); + expect(textformatted_2[1], '2 жил 2 сар 2 д.х 2 хоног'); + expect(textformatted_2[2], '2ж 2с 2 д.х 2 хоног'); + expect(textformatted_2[3], '2ж 2с 2 д.х 2 хоног'); + + expect(clockformatted_1[0], '1 цаг 1 минут 1 секунд'); + expect(clockformatted_1[1], '1 цаг 1 мин 1 сек'); + expect(clockformatted_1[2], '1 ц 1 мин 1 сек'); + expect(clockformatted_1[3], '1 ц 1 мин 1 сек'); + + expect(clockformatted_2[0], '2 цаг 2 минут 2 секунд'); + expect(clockformatted_2[1], '2 цаг 2 мин 2 сек'); + expect(clockformatted_2[2], '2 ц 2 мин 2 сек'); + expect(clockformatted_2[3], '2 ц 2 мин 2 сек'); + }); + test('testDurFmt_es_CA', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-CA', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a, 1 m., 1 sem., 1 d'); + expect(textformatted_1[2], '1a, 1m, 1sem, 1d'); + expect(textformatted_1[3], '1a 1m 1sem 1d'); + + expect(textformatted_17[0], '17 años, 17 meses, 17 semanas y 17 días'); + expect(textformatted_17[1], '17 a, 17 m., 17 sem., 17 d'); + expect(textformatted_17[2], '17a, 17m, 17sem, 17d'); + expect(textformatted_17[3], '17a 17m 17sem 17d'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 horas, 17 minutos y 17 segundos'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_af_ZA', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'af-ZA', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 jaar, 1 maand, 1 week, 1 dag'); + expect(textformatted_1[1], '1 j., 1 md., 1 w., 1 dag'); + expect(textformatted_1[2], '1 j., 1 md., 1 w., 1 d.'); + expect(textformatted_1[3], '1 j. 1 md. 1 w. 1 d.'); + + expect(textformatted_2[0], '2 jaar, 2 maande, 2 weke, 2 dae'); + expect(textformatted_2[1], '2 j., 2 md., 2 w., 2 dae'); + expect(textformatted_2[2], '2 j., 2 md., 2 w., 2 d.'); + expect(textformatted_2[3], '2 j. 2 md. 2 w. 2 d.'); + + expect(clockformatted_1[0], '1 uur, 1 minuut, 1 sekonde'); + expect(clockformatted_1[1], '1 u., 1 min., 1 s.'); + expect(clockformatted_1[2], '1 u., 1 min., 1 s.'); + expect(clockformatted_1[3], '1 u. 1 min. 1 s.'); + + expect(clockformatted_2[0], '2 uur, 2 minute, 2 sekondes'); + expect(clockformatted_2[1], '2 u., 2 min., 2 s.'); + expect(clockformatted_2[2], '2 u., 2 min., 2 s.'); + expect(clockformatted_2[3], '2 u. 2 min. 2 s.'); + }); + test('testDurFmt_am_ET', () { + // 1 18 + final List textformatted_1 = []; + final List textformatted_18 = []; + final List clockformatted_1 = []; + final List clockformatted_18 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'am-ET', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_18.add(fmt + .format(ILibDateOptions(year: 18, month: 18, week: 18, day: 18))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_18 + .add(fmt.format(ILibDateOptions(hour: 18, minute: 18, second: 18))); + } + + expect(textformatted_1[0], '1 ዓመት፣ 1 ወር፣ 1 ሳምንት እና 1 ቀናት'); + expect(textformatted_1[1], '1 ዓመት፣ 1 ወራት፣ 1 ሳምንት፣ 1 ቀናት'); + expect(textformatted_1[2], '1 ዓመት፣ 1 ወር፣ 1 ሳምንት፣ 1 ቀ'); + expect(textformatted_1[3], '1 ዓመት፣ 1 ወር፣ 1 ሳምንት፣ 1 ቀ'); + + expect(textformatted_18[0], '18 ዓመታት፣ 18 ወራት፣ 18 ሳምንታት እና 18 ቀናት'); + expect(textformatted_18[1], '18 ዓመታት፣ 18 ወራት፣ 18 ሳምንታት፣ 18 ቀናት'); + expect(textformatted_18[2], '18 ዓ፣ 18 ወር፣ 18 ሳምንት፣ 18 ቀ'); + expect(textformatted_18[3], '18 ዓ፣ 18 ወር፣ 18 ሳምንት፣ 18 ቀ'); + + expect(clockformatted_1[0], '1 ሰዓት፣ 1 ደቂቃ እና 1 ሰከንድ'); + expect(clockformatted_1[1], '1 ሰዓ፣ 1 ደቂ፣ 1 ሰከ'); + expect(clockformatted_1[2], '1 ሰ፣ 1 ደ፣ 1 ሰ'); + expect(clockformatted_1[3], '1 ሰ፣ 1 ደ፣ 1 ሰ'); + + expect(clockformatted_18[0], '18 ሰዓቶች፣ 18 ደቂቃዎች እና 18 ሰከንዶች'); + expect(clockformatted_18[1], '18 ሰዓ፣ 18 ደቂቃ፣ 18 ሰከ'); + expect(clockformatted_18[2], '18 ሰ፣ 18 ደ፣ 18 ሰ'); + expect(clockformatted_18[3], '18 ሰ፣ 18 ደ፣ 18 ሰ'); + }); + test('testDurFmt_ha_Latn_NG', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ha-Latn-NG', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], 'shekara 1, wata 1, mako 1, rana 1'); + expect(textformatted_1[1], 'shkr 1, wat 1, mk 1, rana 1'); + expect(textformatted_1[2], 'shkr 1, w1, m1, r1'); + expect(textformatted_1[3], 'shkr 1, w1, m1, r1'); + + expect(textformatted_2[0], 'shekaru 2, watanni 2, makonni 2, ranaku 2'); + expect(textformatted_2[1], 'shkru 2, wtnn 2, mkn 2, Rnk. 2'); + expect(textformatted_2[2], 's2, w2, m2, r2'); + expect(textformatted_2[3], 's2, w2, m2, r2'); + + expect(clockformatted_1[0], 'sa′a 1, minti 1, daƙiƙa 1'); + expect(clockformatted_1[1], 's 1, mnt 1, d 1'); + expect(clockformatted_1[2], 's1, minti1, d 1'); + expect(clockformatted_1[3], 's1, minti1, d 1'); + + expect(clockformatted_2[0], 'sa′o′i 2, mintoci 2, daƙiƙoƙi 2'); + expect(clockformatted_2[1], 's 2, mnt 2, d 2'); + expect(clockformatted_2[2], 's2, minti 2, d 2'); + expect(clockformatted_2[3], 's2, minti 2, d 2'); + }); + test('testDurFmt_or_IN', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'or-IN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 ବର୍ଷ, 1 ମାସ, 1 ସପ୍ତାହ, 1 ଦିନ'); + expect(textformatted_1[1], '1 ବର୍ଷ, 1 ମାସ, 1 ସପ୍ତାହ, 1 ଦିନ'); + expect(textformatted_1[2], '1ବର୍ଷ 1ମାସ 1ସପ୍ 1ଦିନ'); + expect(textformatted_1[3], '1ବର୍ଷ 1ମାସ 1ସପ୍ 1ଦିନ'); + + expect(textformatted_17[0], '17 ବର୍ଷ, 17 ମାସ, 17 ସପ୍ତାହ, 17 ଦିନ'); + expect(textformatted_17[1], '17 ବର୍ଷ, 17 ମାସ, 17 ସପ୍ତାହ, 17 ଦିନ'); + expect(textformatted_17[2], '17ବର୍ଷ 17ମାସ 17 ସପ୍ 17ଦିନ'); + expect(textformatted_17[3], '17ବର୍ଷ 17ମାସ 17 ସପ୍ 17ଦିନ'); + + expect(clockformatted_1[0], '1 ଘଣ୍ଟା, 1 ମିନିଟ୍‌, 1 ସେକେଣ୍ଡ'); + expect(clockformatted_1[1], '1 ଘଣ୍ଟା, 1 ମିନିଟ୍‌, 1 ସେକେଣ୍ଡ'); + expect(clockformatted_1[2], '1ଘଣ୍ଟା 1ମିନିଟ୍‌ 1ସେକ୍'); + expect(clockformatted_1[3], '1ଘଣ୍ଟା 1ମିନିଟ୍‌ 1ସେକ୍'); + + expect(clockformatted_17[0], '17 ଘଣ୍ଟା, 17 ମିନିଟ୍, 17 ସେକେଣ୍ଡ'); + expect(clockformatted_17[1], '17 ଘଣ୍ଟା, 17 ମିନିଟ୍‌, 17 ସେକେଣ୍ଡ'); + expect(clockformatted_17[2], '17ଘଣ୍ଟା 17ମିନିଟ୍‌ 17ସେକ୍'); + expect(clockformatted_17[3], '17ଘଣ୍ଟା 17ମିନିଟ୍‌ 17ସେକ୍'); + }); + test('testDurFmt_az_Latn_AZ', () { + // 1 19 + final List textformatted_1 = []; + final List textformatted_19 = []; + final List clockformatted_1 = []; + final List clockformatted_19 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'az-Latn-AZ', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_19.add(fmt + .format(ILibDateOptions(year: 19, month: 19, week: 19, day: 19))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_19 + .add(fmt.format(ILibDateOptions(hour: 19, minute: 19, second: 19))); + } + + expect(textformatted_1[0], '1 il, 1 ay, 1 həftə, 1 gün'); + expect(textformatted_1[1], '1 il, 1 ay, 1 hft, 1 gün'); + expect(textformatted_1[2], '1 il, 1 ay, 1 hft, 1 gün'); + expect(textformatted_1[3], '1 il, 1 ay, 1 hft, 1 gün'); + + expect(textformatted_19[0], '19 il, 19 ay, 19 həftə, 19 gün'); + expect(textformatted_19[1], '19 il, 19 ay, 19 hft, 19 gün'); + expect(textformatted_19[2], '19 il, 19 ay, 19 hft, 19 gün'); + expect(textformatted_19[3], '19 il, 19 ay, 19 hft, 19 gün'); + + expect(clockformatted_1[0], '1 saat, 1 dəqiqə, 1 saniyə'); + expect(clockformatted_1[1], '1 saat, 1 dəq, 1 san'); + expect(clockformatted_1[2], '1 saat, 1 dəq, 1 san'); + expect(clockformatted_1[3], '1 saat, 1 dəq, 1 san'); + + expect(clockformatted_19[0], '19 saat, 19 dəqiqə, 19 saniyə'); + expect(clockformatted_19[1], '19 saat, 19 dəq, 19 san'); + expect(clockformatted_19[2], '19 saat, 19 dəq, 19 san'); + expect(clockformatted_19[3], '19 saat, 19 dəq, 19 san'); + }); + test('testDurFmt_km_KH', () { + // 1 23 + final List textformatted_1 = []; + final List textformatted_23 = []; + final List clockformatted_1 = []; + final List clockformatted_23 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'km-KH', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_23.add(fmt + .format(ILibDateOptions(year: 23, month: 23, week: 23, day: 23))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_23 + .add(fmt.format(ILibDateOptions(hour: 23, minute: 23, second: 23))); + } + + expect(textformatted_1[0], '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ'); + expect(textformatted_1[1], '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ'); + expect(textformatted_1[2], '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ'); + expect(textformatted_1[3], '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ'); + + expect(textformatted_23[0], '23 ឆ្នាំ 23 ខែ 23 សប្ដាហ៍ 23 ថ្ងៃ'); + expect(textformatted_23[1], '23 ឆ្នាំ 23 ខែ 23 សប្ដាហ៍ 23 ថ្ងៃ'); + expect(textformatted_23[2], '23 ឆ្នាំ 23 ខែ 23 សប្ដាហ៍ 23 ថ្ងៃ'); + expect(textformatted_23[3], '23 ឆ្នាំ 23 ខែ 23 សប្ដាហ៍ 23 ថ្ងៃ'); + + expect(clockformatted_1[0], '1 ម៉ោង 1 នាទី 1 វិនាទី'); + expect(clockformatted_1[1], '1 ម៉ោង 1 នាទី 1 វិនាទី'); + expect(clockformatted_1[2], '1 ម៉ោង 1 នាទី 1 វិនាទី'); + expect(clockformatted_1[3], '1 ម៉ោង 1 នាទី 1 វិនាទី'); + + expect(clockformatted_23[0], '23 ម៉ោង 23 នាទី 23 វិនាទី'); + expect(clockformatted_23[1], '23 ម៉ោង 23 នាទី 23 វិនាទី'); + expect(clockformatted_23[2], '23 ម៉ោង 23 នាទី 23 វិនាទី'); + expect(clockformatted_23[3], '23 ម៉ោង 23 នាទី 23 វិនាទី'); + }); + test('testDurFmt_si_LK', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'si-LK', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], 'වසර 1, මාස 1, සති 1, සහ දින 1'); + expect(textformatted_1[1], 'වසර 1, මාස 1, සති 1, දින 1'); + expect(textformatted_1[2], 'ව 1, මා 1, ස 1, දි 1'); + expect(textformatted_1[3], 'ව 1, මා 1, ස 1, දි 1'); + + expect(textformatted_2[0], 'වසර 2, මාස 2, සති 2, සහ දින 2'); + expect(textformatted_2[1], 'වසර 2, මාස 2, සති 2, දින 2'); + expect(textformatted_2[2], 'ව 2, මා 2, ස 2, දි 2'); + expect(textformatted_2[3], 'ව 2, මා 2, ස 2, දි 2'); + + expect(clockformatted_1[0], 'පැය 1, මිනිත්තු 1, සහ තත්පර 1'); + expect(clockformatted_1[1], 'පැය 1, මිනි 1, තත් 1'); + expect(clockformatted_1[2], 'පැය 1, මි 1, ත 1'); + expect(clockformatted_1[3], 'පැය 1, මි 1, ත 1'); + + expect(clockformatted_2[0], 'පැය 2, මිනිත්තු 2, සහ තත්පර 2'); + expect(clockformatted_2[1], 'පැය 2, මිනි 2, තත් 2'); + expect(clockformatted_2[2], 'පැය 2, මි 2, ත 2'); + expect(clockformatted_2[3], 'පැය 2, මි 2, ත 2'); + }); + test('testDurFmt_ar_AE', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-AE', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_BH', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-BH', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + + test('testDurFmt_ar_DJ', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-DJ', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_DZ', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-DZ', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_JO', () { + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-JO', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_KW', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-KW', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_LB', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-LB', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_LY', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-LY', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_MR', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-MR', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_OM', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-OM', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_QA', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-QA', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_SA', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-SA', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏سنتان وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏سنتان وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنوات و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنوات و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوانٍ'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_SD', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-SD', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_SY', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-SY', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_TN', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-TN', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_ar_YE', () { + // 1 2 3 11 100 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List textformatted_3 = []; + final List textformatted_11 = []; + final List textformatted_100 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + final List clockformatted_3 = []; + final List clockformatted_11 = []; + final List clockformatted_100 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ar-YE', + style: 'text', + length: length[i], + useNative: false)); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + textformatted_3.add( + fmt.format(ILibDateOptions(year: 3, month: 3, week: 3, day: 3))); + textformatted_11.add(fmt + .format(ILibDateOptions(year: 11, month: 11, week: 11, day: 11))); + textformatted_100.add(fmt.format( + ILibDateOptions(year: 100, month: 100, week: 100, day: 100))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + clockformatted_3 + .add(fmt.format(ILibDateOptions(hour: 3, minute: 3, second: 3))); + clockformatted_11 + .add(fmt.format(ILibDateOptions(hour: 11, minute: 11, second: 11))); + clockformatted_100.add( + fmt.format(ILibDateOptions(hour: 100, minute: 100, second: 100))); + } + + expect(textformatted_1[0], '‏سنة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[1], '‏سنة واحدة، وشهر، وأسبوع، ويوم'); + expect(textformatted_1[2], '‏1 سنة وشهر و1 أ و1 ي'); + expect(textformatted_1[3], '‏1 سنة وشهر و1 أ و1 ي'); + + expect(textformatted_2[0], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[1], '‏سنتان، وشهران، وأسبوعان، ويومان'); + expect(textformatted_2[2], '‏2 سنة وشهران و2 أ و2 ي'); + expect(textformatted_2[3], '‏2 سنة وشهران و2 أ و2 ي'); + + expect(textformatted_3[0], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[1], '‏3 سنوات، و3 أشهر، و3 أسابيع، و3 أيام'); + expect(textformatted_3[2], '‏3 سنة و3 أشهر و3 أ و3 ي'); + expect(textformatted_3[3], '‏3 سنة و3 أشهر و3 أ و3 ي'); + + expect(textformatted_11[0], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[1], '‏11 سنة، و11 شهرًا، و11 أسبوعًا، و11 يومًا'); + expect(textformatted_11[2], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + expect(textformatted_11[3], '‏11 سنة و11 شهرًا و11 أ و11 ي'); + + expect(textformatted_100[0], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[1], '‏100 سنة، و100 شهر، و100 أسبوع، و100 يوم'); + expect(textformatted_100[2], '‏100 سنة و100 شهر و100 أ و100 ي'); + expect(textformatted_100[3], '‏100 سنة و100 شهر و100 أ و100 ي'); + + expect(clockformatted_1[0], '‏ساعة، ودقيقة، وثانية'); + expect(clockformatted_1[1], '‏1 س، و1 د، و1 ث'); + expect(clockformatted_1[2], '‏1 س و1 د و1 ث'); + expect(clockformatted_1[3], '‏1 س و1 د و1 ث'); + + expect(clockformatted_2[0], '‏ساعتان، ودقيقتان، وثانيتان'); + expect(clockformatted_2[1], '‏2 س، و2 د، و2 ث'); + expect(clockformatted_2[2], '‏2 س و2 د و2 ث'); + expect(clockformatted_2[3], '‏2 س و2 د و2 ث'); + + expect(clockformatted_3[0], '‏3 ساعات، و3 دقائق، و3 ثوان'); + expect(clockformatted_3[1], '‏3 س، و3 د، و3 ث'); + expect(clockformatted_3[2], '‏3 س و3 د و3 ث'); + expect(clockformatted_3[3], '‏3 س و3 د و3 ث'); + + expect(clockformatted_11[0], '‏11 ساعة، و11 دقيقة، و11 ثانية'); + expect(clockformatted_11[1], '‏11 س، و11 د، و11 ث'); + expect(clockformatted_11[2], '‏11 س و11 د و11 ث'); + expect(clockformatted_11[3], '‏11 س و11 د و11 ث'); + + expect(clockformatted_100[0], '‏100 ساعة، و100 دقيقة، و100 ثانية'); + expect(clockformatted_100[1], '‏100 س، و100 د، و100 ث'); + expect(clockformatted_100[2], '‏100 س و100 د و100 ث'); + expect(clockformatted_100[3], '‏100 س و100 د و100 ث'); + }); + test('testDurFmt_en_ET', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'en-ET', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 year, 1 month, 1 week, 1 day'); + expect(textformatted_1[1], '1 yr, 1 mth, 1 wk, 1 day'); + expect(textformatted_1[2], '1y, 1m, 1w, 1d'); + expect(textformatted_1[3], '1y 1m 1w 1d'); + + expect(textformatted_2[0], '2 years, 2 months, 2 weeks, 2 days'); + expect(textformatted_2[1], '2 yrs, 2 mths, 2 wks, 2 days'); + expect(textformatted_2[2], '2y, 2m, 2w, 2d'); + expect(textformatted_2[3], '2y 2m 2w 2d'); + + expect(clockformatted_1[0], '1 hour, 1 minute, 1 second'); + expect(clockformatted_1[1], '1 hr, 1 min, 1 sec'); + expect(clockformatted_1[2], '1h, 1m, 1s'); + expect(clockformatted_1[3], '1h 1m 1s'); + + expect(clockformatted_2[0], '2 hours, 2 minutes, 2 seconds'); + expect(clockformatted_2[1], '2 hr, 2 min, 2 sec'); + expect(clockformatted_2[2], '2h, 2m, 2s'); + expect(clockformatted_2[3], '2h 2m 2s'); + }); + test('testDurFmt_es_GQ', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-GQ', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a, 1 m., 1 sem., 1 d'); + expect(textformatted_1[2], '1a, 1m, 1sem, 1d'); + expect(textformatted_1[3], '1a 1m 1sem 1d'); + + expect(textformatted_2[0], '2 años, 2 meses, 2 semanas y 2 días'); + expect(textformatted_2[1], '2 a, 2 m., 2 sem., 2 d'); + expect(textformatted_2[2], '2a, 2m, 2sem, 2d'); + expect(textformatted_2[3], '2a 2m 2sem 2d'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 horas, 2 minutos y 2 segundos'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_es_PH', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'es-PH', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 año, 1 mes, 1 semana y 1 día'); + expect(textformatted_1[1], '1 a, 1 m., 1 sem., 1 d'); + expect(textformatted_1[2], '1a, 1m, 1sem, 1d'); + expect(textformatted_1[3], '1a 1m 1sem 1d'); + + expect(textformatted_17[0], '17 años, 17 meses, 17 semanas y 17 días'); + expect(textformatted_17[1], '17 a, 17 m., 17 sem., 17 d'); + expect(textformatted_17[2], '17a, 17m, 17sem, 17d'); + expect(textformatted_17[3], '17a 17m 17sem 17d'); + + expect(clockformatted_1[0], '1 hora, 1 minuto y 1 segundo'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 horas, 17 minutos y 17 segundos'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_fr_BF', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-BF', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_2[0], '2 ans, 2 mois, 2 semaines et 2 jours'); + expect(textformatted_2[1], '2 ans, 2 m., 2 sem., 2 j'); + expect(textformatted_2[2], '2a, 2m., 2sem., 2j'); + expect(textformatted_2[3], '2a 2m. 2sem. 2j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 heures, 2 minutes et 2 secondes'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_fr_BJ', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-BJ', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_17[0], '17 ans, 17 mois, 17 semaines et 17 jours'); + expect(textformatted_17[1], '17 ans, 17 m., 17 sem., 17 j'); + expect(textformatted_17[2], '17a, 17m., 17sem., 17j'); + expect(textformatted_17[3], '17a 17m. 17sem. 17j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 heures, 17 minutes et 17 secondes'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_fr_CD', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-CD', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_17[0], '17 ans, 17 mois, 17 semaines et 17 jours'); + expect(textformatted_17[1], '17 ans, 17 m., 17 sem., 17 j'); + expect(textformatted_17[2], '17a, 17m., 17sem., 17j'); + expect(textformatted_17[3], '17a 17m. 17sem. 17j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 heures, 17 minutes et 17 secondes'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_fr_CF', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-CF', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_2[0], '2 ans, 2 mois, 2 semaines et 2 jours'); + expect(textformatted_2[1], '2 ans, 2 m., 2 sem., 2 j'); + expect(textformatted_2[2], '2a, 2m., 2sem., 2j'); + expect(textformatted_2[3], '2a 2m. 2sem. 2j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 heures, 2 minutes et 2 secondes'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_fr_CG', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-CG', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_16[0], '16 ans, 16 mois, 16 semaines et 16 jours'); + expect(textformatted_16[1], '16 ans, 16 m., 16 sem., 16 j'); + expect(textformatted_16[2], '16a, 16m., 16sem., 16j'); + expect(textformatted_16[3], '16a 16m. 16sem. 16j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 heures, 16 minutes et 16 secondes'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_fr_CI', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-CI', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_17[0], '17 ans, 17 mois, 17 semaines et 17 jours'); + expect(textformatted_17[1], '17 ans, 17 m., 17 sem., 17 j'); + expect(textformatted_17[2], '17a, 17m., 17sem., 17j'); + expect(textformatted_17[3], '17a 17m. 17sem. 17j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 heures, 17 minutes et 17 secondes'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_fr_CM', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-CM', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_16[0], '16 ans, 16 mois, 16 semaines et 16 jours'); + expect(textformatted_16[1], '16 ans, 16 m., 16 sem., 16 j'); + expect(textformatted_16[2], '16a, 16m., 16sem., 16j'); + expect(textformatted_16[3], '16a 16m. 16sem. 16j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 heures, 16 minutes et 16 secondes'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_fr_GQ', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-GQ', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_16[0], '16 ans, 16 mois, 16 semaines et 16 jours'); + expect(textformatted_16[1], '16 ans, 16 m., 16 sem., 16 j'); + expect(textformatted_16[2], '16a, 16m., 16sem., 16j'); + expect(textformatted_16[3], '16a 16m. 16sem. 16j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 heures, 16 minutes et 16 secondes'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_fr_DJ', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-DJ', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_2[0], '2 ans, 2 mois, 2 semaines et 2 jours'); + expect(textformatted_2[1], '2 ans, 2 m., 2 sem., 2 j'); + expect(textformatted_2[2], '2a, 2m., 2sem., 2j'); + expect(textformatted_2[3], '2a 2m. 2sem. 2j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 heures, 2 minutes et 2 secondes'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_fr_DZ', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-DZ', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_2[0], '2 ans, 2 mois, 2 semaines et 2 jours'); + expect(textformatted_2[1], '2 ans, 2 m., 2 sem., 2 j'); + expect(textformatted_2[2], '2a, 2m., 2sem., 2j'); + expect(textformatted_2[3], '2a 2m. 2sem. 2j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 heures, 2 minutes et 2 secondes'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_fr_GA', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-GA', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_2[0], '2 ans, 2 mois, 2 semaines et 2 jours'); + expect(textformatted_2[1], '2 ans, 2 m., 2 sem., 2 j'); + expect(textformatted_2[2], '2a, 2m., 2sem., 2j'); + expect(textformatted_2[3], '2a 2m. 2sem. 2j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 heures, 2 minutes et 2 secondes'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_fr_GN', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-GN', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_16[0], '16 ans, 16 mois, 16 semaines et 16 jours'); + expect(textformatted_16[1], '16 ans, 16 m., 16 sem., 16 j'); + expect(textformatted_16[2], '16a, 16m., 16sem., 16j'); + expect(textformatted_16[3], '16a 16m. 16sem. 16j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 heures, 16 minutes et 16 secondes'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_fr_LB', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-LB', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_2[0], '2 ans, 2 mois, 2 semaines et 2 jours'); + expect(textformatted_2[1], '2 ans, 2 m., 2 sem., 2 j'); + expect(textformatted_2[2], '2a, 2m., 2sem., 2j'); + expect(textformatted_2[3], '2a 2m. 2sem. 2j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 heures, 2 minutes et 2 secondes'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_fr_ML', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-ML', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_17[0], '17 ans, 17 mois, 17 semaines et 17 jours'); + expect(textformatted_17[1], '17 ans, 17 m., 17 sem., 17 j'); + expect(textformatted_17[2], '17a, 17m., 17sem., 17j'); + expect(textformatted_17[3], '17a 17m. 17sem. 17j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_17[0], '17 heures, 17 minutes et 17 secondes'); + expect(clockformatted_17[1], '17 h, 17 min, 17 s'); + expect(clockformatted_17[2], '17h, 17min, 17s'); + expect(clockformatted_17[3], '17h 17min 17s'); + }); + test('testDurFmt_fr_RW', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-RW', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_2[0], '2 ans, 2 mois, 2 semaines et 2 jours'); + expect(textformatted_2[1], '2 ans, 2 m., 2 sem., 2 j'); + expect(textformatted_2[2], '2a, 2m., 2sem., 2j'); + expect(textformatted_2[3], '2a 2m. 2sem. 2j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 heures, 2 minutes et 2 secondes'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_fr_SN', () { + // 1 16 + final List textformatted_1 = []; + final List textformatted_16 = []; + final List clockformatted_1 = []; + final List clockformatted_16 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-SN', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_16.add(fmt + .format(ILibDateOptions(year: 16, month: 16, week: 16, day: 16))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_16 + .add(fmt.format(ILibDateOptions(hour: 16, minute: 16, second: 16))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_16[0], '16 ans, 16 mois, 16 semaines et 16 jours'); + expect(textformatted_16[1], '16 ans, 16 m., 16 sem., 16 j'); + expect(textformatted_16[2], '16a, 16m., 16sem., 16j'); + expect(textformatted_16[3], '16a 16m. 16sem. 16j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_16[0], '16 heures, 16 minutes et 16 secondes'); + expect(clockformatted_16[1], '16 h, 16 min, 16 s'); + expect(clockformatted_16[2], '16h, 16min, 16s'); + expect(clockformatted_16[3], '16h 16min 16s'); + }); + test('testDurFmt_fr_TG', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'fr-TG', style: 'text', length: length[i])); + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 an, 1 mois, 1 semaine et 1 jour'); + expect(textformatted_1[1], '1 an, 1 m., 1 sem., 1 j'); + expect(textformatted_1[2], '1a, 1m., 1sem., 1j'); + expect(textformatted_1[3], '1a 1m. 1sem. 1j'); + + expect(textformatted_2[0], '2 ans, 2 mois, 2 semaines et 2 jours'); + expect(textformatted_2[1], '2 ans, 2 m., 2 sem., 2 j'); + expect(textformatted_2[2], '2a, 2m., 2sem., 2j'); + expect(textformatted_2[3], '2a 2m. 2sem. 2j'); + + expect(clockformatted_1[0], '1 heure, 1 minute et 1 seconde'); + expect(clockformatted_1[1], '1 h, 1 min, 1 s'); + expect(clockformatted_1[2], '1h, 1min, 1s'); + expect(clockformatted_1[3], '1h 1min 1s'); + + expect(clockformatted_2[0], '2 heures, 2 minutes et 2 secondes'); + expect(clockformatted_2[1], '2 h, 2 min, 2 s'); + expect(clockformatted_2[2], '2h, 2min, 2s'); + expect(clockformatted_2[3], '2h 2min 2s'); + }); + test('testDurFmt_ms_SG', () { + // 1 2 + final List textformatted_1 = []; + final List textformatted_2 = []; + final List clockformatted_1 = []; + final List clockformatted_2 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ms-SG', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_2.add( + fmt.format(ILibDateOptions(year: 2, month: 2, week: 2, day: 2))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_2 + .add(fmt.format(ILibDateOptions(hour: 2, minute: 2, second: 2))); + } + + expect(textformatted_1[0], '1 tahun, 1 bulan, 1 minggu, 1 hari'); + expect(textformatted_1[1], '1 thn, 1 bln, 1 mgu, 1 hari'); + expect(textformatted_1[2], '1 thn, 1 bln, 1 mgu, 1 h'); + expect(textformatted_1[3], '1 thn 1 bln 1 mgu 1 h'); + + expect(textformatted_2[0], '2 tahun, 2 bulan, 2 minggu, 2 hari'); + expect(textformatted_2[1], '2 thn, 2 bln, 2 mgu, 2 hari'); + expect(textformatted_2[2], '2 thn, 2 bln, 2 mgu, 2 h'); + expect(textformatted_2[3], '2 thn 2 bln 2 mgu 2 h'); + + expect(clockformatted_1[0], '1 jam, 1 minit, 1 saat'); + expect(clockformatted_1[1], '1 j, 1 min, 1 saat'); + expect(clockformatted_1[2], '1 j, 1 min, 1 s'); + expect(clockformatted_1[3], '1 j 1 min 1 s'); + + expect(clockformatted_2[0], '2 jam, 2 minit, 2 saat'); + expect(clockformatted_2[1], '2 j, 2 min, 2 saat'); + expect(clockformatted_2[2], '2 j, 2 min, 2 s'); + expect(clockformatted_2[3], '2 j 2 min 2 s'); + }); + + test('testDurFmt_ur_PK', () { + // 1 17 + final List textformatted_1 = []; + final List textformatted_17 = []; + final List clockformatted_1 = []; + final List clockformatted_17 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'ur-PK', style: 'text', length: length[i])); + + textformatted_1.add( + fmt.format(ILibDateOptions(year: 1, month: 1, week: 1, day: 1))); + textformatted_17.add(fmt + .format(ILibDateOptions(year: 17, month: 17, week: 17, day: 17))); + + clockformatted_1 + .add(fmt.format(ILibDateOptions(hour: 1, minute: 1, second: 1))); + clockformatted_17 + .add(fmt.format(ILibDateOptions(hour: 17, minute: 17, second: 17))); + } + + expect(textformatted_1[0], '‏1 سال, 1 مہینہ, 1 ہفتہ، اور 1 دن'); + expect(textformatted_1[1], '‏1 سال، 1 مہینہ، 1 ہفتہ، 1 دن'); + expect(textformatted_1[2], '‏1 سال، 1 مہینہ، 1 ہفتہ، 1 دن'); + expect(textformatted_1[3], '‏1 سال، 1 مہینہ، 1 ہفتہ، 1 دن'); + + expect(textformatted_17[0], '‏17 سال, 17 مہینے, 17 ہفتے، اور 17 دن'); + expect(textformatted_17[1], '‏17 سال، 17 مہینے، 17 ہفتے، 17 دن'); + expect(textformatted_17[2], '‏17 سال، 17 مہینے، 17 ہفتے، 17 دن'); + expect(textformatted_17[3], '‏17 سال، 17 مہینے، 17 ہفتے، 17 دن'); + + expect(clockformatted_1[0], '‏1 گھنٹہ, 1 منٹ، اور 1 سیکنڈ'); + expect(clockformatted_1[1], '‏1 گھنٹہ، 1 منٹ، 1 سیکنڈ'); + expect(clockformatted_1[2], '‏1 گھنٹہ، 1 منٹ، 1 سیکنڈ'); + expect(clockformatted_1[3], '‏1 گھنٹہ، 1 منٹ، 1 سیکنڈ'); + + expect(clockformatted_17[0], '‏17 گھنٹے, 17 منٹ، اور 17 سیکنڈ'); + expect(clockformatted_17[1], '‏17 گھنٹے، 17 منٹ، 17 سیکنڈ'); + expect(clockformatted_17[2], '‏17 گھنٹے، 17 منٹ، 17 سیکنڈ'); + expect(clockformatted_17[3], '‏17 گھنٹے، 17 منٹ، 17 سیکنڈ'); + }); + + test('testDurFmt_zh_Hans_MY', () { + // 15 + + final List textformatted_15 = []; + final List clockformatted_15 = []; + + for (int i = 0; i < 4; i++) { + final ILibDurationFmt fmt = ILibDurationFmt(ILibDurationFmtOptions( + locale: 'zh-Hans-MY', style: 'text', length: length[i])); + + textformatted_15.add(fmt + .format(ILibDateOptions(year: 15, month: 15, week: 15, day: 15))); + clockformatted_15 + .add(fmt.format(ILibDateOptions(hour: 15, minute: 15, second: 15))); + } + + expect(textformatted_15[0], '15年15个月15周15天'); + expect(textformatted_15[1], '15年15个月15周15天'); + expect(textformatted_15[2], '15年15个月15周15天'); + expect(textformatted_15[3], '15年15个月15周15天'); + + expect(clockformatted_15[0], '15小时15分钟15秒钟'); + expect(clockformatted_15[1], '15小时15分钟15秒'); + expect(clockformatted_15[2], '15小时15分钟15秒'); + expect(clockformatted_15[3], '15小时15分钟15秒'); + }); + }); +} diff --git a/test/durfmt/durfmt_am_ET_test.dart b/test/durfmt/durfmt_am_ET_test.dart new file mode 100644 index 0000000..cf1ee8d --- /dev/null +++ b/test/durfmt/durfmt_am_ET_test.dart @@ -0,0 +1,314 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [datefmt_Clock_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ILibJS.instance.loadILibLocaleData('am-ET'); + }); + + group('ILibDurationFmt am-ET', () { + test('testDurFmtAMFormatShortDefaultStyle1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 ዓመት፣ 1 ወር፣ 1 ሳምንት፣ 1 ቀ፣ 1 ሰ፣ 1 ደ፣ 1 ሰ'); + }); + + test('testDurFmtAMFormatShortText1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 ዓመት፣ 1 ወር፣ 1 ሳምንት፣ 1 ቀ፣ 1 ሰ፣ 1 ደ፣ 1 ሰ'); + }); + + test('testDurFmtAMFormatShortClock1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'am-ET', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ዓመት፣ 1 ወር፣ 1 ሳምንት፣ 1 ቀ፣ 1:01:01'); + }); + + test('testDurFmtAMFormatMedium1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 ዓመት፣ 1 ወር፣ 1 ሳምንት፣ 1 ቀ፣ 1 ሰ፣ 1 ደ፣ 1 ሰ'); + }); + + test('testDurFmtAMFormatLong1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ዓመት፣ 1 ወራት፣ 1 ሳምንት፣ 1 ቀናት፣ 1 ሰዓ፣ 1 ደቂ፣ 1 ሰከ'); + }); + + test('testDurFmtAMFormatFull1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ዓመት፣ 1 ወር፣ 1 ሳምንት፣ 1 ቀናት፣ 1 ሰዓት፣ 1 ደቂቃ እና 1 ሰከንድ'); + }); + + test('testDurFmtAMFormatShortDefaultStyle2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), '2 ዓ፣ 2 ወር፣ 2 ሳምንት፣ 2 ቀ፣ 2 ሰ፣ 2 ደ፣ 2 ሰ'); + }); + + test('testDurFmtAMFormatShortText2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), '2 ዓ፣ 2 ወር፣ 2 ሳምንት፣ 2 ቀ፣ 2 ሰ፣ 2 ደ፣ 2 ሰ'); + }); + + test('testDurFmtAMFormatShortClock2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'am-ET', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), '2 ዓ፣ 2 ወር፣ 2 ሳምንት፣ 2 ቀ፣ 2:02:02'); + }); + + test('testDurFmtAMFormatMedium2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), '2 ዓ፣ 2 ወር፣ 2 ሳምንት፣ 2 ቀ፣ 2 ሰ፣ 2 ደ፣ 2 ሰ'); + }); + + test('testDurFmtAMFormatLong2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), + '2 ዓመታት፣ 2 ወራት፣ 2 ሳምንታት፣ 2 ቀናት፣ 2 ሰዓ፣ 2 ደቂቃ፣ 2 ሰከ'); + }); + + test('testDurFmtAMFormatFull2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), + '2 ዓመታት፣ 2 ወራት፣ 2 ሳምንታት፣ 2 ቀናት፣ 2 ሰዓቶች፣ 2 ደቂቃዎች እና 2 ሰከንዶች'); + }); + + test('testDurFmtAMFormatShortDefaultStyle3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect(fmt.format(dateOptions), '3 ዓ፣ 3 ወር፣ 3 ሳምንት፣ 3 ቀ፣ 3 ሰ፣ 3 ደ፣ 3 ሰ'); + }); + + test('testDurFmtAMFormatShortText3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect(fmt.format(dateOptions), '3 ዓ፣ 3 ወር፣ 3 ሳምንት፣ 3 ቀ፣ 3 ሰ፣ 3 ደ፣ 3 ሰ'); + }); + + test('testDurFmtAMFormatShortClock3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'am-ET', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect(fmt.format(dateOptions), '3 ዓ፣ 3 ወር፣ 3 ሳምንት፣ 3 ቀ፣ 3:03:03'); + }); + + test('testDurFmtAMFormatMedium3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect(fmt.format(dateOptions), '3 ዓ፣ 3 ወር፣ 3 ሳምንት፣ 3 ቀ፣ 3 ሰ፣ 3 ደ፣ 3 ሰ'); + }); + + test('testDurFmtAMFormatLong3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect(fmt.format(dateOptions), + '3 ዓመታት፣ 3 ወራት፣ 3 ሳምንታት፣ 3 ቀናት፣ 3 ሰዓ፣ 3 ደቂቃ፣ 3 ሰከ'); + }); + + test('testDurFmtAMFormatFull3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect(fmt.format(dateOptions), + '3 ዓመታት፣ 3 ወራት፣ 3 ሳምንታት፣ 3 ቀናት፣ 3 ሰዓቶች፣ 3 ደቂቃዎች እና 3 ሰከንዶች'); + }); + + test('testDurFmtAMFormatShortDefaultStyle11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '11 ዓ፣ 11 ወር፣ 11 ሳምንት፣ 11 ቀ፣ 11 ሰ፣ 11 ደ፣ 11 ሰ'); + }); + + test('testDurFmtAMFormatShortText11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '11 ዓ፣ 11 ወር፣ 11 ሳምንት፣ 11 ቀ፣ 11 ሰ፣ 11 ደ፣ 11 ሰ'); + }); + + test('testDurFmtAMFormatShortClock11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'am-ET', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), '11 ዓ፣ 11 ወር፣ 11 ሳምንት፣ 11 ቀ፣ 11:11:11'); + }); + + test('testDurFmtAMFormatMedium11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '11 ዓ፣ 11 ወር፣ 11 ሳምንት፣ 11 ቀ፣ 11 ሰ፣ 11 ደ፣ 11 ሰ'); + }); + + test('testDurFmtAMFormatLong11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '11 ዓመታት፣ 11 ወራት፣ 11 ሳምንታት፣ 11 ቀናት፣ 11 ሰዓ፣ 11 ደቂቃ፣ 11 ሰከ'); + }); + + test('testDurFmtAMFormatFull11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'am-ET', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '11 ዓመታት፣ 11 ወራት፣ 11 ሳምንታት፣ 11 ቀናት፣ 11 ሰዓቶች፣ 11 ደቂቃዎች እና 11 ሰከንዶች'); + }); + }); +} diff --git a/test/durfmt/durfmt_ar_SA_test.dart b/test/durfmt/durfmt_ar_SA_test.dart new file mode 100644 index 0000000..66b03ab --- /dev/null +++ b/test/durfmt/durfmt_ar_SA_test.dart @@ -0,0 +1,383 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [durfmt_ar_SA_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ILibJS.instance.loadILibLocaleData('ar-SA'); + }); + + group('ILibDurationFmt ar-SA', () { + test('testDurFmtARFormatShortDefaultStyle1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏سنة وشهر و١ أ و١ ي و١ س و١ د و١ ث'); + }); + + test('testDurFmtARFormatShortText1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏سنة وشهر و١ أ و١ ي و١ س و١ د و١ ث'); + }); + + test('testDurFmtARFormatShortClock1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏سنة وشهر و١ أ و١ ي و‏١:٠١:٠١'); + }); + + test('testDurFmtARFormatMedium1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏سنة وشهر و١ أ و١ ي و١ س و١ د و١ ث'); + }); + + test('testDurFmtARFormatLong1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏سنة، وشهر، وأسبوع، ويوم، و١ س، و١ د، و١ ث'); + }); + + test('testDurFmtARFormatFull1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏سنة، وشهر، وأسبوع، ويوم، وساعة، ودقيقة، وثانية'); + }); + + test('testDurFmtARFormatShortDefaultStyle2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), '‏سنتان وشهران و٢ أ و٢ ي و٢ س و٢ د و٢ ث'); + }); + + test('testDurFmtARFormatShortText2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), '‏سنتان وشهران و٢ أ و٢ ي و٢ س و٢ د و٢ ث'); + }); + + test('testDurFmtARFormatShortClock2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), '‏سنتان وشهران و٢ أ و٢ ي و‏٢:٠٢:٠٢'); + }); + + test('testDurFmtARFormatMedium2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), '‏سنتان وشهران و٢ أ و٢ ي و٢ س و٢ د و٢ ث'); + }); + + test('testDurFmtARFormatLong2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), + '‏سنتان، وشهران، وأسبوعان، ويومان، و٢ س، و٢ د، و٢ ث'); + }); + + test('testDurFmtARFormatFull2', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, month: 2, week: 2, day: 2, hour: 2, minute: 2, second: 2); + expect(fmt.format(dateOptions), + '‏سنتان، وشهران، وأسبوعان، ويومان، وساعتان، ودقيقتان، وثانيتان'); + }); + + test('testDurFmtARFormatShortDefaultStyle3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect( + fmt.format(dateOptions), '‏٣ سنوات و٣ أشهر و٣ أ و٣ ي و٣ س و٣ د و٣ ث'); + }); + + test('testDurFmtARFormatShortText3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect( + fmt.format(dateOptions), '‏٣ سنوات و٣ أشهر و٣ أ و٣ ي و٣ س و٣ د و٣ ث'); + }); + + test('testDurFmtARFormatShortClock3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect(fmt.format(dateOptions), '‏٣ سنوات و٣ أشهر و٣ أ و٣ ي و‏٣:٠٣:٠٣'); + }); + + test('testDurFmtARFormatMedium3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect( + fmt.format(dateOptions), '‏٣ سنوات و٣ أشهر و٣ أ و٣ ي و٣ س و٣ د و٣ ث'); + }); + + test('testDurFmtARFormatLong3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect(fmt.format(dateOptions), + '‏٣ سنوات، و٣ أشهر، و٣ أسابيع، و٣ أيام، و٣ س، و٣ د، و٣ ث'); + }); + + test('testDurFmtARFormatFull3', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 3, month: 3, week: 3, day: 3, hour: 3, minute: 3, second: 3); + expect(fmt.format(dateOptions), + '‏٣ سنوات، و٣ أشهر، و٣ أسابيع، و٣ أيام، و٣ ساعات، و٣ دقائق، و٣ ثوانٍ'); + }); + + test('testDurFmtARFormatShortDefaultStyle11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '‏١١ سنة و١١ شهرًا و١١ أ و١١ ي و١١ س و١١ د و١١ ث'); + }); + + test('testDurFmtARFormatShortText11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '‏١١ سنة و١١ شهرًا و١١ أ و١١ ي و١١ س و١١ د و١١ ث'); + }); + + test('testDurFmtARFormatShortClock11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect( + fmt.format(dateOptions), '‏١١ سنة و١١ شهرًا و١١ أ و١١ ي و‏١١:١١:١١'); + }); + + test('testDurFmtARFormatMedium11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '‏١١ سنة و١١ شهرًا و١١ أ و١١ ي و١١ س و١١ د و١١ ث'); + }); + + test('testDurFmtARFormatLong11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '‏١١ سنة، و١١ شهرًا، و١١ أسبوعًا، و١١ يومًا، و١١ س، و١١ د، و١١ ث'); + }); + + test('testDurFmtARFormatFull11', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ar-SA', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 11, + month: 11, + week: 11, + day: 11, + hour: 11, + minute: 11, + second: 11); + expect(fmt.format(dateOptions), + '‏١١ سنة، و١١ شهرًا، و١١ أسبوعًا، و١١ يومًا، و١١ ساعة، و١١ دقيقة، و١١ ثانية'); + }); + + test('testDurFmtARFormatWesternShortDefaultStyle1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'short', useNative: false), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏سنة وشهر و1 أ و1 ي و1 س و1 د و1 ث'); + }); + + test('testDurFmtARFormatWesternShortText1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'short', style: 'text', useNative: false), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏سنة وشهر و1 أ و1 ي و1 س و1 د و1 ث'); + }); + + test('testDurFmtARFormatWesternShortClock1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'short', style: 'clock', useNative: false), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏سنة وشهر و1 أ و1 ي و‏1:01:01'); + }); + + test('testDurFmtARFormatWesternMedium1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'medium', useNative: false), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏سنة وشهر و1 أ و1 ي و1 س و1 د و1 ث'); + }); + + test('testDurFmtARFormatWesternLong1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'long', useNative: false), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏سنة، وشهر، وأسبوع، ويوم، و1 س، و1 د، و1 ث'); + }); + + test('testDurFmtARFormatWesternFull1', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ar-SA', length: 'full', useNative: false), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏سنة، وشهر، وأسبوع، ويوم، وساعة، ودقيقة، وثانية'); + }); + }); +} diff --git a/test/durfmt/durfmt_az_Latn_AZ_test.dart b/test/durfmt/durfmt_az_Latn_AZ_test.dart new file mode 100644 index 0000000..d511040 --- /dev/null +++ b/test/durfmt/durfmt_az_Latn_AZ_test.dart @@ -0,0 +1,87 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [durfmt_az_Latn_AZ_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ILibJS.instance.loadILibLocaleData('az-LAtn-AZ'); + }); + + group('ILibDurationFmt az-Latn-AZ', () { + test('testDurFmtAZFormatShortDefaultStyle', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'az-Latn-AZ', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 il, 1 ay, 1 hft, 1 gün, 1 saat, 1 dəq, 1 san'); + }); + + test('testDurFmtAZFormatShortText', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'az-Latn-AZ', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 il, 1 ay, 1 hft, 1 gün, 1 saat, 1 dəq, 1 san'); + }); + + test('testDurFmtAZFormatShortClock', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'az-Latn-AZ', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 il, 1 ay, 1 hft, 1 gün, 01:01:01'); + }); + + test('testDurFmtAZFormatMedium', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'az-Latn-AZ', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 il, 1 ay, 1 hft, 1 gün, 1 saat, 1 dəq, 1 san'); + }); + + test('testDurFmtAZFormatLong', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'az-Latn-AZ', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 il, 1 ay, 1 hft, 1 gün, 1 saat, 1 dəq, 1 san'); + }); + + test('testDurFmtAZFormatFull', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'az-Latn-AZ', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 il, 1 ay, 1 həftə, 1 gün, 1 saat, 1 dəqiqə, 1 saniyə'); + }); + }); +} diff --git a/test/durfmt/durfmt_ha_Latn_NG_test.dart b/test/durfmt/durfmt_ha_Latn_NG_test.dart new file mode 100644 index 0000000..2ff10cf --- /dev/null +++ b/test/durfmt/durfmt_ha_Latn_NG_test.dart @@ -0,0 +1,84 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [durfmt_ha_Latn_NG_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ILibJS.instance.loadILibLocaleData('ha-Latn-NG'); + }); + + group('ILibDurationFmt ha-Latn-NG', () { + test('testDurFmtHAFormatShortDefaultStyle', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ha-Latn-NG', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), 'shkr 1, w1, m1, r1, s1, minti1, d 1'); + }); + + test('testDurFmtHAFormatShortText', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ha-Latn-NG', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), 'shkr 1, w1, m1, r1, s1, minti1, d 1'); + }); + + test('testDurFmtHAFormatShortClock', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'ha-Latn-NG', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), 'shkr 1, w1, m1, r1, 01:01:01'); + }); + + test('testDurFmtHAFormatMedium', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ha-Latn-NG', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), 'shkr 1, w1, m1, r1, s1, minti1, d 1'); + }); + + test('testDurFmtHAFormatLong', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ha-Latn-NG', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'shkr 1, wat 1, mk 1, rana 1, s 1, mnt 1, d 1'); + }); + + test('testDurFmtHAFormatFull', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'ha-Latn-NG', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'shekara 1, wata 1, mako 1, rana 1, sa′a 1, minti 1, daƙiƙa 1'); + }); + }); +} diff --git a/test/durfmt/durfmt_km_KH_test.dart b/test/durfmt/durfmt_km_KH_test.dart new file mode 100644 index 0000000..23af253 --- /dev/null +++ b/test/durfmt/durfmt_km_KH_test.dart @@ -0,0 +1,86 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [durfmt_km_KH_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ILibJS.instance.loadILibLocaleData('km-KH'); + }); + + group('ILibDurationFmt km-KH', () { + test('testDurFmtKHFormatShortDefaultStyle', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'km-KH', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ 1 ម៉ោង 1 នាទី 1 វិនាទី'); + }); + + test('testDurFmtKHFormatShortText', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'km-KH', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ 1 ម៉ោង 1 នាទី 1 វិនាទី'); + }); + + test('testDurFmtKHFormatShortClock', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'km-KH', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ 1:01:01'); + }); + + test('testDurFmtKHFormatMedium', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'km-KH', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ 1 ម៉ោង 1 នាទី 1 វិនាទី'); + }); + + test('testDurFmtKHFormatLong', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'km-KH', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ 1 ម៉ោង 1 នាទី 1 វិនាទី'); + }); + + test('testDurFmtKHFormatFull', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'km-KH', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ឆ្នាំ 1 ខែ 1 សប្ដាហ៍ 1 ថ្ងៃ 1 ម៉ោង 1 នាទី 1 វិនាទី'); + }); + }); +} diff --git a/test/durfmt/durfmt_or_IN_test.dart b/test/durfmt/durfmt_or_IN_test.dart new file mode 100644 index 0000000..cfeb3d8 --- /dev/null +++ b/test/durfmt/durfmt_or_IN_test.dart @@ -0,0 +1,86 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [durfmt_or_IN_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ILibJS.instance.loadILibLocaleData('or-IN'); + }); + + group('ILibDurationFmt or-IN', () { + test('testDurFmtORFormatShortDefaultStyle', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'or-IN', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1ବର୍ଷ 1ମାସ 1ସପ୍ 1ଦିନ 1ଘଣ୍ଟା 1ମିନିଟ୍‌ 1ସେକ୍'); + }); + + test('testDurFmtORFormatShortText', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'or-IN', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1ବର୍ଷ 1ମାସ 1ସପ୍ 1ଦିନ 1ଘଣ୍ଟା 1ମିନିଟ୍‌ 1ସେକ୍'); + }); + + test('testDurFmtORFormatShortClock', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'or-IN', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1ବର୍ଷ 1ମାସ 1ସପ୍ 1ଦିନ 1:01:01'); + }); + + test('testDurFmtORFormatMedium', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'or-IN', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1ବର୍ଷ 1ମାସ 1ସପ୍ 1ଦିନ 1ଘଣ୍ଟା 1ମିନିଟ୍‌ 1ସେକ୍'); + }); + + test('testDurFmtORFormatLong', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'or-IN', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ବର୍ଷ, 1 ମାସ, 1 ସପ୍ତାହ, 1 ଦିନ, 1 ଘଣ୍ଟା, 1 ମିନିଟ୍‌, 1 ସେକେଣ୍ଡ'); + }); + + test('testDurFmtORFormatFull', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'or-IN', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ବର୍ଷ, 1 ମାସ, 1 ସପ୍ତାହ, 1 ଦିନ, 1 ଘଣ୍ଟା, 1 ମିନିଟ୍‌, 1 ସେକେଣ୍ଡ'); + }); + }); +} diff --git a/test/durfmt/durfmt_si_LK_test.dart b/test/durfmt/durfmt_si_LK_test.dart new file mode 100644 index 0000000..230d7aa --- /dev/null +++ b/test/durfmt/durfmt_si_LK_test.dart @@ -0,0 +1,83 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [durfmt_si_LK_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ILibJS.instance.loadILibLocaleData('si-LK'); + }); + + group('ILibDurationFmt si-LK', () { + test('testDurFmtLKFormatShortDefaultStyle', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'si-LK', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), 'ව 1, මා 1, ස 1, දි 1, පැය 1, මි 1, ත 1'); + }); + + test('testDurFmtLKFormatShortText', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'si-LK', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), 'ව 1, මා 1, ස 1, දි 1, පැය 1, මි 1, ත 1'); + }); + + test('testDurFmtLKFormatShortClock', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'si-LK', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), 'ව 1, මා 1, ස 1, දි 1, 01.01.01'); + }); + + test('testDurFmtLKFormatMedium', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'si-LK', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), 'ව 1, මා 1, ස 1, දි 1, පැය 1, මි 1, ත 1'); + }); + + test('testDurFmtLKFormatLong', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'si-LK', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'වසර 1, මාස 1, සති 1, දින 1, පැය 1, මිනි 1, තත් 1'); + }); + + test('testDurFmtLKFormatFull', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'si-LK', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'වසර 1, මාස 1, සති 1, දින 1, පැය 1, මිනිත්තු 1, සහ තත්පර 1'); + }); + }); +} diff --git a/test/durfmt/durfmt_sw_KE_test.dart b/test/durfmt/durfmt_sw_KE_test.dart new file mode 100644 index 0000000..878d13b --- /dev/null +++ b/test/durfmt/durfmt_sw_KE_test.dart @@ -0,0 +1,88 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [durfmt_sw_KE_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ILibJS.instance.loadILibLocaleData('sw-KE'); + }); + + group('ILibDurationFmt sw-KE', () { + test('testDurFmtKEFormatShortDefaultStyle', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'sw-Latn-KE', length: 'short'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'mwaka 1, mwezi 1, wiki 1, siku 1, saa 1, dak 1, sek 1'); + }); + + test('testDurFmtKEFormatShortText', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'sw-Latn-KE', length: 'short', style: 'text'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'mwaka 1, mwezi 1, wiki 1, siku 1, saa 1, dak 1, sek 1'); + }); + + test('testDurFmtKEFormatShortClock', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions( + locale: 'sw-Latn-KE', length: 'short', style: 'clock'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'mwaka 1, mwezi 1, wiki 1, siku 1, 01:01:01'); + }); + + test('testDurFmtKEFormatMedium', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'sw-Latn-KE', length: 'medium'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'mwaka 1, mwezi 1, wiki 1, siku 1, saa 1, dak 1, sek 1'); + }); + + test('testDurFmtKEFormatLong', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'sw-Latn-KE', length: 'long'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'mwaka 1, mwezi 1, wiki 1, siku 1, saa 1, dakika 1, sekunde 1'); + }); + + test('testDurFmtKEFormatFull', () { + final ILibDurationFmt fmt = ILibDurationFmt( + ILibDurationFmtOptions(locale: 'sw-Latn-KE', length: 'full'), + ); + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + 'mwaka 1, mwezi 1, wiki 1, siku 1, saa 1, dakika 1 na sekunde 1'); + }); + }); +} diff --git a/test/durfmt/durfmt_test.dart b/test/durfmt/durfmt_test.dart new file mode 100644 index 0000000..d6f72ed --- /dev/null +++ b/test/durfmt/durfmt_test.dart @@ -0,0 +1,4464 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_ilib/flutter_ilib.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import '../test_env.dart'; + +void main() { + late String testPlatform; + TestWidgetsFlutterBinding.ensureInitialized(); + debugPrint('Testing [durfmt_test.dart] file.'); + setUpAll(() async { + testPlatform = getTestPlatform(); + final ILibJS ilibjsinstance = ILibJS.instance; + await ilibjsinstance.loadJS(); + ilibjsinstance.initILib(); + await ilibjsinstance.loadILibLocaleDataAll(); + }); + + group('test_ILibDurationFmt', () { + test('testDurFmtConstructorEmpty', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions(); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + }); + test('testDurFmtConstructorDefaultLocale', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions(); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getLocale(), 'en-US'); + }); + test('testDurFmtGetLength', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getLength(), 'full'); + }); + + test('testDurFmtGetLengthDefault', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions(); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + expect(fmt.getLength(), 'short'); + }); + test('testDurFmtGetLengthBogus', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'asdf'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getLength(), 'short'); + }); + test('testDurFmtGetLocale', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'de-DE'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getLocale(), 'de-DE'); + }); + test('testDurFmtGetLocaleDefault', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions(); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getLocale(), 'en-US'); + }); + test('testDurFmtGetLocaleBogus', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zyy-XX'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getLocale(), 'zyy-XX'); + }); + test('testDurFmtGetStyleDefault', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions(); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getStyle(), 'text'); + }); + test('testDurFmtGetStyleText', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getStyle(), 'text'); + }); + test('testDurFmtGetStyleClock', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getStyle(), 'clock'); + }); + test('testDurFmtGetStyleBogus', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(style: 'asdf'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + expect(fmt.getStyle(), 'text'); + }); + test('testDurFmtFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1y 1m 1w 1d 1h 1m 1s 1ms'); + }); + + test('testDurFmtFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1y 1m 1w 1d 1:01:01'); + }); + test('testDurFmtFormatShortExceedClockLimitsNoWrap', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 36, minute: 65, second: 66); + expect(fmt.format(dateOptions), '1y 1m 1w 1d 36:65:66'); + }); + test('testDurFmtFormatShortClockNoMinutesSeconds', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = + ILibDateOptions(year: 1, month: 1, week: 1, day: 1, hour: 1); + expect(fmt.format(dateOptions), '1y 1m 1w 1d 1:00'); + }); + test('testDurFmtFormatShortTextNoMinutesSeconds', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = + ILibDateOptions(year: 1, month: 1, week: 1, day: 1, hour: 1); + expect(fmt.format(dateOptions), '1y 1m 1w 1d 1h'); + }); + test('testDurFmtFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1y, 1m, 1w, 1d, 1h, 1m, 1s, 1ms'); + }); + test('testDurFmtFormatLongSingle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 yr, 1 mth, 1 wk, 1 day, 1 hr, 1 min, 1 sec, 1 ms'); + }); + test('testDurFmtFormatFullSingle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 year, 1 month, 1 week, 1 day, 1 hour, 1 minute, 1 second, 1 millisecond'); + }); + test('testDurFmtFormatFullSingle_en_GB', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'full', locale: 'en-GB'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 year, 1 month, 1 week, 1 day, 1 hour, 1 minute, 1 second, 1 millisecond'); + }); + test('testDurFmtFormatFullSingleNotAllFields', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = + ILibDateOptions(year: 1, week: 1, day: 1, minute: 1); + expect(fmt.format(dateOptions), '1 year, 1 week, 1 day, 1 minute'); + }); + test('testDurFmtFormatFullSingleNotAllFields_en_GB', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'full', locale: 'en-GB'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = + ILibDateOptions(year: 1, week: 1, day: 1, minute: 1); + expect(fmt.format(dateOptions), '1 year, 1 week, 1 day, 1 minute'); + }); + test('testDurFmtFormatLongPlural', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, + month: 2, + week: 2, + day: 2, + hour: 2, + minute: 2, + second: 2, + millisecond: 2); + expect(fmt.format(dateOptions), + '2 yrs, 2 mths, 2 wks, 2 days, 2 hr, 2 min, 2 sec, 2 ms'); + }); + test('testDurFmtFormatFullPlural', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, + month: 2, + week: 2, + day: 2, + hour: 2, + minute: 2, + second: 2, + millisecond: 2); + expect(fmt.format(dateOptions), + '2 years, 2 months, 2 weeks, 2 days, 2 hours, 2 minutes, 2 seconds, 2 milliseconds'); + }); + test('testDurFmtFormatFullPlural_en_GB', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(length: 'full', locale: 'en-GB'); + + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, + month: 2, + week: 2, + day: 2, + hour: 2, + minute: 2, + second: 2, + millisecond: 2); + expect(fmt.format(dateOptions), + '2 years, 2 months, 2 weeks, 2 days, 2 hours, 2 minutes, 2 seconds, 2 milliseconds'); + }); + test('testDurFmtFormatShortDEDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'de-DE', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 J, 1 M, 1 W, 1 T, 1 Std., 1 Min., 1 Sek., 1 ms'); + }); + test('testDurFmtFormatShortDEText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'de-DE', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 J, 1 M, 1 W, 1 T, 1 Std., 1 Min., 1 Sek., 1 ms'); + }); + test('testDurFmtFormatShortDEClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'de-DE', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1 J, 1 M, 1 W, 1 T, 01:01:01'); + }); + test('testDurFmtFormatMediumDE', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'de-DE', length: 'medium'); + + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 J, 1 M, 1 W, 1 T, 1 Std., 1 Min., 1 Sek., 1 ms'); + }); + test('testDurFmtFormatLongDESingle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'de-DE', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 J, 1 Mon., 1 Wo., 1 Tg., 1 Std., 1 Min., 1 Sek., 1 ms'); + }); + test('testDurFmtFormatFullDESingle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'de-DE', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 Jahr, 1 Monat, 1 Woche, 1 Tag, 1 Stunde, 1 Minute, 1 Sekunde und 1 Millisekunde'); + }); + test('testDurFmtFormatLongDEPlural', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'de-DE', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, + month: 2, + week: 2, + day: 2, + hour: 2, + minute: 2, + second: 2, + millisecond: 2); + expect(fmt.format(dateOptions), + '2 J, 2 Mon., 2 Wo., 2 Tg., 2 Std., 2 Min., 2 Sek., 2 ms'); + }); + test('testDurFmtFormatFullDEPlural', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'de-DE', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 2, + month: 2, + week: 2, + day: 2, + hour: 2, + minute: 2, + second: 2, + millisecond: 2); + expect(fmt.format(dateOptions), + '2 Jahre, 2 Monate, 2 Wochen, 2 Tage, 2 Stunden, 2 Minuten, 2 Sekunden und 2 Millisekunden'); + }); + test('testDurFmtFormatShortZHDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hans-CN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1年1个月1周1天1小时1分钟1秒1毫秒'); + }); + test('testDurFmtFormatShortZHText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'zh-Hans-CN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1年1个月1周1天1小时1分钟1秒1毫秒'); + }); + test('testDurFmtFormatShortZHClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'zh-Hans-CN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1年1个月1周1天01:01:01'); + }); + test('testDurFmtFormatMediumZH', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hans-CN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1年1个月1周1天1小时1分钟1秒1毫秒'); + }); + test('testDurFmtFormatLongZH', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hans-CN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1年1个月1周1天1小时1分钟1秒1毫秒'); + }); + test('testDurFmtFormatFullZH', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hans-CN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1年1个月1周1天1小时1分钟1秒钟1毫秒'); + }); + test('testDurFmtFormatFullzh_Hans_MY', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hans-MY', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1年1个月1周1天1小时1分钟1秒钟1毫秒'); + }); + test('testDurFmtFormatShortFRDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fr-FR', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1a 1m. 1sem. 1j 1h 1min 1s 1ms'); + }); + test('testDurFmtFormatShortFRText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'fr-FR', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1a 1m. 1sem. 1j 1h 1min 1s 1ms'); + }); + test('testDurFmtFormatShortFRClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'fr-FR', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1a 1m. 1sem. 1j 01:01:01'); + }); + test('testDurFmtFormatMediumFR', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fr-FR', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1a, 1m., 1sem., 1j, 1h, 1min, 1s, 1ms'); + }); + test('testDurFmtFormatLongFR', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fr-FR', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 an, 1 m., 1 sem., 1 j, 1 h, 1 min, 1 s, 1 ms'); + }); + test('testDurFmtFormatFullFR', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fr-FR', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), + '1 an, 1 mois, 1 semaine, 1 jour, 1 heure, 1 minute, 1 seconde et 1 milliseconde'); + }); + //test cases for bg-BG + test('testDurFmtBGFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bg-BG', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 г., 1 мес., 1 седм., 1 д, 1 ч, 1 мин, 1 с'); + }); + test('testDurFmtBGFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'bg-BG', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 г., 1 мес., 1 седм., 1 д, 1 ч, 1 мин, 1 с'); + }); + test('testDurFmtBGFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'bg-BG', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 г., 1 мес., 1 седм., 1 д, 1:01:01'); + }); + test('testDurFmtBGFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bg-BG', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 г., 1 мес., 1 седм., 1 д, 1 ч, 1 мин, 1 с'); + }); + test('testDurFmtBGFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bg-BG', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 год., 1 мес., 1 седм., 1 д, 1 ч, 1 мин, 1 сек'); + }); + test('testDurFmtBGFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bg-BG', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 година, 1 месец, 1 седмица, 1 ден, 1 час, 1 минута и 1 секунда'); + }); + //test cases for bs-Latn-BA + test('testDurFmtBSLatnFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bs-Latn-BA', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 god., 1 mj., 1 sedm., 1 d., 1 h, 1 m, 1 s'); + }); + test('testDurFmtBSLatnFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'bs-Latn-BA', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 god., 1 mj., 1 sedm., 1 d., 1 h, 1 m, 1 s'); + }); + test('testDurFmtBSLatnFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'bs-Latn-BA', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 god., 1 mj., 1 sedm., 1 d., 01:01:01'); + }); + test('testDurFmtBSLatnFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bs-Latn-BA', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 god., 1 mj., 1 sedm., 1 d., 1 h, 1 m, 1 s'); + }); + test('testDurFmtBSLatnFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bs-Latn-BA', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 god., 1 mj., 1 sedm., 1 dan, 1 h, 1 min., 1 sek.'); + }); + test('testDurFmtBSLatnFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bs-Latn-BA', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 godina, 1 mjesec, 1 sedmica, 1 dan, 1 sat, 1 minuta i 1 sekunda'); + }); + //test cases for cs-CZ + test('testDurFmtCSFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'cs-CZ', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 r. 1 m. 1 t. 1 d. 1 h 1 m 1 s'); + }); + test('testDurFmtCSFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'cs-CZ', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 r. 1 m. 1 t. 1 d. 1 h 1 m 1 s'); + }); + test('testDurFmtCSFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'cs-CZ', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 r. 1 m. 1 t. 1 d. 1:01:01'); + }); + test('testDurFmtCSFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'cs-CZ', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 r., 1 m., 1 t., 1 d., 1 h, 1 m, 1 s'); + }); + test('testDurFmtCSFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'cs-CZ', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 rok, 1 měs., 1 týd., 1 den, 1 h, 1 min, 1 s'); + }); + test('testDurFmtCSFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'cs-CZ', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 rok, 1 měsíc, 1 týden, 1 den, 1 hodina, 1 minuta a 1 sekunda'); + }); + //test cases for da-DK + test('testDurFmtDAFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'da-DK', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 år, 1 m, 1 u, 1 d, 1 t, 1 m, 1 s'); + }); + test('testDurFmtDAFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'da-DK', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 år, 1 m, 1 u, 1 d, 1 t, 1 m, 1 s'); + }); + test('testDurFmtDAFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'da-DK', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 år, 1 m, 1 u, 1 d, 01.01.01'); + }); + test('testDurFmtDAFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'da-DK', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 år, 1 m, 1 u, 1 d, 1 t, 1 m, 1 s'); + }); + test('testDurFmtDAFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'da-DK', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 år, 1 md., 1 uge, 1 dag, 1 t., 1 min., 1 sek.'); + }); + test('testDurFmtDAFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'da-DK', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 år, 1 måned, 1 uge, 1 dag, 1 time, 1 minut og 1 sekund'); + }); + //test cases for el-GR + test('testDurFmtGRFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'el-GR', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 έ 1 μ 1 ε 1 η 1 ώ 1 λ 1 δ'); + }); + test('testDurFmtGRFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'el-GR', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 έ 1 μ 1 ε 1 η 1 ώ 1 λ 1 δ'); + }); + test('testDurFmtGRFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'el-GR', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 έ 1 μ 1 ε 1 η 1:01:01'); + }); + test('testDurFmtGRFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'el-GR', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 έ, 1 μ, 1 ε, 1 η, 1 ώ, 1 λ, 1 δ'); + }); + test('testDurFmtGRFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'el-GR', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 έτ., 1 μήν., 1 εβδ., 1 ημέρα, 1 ώ., 1 λ., 1 δευτ.'); + }); + test('testDurFmtGRFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'el-GR', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 έτος, 1 μήνας, 1 εβδομάδα, 1 ημέρα, 1 ώρα, 1 λεπτό, 1 δευτερόλεπτο'); + }); + //test cases for es-CO + test('testDurFmtESFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'es-CO', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a. 1 mes 1 sem. 1 día 1 h 1 min 1 s'); + }); + test('testDurFmtESFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'es-CO', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a. 1 mes 1 sem. 1 día 1 h 1 min 1 s'); + }); + test('testDurFmtESFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'es-CO', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a. 1 mes 1 sem. 1 día 1:01:01'); + }); + test('testDurFmtESFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'es-CO', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 a., 1 mes, 1 sem., 1 día, 1 h, 1 min, 1 s'); + }); + test('testDurFmtESFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'es-CO', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 a., 1 mes, 1 sem., 1 día, 1 h, 1 min, 1 s'); + }); + test('testDurFmtESFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'es-CO', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 año, 1 mes, 1 semana, 1 día, 1 hora, 1 minuto y 1 segundo'); + }); + //test cases for estonian + test('testDurFmtETFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'et-EE', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a 1 k 1 n 1 p 1 t 1 min 1 s'); + }); + test('testDurFmtETFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'et-EE', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a 1 k 1 n 1 p 1 t 1 min 1 s'); + }); + test('testDurFmtETFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'et-EE', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a 1 k 1 n 1 p 01:01:01'); + }); + test('testDurFmtETFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'et-EE', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a, 1 k, 1 n, 1 p, 1 t, 1 min, 1 s'); + }); + test('testDurFmtETFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'et-EE', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 a, 1 kuu, 1 näd, 1 päev, 1 t, 1 min, 1 sek'); + }); + test('testDurFmtETFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'et-EE', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 aasta, 1 kuu, 1 nädal, 1 ööpäev, 1 tund, 1 minut, 1 sekund'); + }); + //test cases for fa-IR + test('testDurFmtFAFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fa-IR', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال ۱ ماه ۱ هفته ۱ روز ۱ ساعت ۱ دقیقه ۱ ث'); + }); + test('testDurFmtFAFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'fa-IR', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال ۱ ماه ۱ هفته ۱ روز ۱ ساعت ۱ دقیقه ۱ ث'); + }); + test('testDurFmtFAFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'fa-IR', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏۱ سال ۱ ماه ۱ هفته ۱ روز ‏۱:۰۱:۰۱'); + }); + test('testDurFmtFAFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fa-IR', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال ۱ ماه ۱ هفته ۱ روز ۱ ساعت ۱ دقیقه ۱ ث'); + }); + test('testDurFmtFAFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fa-IR', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال،‏ ۱ ماه،‏ ۱ هفته،‏ ۱ روز،‏ ۱ ساعت،‏ ۱ دقیقه،‏ ۱ ثانیه'); + }); + test('testDurFmtFAFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fa-IR', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال،‏ ۱ ماه،‏ ۱ هفته،‏ ۱ روز،‏ ۱ ساعت،‏ ۱ دقیقه، و ۱ ثانیه'); + }); + //test cases for fi-FI + test('testDurFmtFIFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fi-FI', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1v 1kk 1vk 1pv 1t 1min 1s'); + }); + test('testDurFmtFIFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'fi-FI', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1v 1kk 1vk 1pv 1t 1min 1s'); + }); + test('testDurFmtFIFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'fi-FI', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1v 1kk 1vk 1pv 1.01.01'); + }); + test('testDurFmtFIFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fi-FI', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1v, 1kk, 1vk, 1pv, 1t, 1min, 1s'); + }); + test('testDurFmtFIFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fi-FI', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 v, 1 kk, 1 vk, 1 pv, 1 t, 1 min, 1 s'); + }); + test('testDurFmtFIFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fi-FI', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 vuosi, 1 kuukausi, 1 viikko, 1 päivä, 1 tunti, 1 minuutti ja 1 sekunti'); + }); + //test cases for fr-CA + test('testDurFmtFRCAFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fr-CA', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1a 1m 1sem 1j 1h 1m 1s'); + }); + test('testDurFmtFRCAFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'fr-CA', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1a 1m 1sem 1j 1h 1m 1s'); + }); + test('testDurFmtFRCAFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'fr-CA', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1a 1m 1sem 1j 01 H 01 min 01 s'); + }); + test('testDurFmtFRCAFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fr-CA', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1a, 1m, 1sem, 1j, 1h, 1m, 1s'); + }); + test('testDurFmtFRCAFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fr-CA', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 an, 1 m., 1 sem., 1 j, 1 h, 1 min, 1 s'); + }); + test('testDurFmtFRCAFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'fr-CA', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 an, 1 mois, 1 semaine, 1 jour, 1 heure, 1 minute et 1 seconde'); + }); + //test cases for ga-IE + test('testDurFmtGAFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ga-IE', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 bl 1m 1 scht 1 lá 1 u 1 nóim 1 soic'); + }); + test('testDurFmtGAFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ga-IE', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 bl 1m 1 scht 1 lá 1 u 1 nóim 1 soic'); + }); + test('testDurFmtGAFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ga-IE', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 bl 1m 1 scht 1 lá 01:01:01'); + }); + test('testDurFmtGAFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ga-IE', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 bl, 1m, 1 scht, 1 lá, 1 u, 1 nóim, 1 soic'); + }); + test('testDurFmtGAFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ga-IE', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 bl, 1 mí, 1 scht, 1 lá, 1 u, 1 nóim, 1 soic'); + }); + test('testDurFmtGAFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ga-IE', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 bhliain, 1 mhí, 1 scht, 1 lá, 1 u, 1 nóim agus 1 soic'); + }); + //test cases for hebrew + test('testDurFmtHEFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏1 ש′ 1 ח׳ 1 ש′ 1 י׳ 1 שע׳ 1 דק׳ 1 שנ׳'); + }); + test('testDurFmtHEFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'he-IL', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏1 ש′ 1 ח׳ 1 ש′ 1 י׳ 1 שע׳ 1 דק׳ 1 שנ׳'); + }); + test('testDurFmtHEFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'he-IL', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏1 ש′ 1 ח׳ 1 ש′ 1 י׳ ‏1:01:01'); + }); + test('testDurFmtHEFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏1 ש′ 1 ח׳ 1 ש′ 1 י׳ 1 שע׳ 1 דק׳ 1 שנ׳'); + }); + test('testDurFmtHEFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏1 שנה, 1 ח׳, 1 שבוע, 1 יום, 1 שעה, 1 דק׳, 1 שנ׳'); + }); + test('testDurFmtHEFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏1 שנה, 1 חודש, 1 שבוע, 1 יום, 1 שעה, 1 דקה ו-1 שניה'); + }); + test('testDurFmtHEFormatShortManyNumber', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 20, + month: 20, + week: 20, + day: 20, + hour: 20, + minute: 20, + second: 20); + expect(fmt.format(dateOptions), + '‏20 ש′ 20 ח׳ 20 ש′ 20 י׳ 20 שע׳ 20 דק׳ 20 שנ׳'); + }); + test('testDurFmtHEFormatMediumManyNumber', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 20, + month: 20, + week: 20, + day: 20, + hour: 20, + minute: 20, + second: 20); + expect(fmt.format(dateOptions), + '‏20 ש′ 20 ח׳ 20 ש′ 20 י׳ 20 שע׳ 20 דק׳ 20 שנ׳'); + }); + test('testDurFmtHEFormatLongManyNumber', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 20, + month: 20, + week: 20, + day: 20, + hour: 20, + minute: 20, + second: 20); + expect(fmt.format(dateOptions), + '‏20 שנים, 20 ח׳, 20 שבועות, 20 ימ׳, 20 שע׳, 20 דק׳, 20 שנ׳'); + }); + test('testDurFmtHEFormatFullManyNumber', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 20, + month: 20, + week: 20, + day: 20, + hour: 20, + minute: 20, + second: 20); + expect(fmt.format(dateOptions), + '‏20 שנים, 20 חודשים, 20 שבועות, 20 ימים, 20 שעות, 20 דקות ו-20 שניות'); + }); + test('testDurFmtHEFormatShortOtherNumber', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 19, + month: 19, + week: 19, + day: 19, + hour: 19, + minute: 19, + second: 19); + expect(fmt.format(dateOptions), + '‏19 ש′ 19 ח׳ 19 ש′ 19 י׳ 19 שע׳ 19 דק׳ 19 שנ׳'); + }); + test('testDurFmtHEFormatMediumOtherNumber', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 19, + month: 19, + week: 19, + day: 19, + hour: 19, + minute: 19, + second: 19); + expect(fmt.format(dateOptions), + '‏19 ש′ 19 ח׳ 19 ש′ 19 י׳ 19 שע׳ 19 דק׳ 19 שנ׳'); + }); + test('testDurFmtHEFormatLongOtherNumber', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 19, + month: 19, + week: 19, + day: 19, + hour: 19, + minute: 19, + second: 19); + expect(fmt.format(dateOptions), + '‏19 שנים, 19 ח׳, 19 שבועות, 19 ימ׳, 19 שע׳, 19 דק׳, 19 שנ׳'); + }); + test('testDurFmtHEFormatFullOtherNumber', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'he-IL', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 19, + month: 19, + week: 19, + day: 19, + hour: 19, + minute: 19, + second: 19); + expect(fmt.format(dateOptions), + '‏19 שנים, 19 חודשים, 19 שבועות, 19 ימים, 19 שעות, 19 דקות ו-19 שניות'); + }); + //test cases for hi-IN + test('testDurFmtHIFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hi-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 व, 1 माह, 1 सप्ताह, 1 दि, 1 घं, 1 मि, 1 से'); + }); + test('testDurFmtHIFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'hi-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 व, 1 माह, 1 सप्ताह, 1 दि, 1 घं, 1 मि, 1 से'); + }); + test('testDurFmtHIFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'hi-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 व, 1 माह, 1 सप्ताह, 1 दि, 1:01:01'); + }); + test('testDurFmtHIFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hi-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 व, 1 माह, 1 सप्ताह, 1 दि, 1 घं, 1 मि, 1 से'); + }); + test('testDurFmtHIFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hi-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 वर्ष, 1 माह, 1 सप्ताह, 1 दिन, 1 घं॰, 1 मि॰, 1 से॰'); + }); + test('testDurFmtHIFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hi-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 वर्ष, 1 महीना, 1 सप्ताह, 1 दिन, 1 घंटा, 1 मिनट, और 1 सेकंड'); + }); + //test cases for marathi mr-IN + test('testDurFmtMRFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mr-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '१व १म १आ १दि १ता १मि १से'); + }); + test('testDurFmtMRFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'mr-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '१व १म १आ १दि १ता १मि १से'); + }); + test('testDurFmtMRFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'mr-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '१व १म १आ १दि १:०१:०१'); + }); + test('testDurFmtMRFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mr-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '१व १म १आ १दि १ता १मि १से'); + }); + test('testDurFmtMRFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mr-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '१ वर्ष, १ महिना, १ आ, १ दिवस, १ ता, १ मिनि, १ से'); + }); + test('testDurFmtMRFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mr-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '१ वर्ष, १ महिना, १ आठवडा, १ दिवस, १ तास, १ मिनिट, १ सेकंद'); + }); + //testa cases for Telugu (te-IN) + test('testDurFmtTEFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'te-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1సం, 1నె, 1వా, 1రో, 1గం, 1ని, 1సె'); + }); + test('testDurFmtTEFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'te-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1సం, 1నె, 1వా, 1రో, 1గం, 1ని, 1సె'); + }); + test('testDurFmtTEFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'te-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1సం, 1నె, 1వా, 1రో, 1:01:01'); + }); + test('testDurFmtTEFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'te-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1సం, 1నె, 1వా, 1రో, 1గం, 1ని, 1సె'); + }); + test('testDurFmtTEFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'te-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 సం., 1 నె., 1 వా., 1 రోజు, 1 గం., 1 నిమి., 1 సె.'); + }); + test('testDurFmtTEFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'te-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 సంవత్సరం, 1 నెల, 1 వారం, 1 రోజు, 1 గంట, 1 నిమిషం, 1 సెకను'); + }); + //test cases for kannada(kn-IN) + test('testDurFmtKNFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'kn-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1ವ, 1ತಿಂ., 1ವಾ, 1ದಿ, 1ಗಂ., 1ನಿಮಿ, 1ಸೆಕೆಂ'); + }); + test('testDurFmtKNFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'kn-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1ವ, 1ತಿಂ., 1ವಾ, 1ದಿ, 1ಗಂ., 1ನಿಮಿ, 1ಸೆಕೆಂ'); + }); + test('testDurFmtKNFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'kn-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1ವ, 1ತಿಂ., 1ವಾ, 1ದಿ, 1:01:01'); + }); + test('testDurFmtKNFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'kn-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1ವ, 1ತಿಂ., 1ವಾ, 1ದಿ, 1ಗಂ., 1ನಿಮಿ, 1ಸೆಕೆಂ'); + }); + test('testDurFmtKNFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'kn-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ವರ್ಷ, 1 ತಿಂ., 1 ವಾರ, 1 ದಿನ, 1 ಗಂ., 1 ನಿಮಿ, 1 ಸೆಕೆಂ'); + }); + test('testDurFmtKNFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'kn-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ವರ್ಷವು, 1 ತಿಂಗಳು, 1 ವಾರವು, 1 ದಿನವು, 1 ಗಂಟೆಯು, 1 ನಿಮಿಷವು, 1 ಸೆಕೆಂಡ್'); + }); + //test cases for tamil(ta-IN) + test('testDurFmtTAFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ta-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 ஆ 1 மா 1 வா 1 நா 1 ம.நே. 1 நிமி. 1 வி.'); + }); + test('testDurFmtTAFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ta-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 ஆ 1 மா 1 வா 1 நா 1 ம.நே. 1 நிமி. 1 வி.'); + }); + test('testDurFmtTAFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ta-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ஆ 1 மா 1 வா 1 நா 1:01:01'); + }); + test('testDurFmtTAFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ta-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 ஆ 1 மா 1 வா 1 நா 1 ம.நே. 1 நிமி. 1 வி.'); + }); + test('testDurFmtTAFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ta-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ஆண்டு, 1 மாதம், 1 வாரம், 1 நாள், 1 மணிநேரம், 1 நிமிடம், 1 விநாடி'); + }); + test('testDurFmtTAFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ta-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ஆண்டு, 1 மாதம், 1 வாரம், 1 நாள், 1 மணிநேரம், 1 நிமிடம், 1 விநாடி'); + }); + //test cases for Malaylam(ml-IN) + test('testDurFmtMLFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ml-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 വ 1 മാ 1 ആ 1 ദി 1 മ 1 മി. 1 സെ.'); + }); + test('testDurFmtMLFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ml-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 വ 1 മാ 1 ആ 1 ദി 1 മ 1 മി. 1 സെ.'); + }); + test('testDurFmtMLFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ml-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 വ 1 മാ 1 ആ 1 ദി 1:01:01'); + }); + test('testDurFmtMLFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ml-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 വ 1 മാ 1 ആ 1 ദി 1 മ 1 മി. 1 സെ.'); + }); + test('testDurFmtMLFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ml-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 വ, 1 മാസം, 1 ആ, 1 ദിവസം‌, 1 മ, 1 മി., 1 സെ.'); + }); + test('testDurFmtMLFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ml-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 വർഷം, 1 മാസം, 1 ആഴ്ച, 1 ദിവസം, 1 മണിക്കൂർ, 1 മിനിറ്റ്, 1 സെക്കൻഡ്'); + }); + //test cases for Gujrati(gu-IN) + test('testDurFmtGUFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'gu-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 વ, 1 મ, 1 અઠ., 1 દિ, 1 ક, 1 મિ, 1 સે'); + }); + test('testDurFmtGUFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'gu-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 વ, 1 મ, 1 અઠ., 1 દિ, 1 ક, 1 મિ, 1 સે'); + }); + test('testDurFmtGUFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'gu-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 વ, 1 મ, 1 અઠ., 1 દિ, 1:01:01'); + }); + test('testDurFmtGUFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'gu-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 વ, 1 મ, 1 અઠ., 1 દિ, 1 ક, 1 મિ, 1 સે'); + }); + test('testDurFmtGUFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'gu-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 વર્ષ, 1 મહિનો, 1 અઠ., 1 દિવસ, 1 કલાક, 1 મિનિટ, 1 સેકંડ'); + }); + test('testDurFmtGUFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'gu-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 વર્ષ, 1 મહિનો, 1 અઠવાડિયું, 1 દિવસ, 1 કલાક, 1 મિનિટ, 1 સેકંડ'); + }); + //test cases for Bengali(bn-IN) + test('testDurFmtBNFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bn-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছর, ১ মাস, ১ সপ্তাহ, ১ দিন, ১ ঘঃ, ১ মিঃ, ১ সেঃ'); + }); + test('testDurFmtBNFormatShortDefaultStyleNative', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'bn-IN', length: 'short', useNative: true); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছর, ১ মাস, ১ সপ্তাহ, ১ দিন, ১ ঘঃ, ১ মিঃ, ১ সেঃ'); + }); + test('testDurFmtBNFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'bn-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছর, ১ মাস, ১ সপ্তাহ, ১ দিন, ১ ঘঃ, ১ মিঃ, ১ সেঃ'); + }); + test('testDurFmtBNFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'bn-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '১ বছর, ১ মাস, ১ সপ্তাহ, ১ দিন, ১:০১:০১'); + }); + test('testDurFmtBNFormatShortClockNative', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'bn-IN', length: 'short', style: 'clock', useNative: true); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '১ বছর, ১ মাস, ১ সপ্তাহ, ১ দিন, ১:০১:০১'); + }); + test('testDurFmtBNFormatShortClockWestern', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'bn-IN', length: 'short', style: 'clock', useNative: false); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 বছর, 1 মাস, 1 সপ্তাহ, 1 দিন, 1:01:01'); + }); + test('testDurFmtBNFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bn-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছর, ১ মাস, ১ সপ্তাহ, ১ দিন, ১ ঘঃ, ১ মিঃ, ১ সেঃ'); + }); + test('testDurFmtBNFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bn-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছর, ১ মাস, ১ সপ্তাহ, ১ দিন, ১ ঘন্টা, ১ মিনিট, ১ সেকেন্ড'); + }); + test('testDurFmtBNFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'bn-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছর, ১ মাস, ১ সপ্তাহ, ১ দিন, ১ ঘন্টা, ১ মিনিট, ১ সেকেন্ড'); + }); + test('testDurFmtASFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'as-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছৰ ১ মাহ ১ সপ্তাহ ১ দিন ১ ঘণ্টা ১ মিনিট ১ ছেকেণ্ড'); + }); + test('testDurFmtASFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'as-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছৰ ১ মাহ ১ সপ্তাহ ১ দিন ১ ঘণ্টা ১ মিনিট ১ ছেকেণ্ড'); + }); + test('testDurFmtASFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'as-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '১ বছৰ ১ মাহ ১ সপ্তাহ ১ দিন ১.০১.০১'); + }); + test('testDurFmtASFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'as-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছৰ ১ মাহ ১ সপ্তাহ ১ দিন ১ ঘণ্টা ১ মিনিট ১ ছেকেণ্ড'); + }); + test('testDurFmtASFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'as-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছৰ, ১ মাহ, ১ সপ্তাহ, ১ দিন, ১ ঘণ্টা, ১ মিনিট, ১ ছেকেণ্ড'); + }); + test('testDurFmtASFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'as-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '১ বছৰ, ১ মাহ, ১ সপ্তাহ, ১ দিন, ১ ঘণ্টা, ১ মিনিট, ১ ছেকেণ্ড'); + }); + //test cases for Punjabi(pa-Guru-IN) + test('testDurFmtPAFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pa-Guru-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ਸਾਲ 1 ਮਹੀਨਾ 1 ਹਫ਼ਤਾ 1 ਦਿਨ 1 ਘੰਟਾ 1 ਮਿੰਟ 1 ਸਕਿੰਟ'); + }); + test('testDurFmtPAFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'pa-Guru-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ਸਾਲ 1 ਮਹੀਨਾ 1 ਹਫ਼ਤਾ 1 ਦਿਨ 1 ਘੰਟਾ 1 ਮਿੰਟ 1 ਸਕਿੰਟ'); + }); + test('testDurFmtPAFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'pa-Guru-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ਸਾਲ 1 ਮਹੀਨਾ 1 ਹਫ਼ਤਾ 1 ਦਿਨ 1:01:01'); + }); + test('testDurFmtPAFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pa-Guru-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ਸਾਲ 1 ਮਹੀਨਾ 1 ਹਫ਼ਤਾ 1 ਦਿਨ 1 ਘੰਟਾ 1 ਮਿੰਟ 1 ਸਕਿੰਟ'); + }); + test('testDurFmtPAFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pa-Guru-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ਸਾਲ, 1 ਮਹੀਨਾ, 1 ਹਫ਼ਤਾ, 1 ਦਿਨ, 1 ਘੰਟਾ, 1 ਮਿੰਟ, 1 ਸਕਿੰਟ'); + }); + test('testDurFmtPAFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pa-Guru-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ਸਾਲ, 1 ਮਹੀਨਾ, 1 ਹਫ਼ਤਾ, 1 ਦਿਨ, 1 ਘੰਟਾ, 1 ਮਿੰਟ, 1 ਸਕਿੰਟ'); + }); + //test cases for Urdu(ur-IN) + test('testDurFmtURFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ur-IN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال، ۱ مہینہ، ۱ ہفتہ، ۱ دن، ۱ گھنٹہ، ۱ منٹ، ۱ سیکنڈ'); + }); + test('testDurFmtURFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ur-IN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال، ۱ مہینہ، ۱ ہفتہ، ۱ دن، ۱ گھنٹہ، ۱ منٹ، ۱ سیکنڈ'); + }); + test('testDurFmtURFormatShortTextWestern', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ur-IN', length: 'short', style: 'text', useNative: false); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏1 سال، 1 مہینہ، 1 ہفتہ، 1 دن، 1 گھنٹہ، 1 منٹ، 1 سیکنڈ'); + }); + test('testDurFmtURFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ur-IN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '‏۱ سال، ۱ مہینہ، ۱ ہفتہ، ۱ دن، ‏۱:۰۱:۰۱'); + }); + test('testDurFmtURFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ur-IN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال، ۱ مہینہ، ۱ ہفتہ، ۱ دن، ۱ گھنٹہ، ۱ منٹ، ۱ سیکنڈ'); + }); + test('testDurFmtURFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ur-IN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال، ۱ مہینہ، ۱ ہفتہ، ۱ دن، ۱ گھنٹہ، ۱ منٹ، ۱ سیکنڈ'); + }); + test('testDurFmtURFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ur-IN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏۱ سال, ۱ مہینہ, ۱ ہفتہ, ۱ دن, ۱ گھنٹہ, ۱ منٹ، اور ۱ سیکنڈ'); + }); + //test cases for croation + test('testDurFmtHRFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hr-HR', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 g. 1 mj. 1 tj. 1 d. 1 h 1 m 1 s'); + }); + test('testDurFmtHRFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'hr-HR', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 g. 1 mj. 1 tj. 1 d. 1 h 1 m 1 s'); + }); + test('testDurFmtHRFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'hr-HR', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 g. 1 mj. 1 tj. 1 d. 01:01:01'); + }); + test('testDurFmtHRFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hr-HR', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 g., 1 mj., 1 tj., 1 d., 1 h, 1 m, 1 s'); + }); + test('testDurFmtHRFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hr-HR', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 g., 1 mj., 1 tj., 1 dan, 1 h, 1 min, 1 s'); + }); + test('testDurFmtHRFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hr-HR', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 godina, 1 mjesec, 1 tjedan, 1 dan, 1 sat, 1 minuta i 1 sekunda'); + }); + //test cases for hungarian + test('testDurFmtHUFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hu-HU', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 év, 1 h., 1 hét, 1 nap, 1 ó, 1 p, 1 mp'); + }); + test('testDurFmtHUFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'hu-HU', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 év, 1 h., 1 hét, 1 nap, 1 ó, 1 p, 1 mp'); + }); + test('testDurFmtHUFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'hu-HU', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 év, 1 h., 1 hét, 1 nap, 1:01:01'); + }); + test('testDurFmtHUFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hu-HU', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 év, 1 h., 1 hét, 1 nap, 1 ó, 1 p, 1 mp'); + }); + test('testDurFmtHUFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hu-HU', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 év, 1 hónap, 1 hét, 1 nap, 1 ó, 1 p, 1 mp'); + }); + test('testDurFmtHUFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'hu-HU', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 év, 1 hónap, 1 hét, 1 nap, 1 óra, 1 perc és 1 másodperc'); + }); + //test cases for indonesia + test('testDurFmtIDFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'id-ID', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 thn, 1 bln, 1 mgg, 1 hr, 1 j, 1 mnt, 1 dtk'); + }); + test('testDurFmtIDFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'id-ID', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 thn, 1 bln, 1 mgg, 1 hr, 1 j, 1 mnt, 1 dtk'); + }); + test('testDurFmtIDFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'id-ID', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 thn, 1 bln, 1 mgg, 1 hr, 01.01.01'); + }); + test('testDurFmtIDFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'id-ID', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 thn, 1 bln, 1 mgg, 1 hr, 1 j, 1 mnt, 1 dtk'); + }); + test('testDurFmtIDFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'id-ID', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 thn, 1 bln, 1 mgg, 1 hr, 1 j, 1 mnt, 1 dtk'); + }); + test('testDurFmtIDFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'id-ID', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 tahun, 1 bulan, 1 minggu, 1 hari, 1 jam, 1 menit, 1 detik'); + }); + //test cases for Italy + test('testDurFmtITFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'it-IT', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1anno 1 mese 1sett. 1g 1h 1min 1s'); + }); + test('testDurFmtITFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'it-IT', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1anno 1 mese 1sett. 1g 1h 1min 1s'); + }); + test('testDurFmtITFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'it-IT', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1anno 1 mese 1sett. 1g 01:01:01'); + }); + test('testDurFmtITFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'it-IT', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1anno, 1 mese, 1sett., 1g, 1h, 1min, 1s'); + }); + test('testDurFmtITFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'it-IT', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 anno, 1 mese, 1 sett., 1 giorno, 1 h, 1 min, 1 s'); + }); + test('testDurFmtITFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'it-IT', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 anno, 1 mese, 1 settimana, 1 giorno, 1 ora, 1 minuto e 1 secondo'); + }); + //test cases for japanese + test('testDurFmtJAFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ja-JP', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1y1m1w1d1h1m1s1ms'); + }); + test('testDurFmtJAFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ja-JP', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1y1m1w1d1h1m1s1ms'); + }); + test('testDurFmtJAFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ja-JP', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1y1m1w1d1:01:01'); + }); + test('testDurFmtJAFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ja-JP', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1y1m1w1d1h1m1s1ms'); + }); + test('testDurFmtJAFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ja-JP', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1 年 1 か月 1 週間 1 日 1 時間 1 分 1 秒 1 ms'); + }); + test('testDurFmtJAFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ja-JP', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1 年 1 か月 1 週間 1 日 1 時間 1 分 1 秒 1 ミリ秒'); + }); + //test cases for kk-Cyrl-KZ + test('testDurFmtKKFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'kk-Cyrl-KZ', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ж. 1 ай 1 ап. 1 к. 1 сағ 1 мин 1 с'); + }); + test('testDurFmtKKFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'kk-Cyrl-KZ', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ж. 1 ай 1 ап. 1 к. 1 сағ 1 мин 1 с'); + }); + test('testDurFmtKKFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'kk-Cyrl-KZ', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ж. 1 ай 1 ап. 1 к. 01:01:01'); + }); + test('testDurFmtKKFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'kk-Cyrl-KZ', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ж. 1 ай 1 ап. 1 күн 1 сағ 1 мин 1 с'); + }); + test('testDurFmtKKFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'kk-Cyrl-KZ', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 жыл 1 ай 1 апта 1 күн 1 сағат 1 минут 1 секунд'); + }); + //test cases for ko-KR + test('testDurFmtKOFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ko-KR', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1년 1개월 1주 1일 1시간 1분 1초 1밀리초'); + }); + test('testDurFmtKOFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ko-KR', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1년 1개월 1주 1일 1시간 1분 1초 1밀리초'); + }); + test('testDurFmtKOFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ko-KR', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1년 1개월 1주 1일 1:01:01'); + }); + test('testDurFmtKOFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ko-KR', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1년 1개월 1주 1일 1시간 1분 1초 1밀리초'); + }); + test('testDurFmtKOFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ko-KR', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1년 1개월 1주 1일 1시간 1분 1초 1밀리초'); + }); + test('testDurFmtKOFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ko-KR', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, + month: 1, + week: 1, + day: 1, + hour: 1, + minute: 1, + second: 1, + millisecond: 1); + expect(fmt.format(dateOptions), '1년 1개월 1주 1일 1시간 1분 1초 1밀리초'); + }); + test('testDurFmtKUFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ku-Arab-IQ', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏١س ١م ١ﻪـ ١ر ١ک ١خ ١چ'); + }); + test('testDurFmtKUFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ku-Arab-IQ', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏١س ١م ١ﻪـ ١ر ١ک ١خ ١چ'); + }); + test('testDurFmtKUFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ku-Arab-IQ', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏١س ١م ١ﻪـ ١ر ‏١:٠١:٠١'); + }); + test('testDurFmtKUFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ku-Arab-IQ', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '‏١س ١م ١ﻪـ ١ر ١ک ١خ ١چ'); + }); + test('testDurFmtKUFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ku-Arab-IQ', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏١ ساڵ ١ مانگ ١ هەفتە ١ رۆژ ١ کاتژ ١ خول ١ چرک'); + }); + test('testDurFmtKUFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ku-Arab-IQ', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '‏١ ساڵ, ١ مانگ, ١ هەفتە, ١ رۆژ, ١ کاتژمێر, ١ خولەک, ١ چرکە'); + }); + //test cases for lt-LT + test('testDurFmtLTFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'lt-LT', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 m. 1 mėn. 1 sav. 1 d. 1 h 1 min. 1 s'); + }); + test('testDurFmtLTFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'lt-LT', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 m. 1 mėn. 1 sav. 1 d. 1 h 1 min. 1 s'); + }); + test('testDurFmtLTFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'lt-LT', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 m. 1 mėn. 1 sav. 1 d. 01:01:01'); + }); + test('testDurFmtLTFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'lt-LT', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 m. 1 mėn. 1 sav. 1 d. 1 h 1 min. 1 s'); + }); + test('testDurFmtLTFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'lt-LT', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 m. 1 mėn. 1 sav. 1 d. 1 val. 1 min. 1 sek.'); + }); + test('testDurFmtLTFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'lt-LT', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 metai 1 mėnuo 1 savaitė 1 diena 1 valanda 1 minutė ir 1 sekundė'); + }); + //test cases for lv-LV + test('testDurFmtLVFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'lv-LV', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 g. 1 m. 1 n. 1 d. 1 h 1 min 1 s'); + }); + test('testDurFmtLVFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'lv-LV', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 g. 1 m. 1 n. 1 d. 1 h 1 min 1 s'); + }); + test('testDurFmtLVFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'lv-LV', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 g. 1 m. 1 n. 1 d. 01:01:01'); + }); + test('testDurFmtLVFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'lv-LV', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 g., 1 m., 1 n., 1 d., 1 h, 1 min, 1 s'); + }); + test('testDurFmtLVFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'lv-LV', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 g., 1 mēn., 1 ned., 1 d., 1 st., 1 min, 1 sek.'); + }); + test('testDurFmtLVFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'lv-LV', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 gads, 1 mēnesis, 1 nedēļa, 1 diena, 1 stunda, 1 minūte un 1 sekunde'); + }); + //test cases for mk-MK + test('testDurFmtMKFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mk-MK', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 г., 1 м., 1 с., 1 д., 1 ч., 1 м., 1 с.'); + }); + test('testDurFmtMKFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'mk-MK', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 г., 1 м., 1 с., 1 д., 1 ч., 1 м., 1 с.'); + }); + test('testDurFmtMKFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'mk-MK', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 г., 1 м., 1 с., 1 д., 01:01:01'); + }); + test('testDurFmtMKFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mk-MK', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 г., 1 м., 1 с., 1 д., 1 ч., 1 м., 1 с.'); + }); + test('testDurFmtMKFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mk-MK', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 год., 1 мес., 1 сед., 1 ден, 1 ч., 1 мин., 1 сек.'); + }); + test('testDurFmtMKFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mk-MK', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 година, 1 месец, 1 седмица, 1 ден, 1 час, 1 минута и 1 секунда'); + }); + //test cases for mn-Cyrl-MN + test('testDurFmtMNFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mn-Cyrl-MN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1ж 1с 1 д.х 1 хоног 1 ц 1 мин 1 сек'); + }); + test('testDurFmtMNFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'mn-Cyrl-MN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1ж 1с 1 д.х 1 хоног 1 ц 1 мин 1 сек'); + }); + test('testDurFmtMNFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'mn-Cyrl-MN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1ж 1с 1 д.х 1 хоног 01:01:01'); + }); + test('testDurFmtMNFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mn-Cyrl-MN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1ж 1с 1 д.х 1 хоног 1 ц 1 мин 1 сек'); + }); + test('testDurFmtMNFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mn-Cyrl-MN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 жил 1 сар 1 д.х 1 хоног 1 цаг 1 мин 1 сек'); + }); + test('testDurFmtMNFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'mn-Cyrl-MN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 жил 1 сар 1 долоо хоног 1 хоног 1 цаг 1 минут 1 секунд'); + }); + //test cases for ms-Latn-MY + test('testDurFmtMSFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ms-Latn-MY', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 thn 1 bln 1 mgu 1 h 1 j 1 min 1 s'); + }); + test('testDurFmtMSFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ms-Latn-MY', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 thn 1 bln 1 mgu 1 h 1 j 1 min 1 s'); + }); + test('testDurFmtMSFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ms-Latn-MY', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 thn 1 bln 1 mgu 1 h 1:01:01'); + }); + test('testDurFmtMSFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ms-Latn-MY', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 thn, 1 bln, 1 mgu, 1 h, 1 j, 1 min, 1 s'); + }); + test('testDurFmtMSFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ms-Latn-MY', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 thn, 1 bln, 1 mgu, 1 hari, 1 j, 1 min, 1 saat'); + }); + test('testDurFmtMSFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ms-Latn-MY', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 tahun, 1 bulan, 1 minggu, 1 hari, 1 jam, 1 minit, 1 saat'); + }); + //test cases for nb-NO + test('testDurFmtNBFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'nb-NO', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1å, 1 m, 1u, 1d, 1t, 1m, 1s'); + }); + test('testDurFmtNBFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'nb-NO', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1å, 1 m, 1u, 1d, 1t, 1m, 1s'); + }); + test('testDurFmtNBFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'nb-NO', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1å, 1 m, 1u, 1d, 01:01:01'); + }); + test('testDurFmtNBFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'nb-NO', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1å, 1 m, 1u, 1d, 1t, 1m, 1s'); + }); + test('testDurFmtNBFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'nb-NO', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 år, 1 md., 1 u, 1 d, 1 t, 1 min, 1 sek'); + }); + test('testDurFmtNBFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'nb-NO', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 år, 1 måned, 1 uke, 1 døgn, 1 time, 1 minutt og 1 sekund'); + }); + //test cases for nl-NL + test('testDurFmtNLFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'nl-NL', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 jr, 1 m, 1 w, 1 d, 1 u, 1 m, 1 s'); + }); + test('testDurFmtNLFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'nl-NL', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 jr, 1 m, 1 w, 1 d, 1 u, 1 m, 1 s'); + }); + test('testDurFmtNLFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'nl-NL', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 jr, 1 m, 1 w, 1 d, 01:01:01'); + }); + test('testDurFmtNLFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'nl-NL', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 jr, 1 m, 1 w, 1 d, 1 u, 1 m, 1 s'); + }); + test('testDurFmtNLFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'nl-NL', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 jr, 1 mnd, 1 wk, 1 dag, 1 uur, 1 min, 1 sec'); + }); + test('testDurFmtNLFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'nl-NL', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 jaar, 1 maand, 1 week, 1 dag, 1 uur, 1 minuut en 1 seconde'); + }); + //test cases for pl-PL + test('testDurFmtPLFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pl-PL', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 r., 1 m-c, 1 t., 1 d., 1 h, 1 min, 1 s'); + }); + test('testDurFmtPLFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'pl-PL', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 r., 1 m-c, 1 t., 1 d., 1 h, 1 min, 1 s'); + }); + test('testDurFmtPLFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'pl-PL', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 r., 1 m-c, 1 t., 1 d., 01:01:01'); + }); + test('testDurFmtPLFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pl-PL', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 r., 1 m-c, 1 t., 1 d., 1 h, 1 min, 1 s'); + }); + test('testDurFmtPLFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pl-PL', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 rok, 1 mies., 1 tydz., 1 dzień, 1 godz., 1 min, 1 sek.'); + }); + test('testDurFmtPLFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pl-PL', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 rok, 1 miesiąc, 1 tydzień, 1 dzień, 1 godzina, 1 minuta i 1 sekunda'); + }); + //test cases for pt-BR + test('testDurFmtPTFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pt-BR', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ano 1 mês 1 sem. 1 dia 1 h 1 min 1 s'); + }); + test('testDurFmtPTFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'pt-BR', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ano 1 mês 1 sem. 1 dia 1 h 1 min 1 s'); + }); + test('testDurFmtPTFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'pt-BR', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ano 1 mês 1 sem. 1 dia 01:01:01'); + }); + test('testDurFmtPTFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pt-BR', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ano, 1 mês, 1 sem., 1 dia, 1 h, 1 min, 1 s'); + }); + test('testDurFmtPTFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pt-BR', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ano, 1 mês, 1 sem., 1 dia, 1 h, 1 min, 1 s'); + }); + test('testDurFmtPTFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pt-BR', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ano, 1 mês, 1 semana, 1 dia, 1 hora, 1 minuto e 1 segundo'); + }); + //test cases for ro-RO + test('testDurFmtROFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ro-RO', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a, 1 l, 1 săpt., 1 z, 1 h, 1 m, 1 s'); + }); + test('testDurFmtROFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ro-RO', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a, 1 l, 1 săpt., 1 z, 1 h, 1 m, 1 s'); + }); + test('testDurFmtROFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ro-RO', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a, 1 l, 1 săpt., 1 z, 01:01:01'); + }); + test('testDurFmtROFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ro-RO', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 a, 1 l, 1 săpt., 1 z, 1 h, 1 m, 1 s'); + }); + test('testDurFmtROFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ro-RO', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 an, 1 lună, 1 săpt., 1 zi, 1 oră, 1 min., 1 s'); + }); + test('testDurFmtROFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ro-RO', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 an, 1 lună, 1 săptămână, 1 zi, 1 oră, 1 minut, 1 secundă'); + }); + //test cases for ru-RU + test('testDurFmtRUFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ru-RU', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 г. 1 м. 1 н. 1 д. 1 ч 1 мин 1 с'); + }); + test('testDurFmtRUFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ru-RU', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 г. 1 м. 1 н. 1 д. 1 ч 1 мин 1 с'); + }); + test('testDurFmtRUFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'ru-RU', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 г. 1 м. 1 н. 1 д. 01:01:01'); + }); + test('testDurFmtRUFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ru-RU', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 г. 1 м. 1 н. 1 д. 1 ч 1 мин 1 с'); + }); + test('testDurFmtRUFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ru-RU', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 г. 1 мес. 1 нед. 1 дн. 1 ч 1 мин 1 с'); + }); + test('testDurFmtRUFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'ru-RU', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 год 1 месяц 1 неделя 1 день 1 час 1 минута 1 секунда'); + }); + //test cases for sk-SK + test('testDurFmtSKFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sk-SK', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 r., 1 m., 1 t., 1 d., 1 h, 1 min, 1 s'); + }); + test('testDurFmtSKFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sk-SK', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 r., 1 m., 1 t., 1 d., 1 h, 1 min, 1 s'); + }); + test('testDurFmtSKFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sk-SK', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 r., 1 m., 1 t., 1 d., 1:01:01'); + }); + test('testDurFmtSKFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sk-SK', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 r., 1 m., 1 t., 1 d., 1 h, 1 min, 1 s'); + }); + test('testDurFmtSKFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sk-SK', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 r., 1 mes., 1 týž., 1 deň, 1 h, 1 min, 1 s'); + }); + test('testDurFmtSKFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sk-SK', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 rok, 1 mesiac, 1 týždeň, 1 deň, 1 hodina, 1 minúta, 1 sekunda'); + }); + //test cases for sq-AL + test('testDurFmtSQFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sq-AL', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 vit, 1 muaj, 1 javë, 1 ditë, 1 orë, 1 min., 1 sek.'); + }); + test('testDurFmtSQFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sq-AL', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 vit, 1 muaj, 1 javë, 1 ditë, 1 orë, 1 min., 1 sek.'); + }); + test('testDurFmtSQFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sq-AL', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 vit, 1 muaj, 1 javë, 1 ditë, 1:01:01'); + }); + test('testDurFmtSQFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sq-AL', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 vit, 1 muaj, 1 javë, 1 ditë, 1 orë, 1 min., 1 sek.'); + }); + test('testDurFmtSQFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sq-AL', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 vit, 1 muaj, 1 javë, 1 ditë, 1 orë, 1 min., 1 sek.'); + }); + test('testDurFmtSQFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sq-AL', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 vit, 1 muaj, 1 javë, 1 ditë, 1 orë, 1 minutë e 1 sekondë'); + }); + //test cases for sr-Latn-RS + test('testDurFmtSRFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sr-Latn-RS', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 g, 1 m, 1 n, 1 d, 1 č, 1 m, 1 s'); + }); + test('testDurFmtSRFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sr-Latn-RS', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 g, 1 m, 1 n, 1 d, 1 č, 1 m, 1 s'); + }); + test('testDurFmtSRFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sr-Latn-RS', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 g, 1 m, 1 n, 1 d, 01:01:01'); + }); + test('testDurFmtSRFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sr-Latn-RS', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 god, 1 mes., 1 ned., 1 dan, 1 sat, 1 min, 1 sek'); + }); + test('testDurFmtSRFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sr-Latn-RS', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 godina, 1 mesec, 1 nedelja, 1 dan, 1 sat, 1 minut i 1 sekunda'); + }); + //test cases for th-TH + test('testDurFmtTHFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'th-TH', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1ปี 1เดือน 1สัปดาห์ 1วัน 1ชม. 1นาที 1วิ'); + }); + test('testDurFmtTHFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'th-TH', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1ปี 1เดือน 1สัปดาห์ 1วัน 1ชม. 1นาที 1วิ'); + }); + test('testDurFmtTHFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'th-TH', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1ปี 1เดือน 1สัปดาห์ 1วัน 01:01:01'); + }); + test('testDurFmtTHFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'th-TH', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1ปี 1เดือน 1สัปดาห์ 1วัน 1ชม. 1นาที 1วิ'); + }); + test('testDurFmtTHFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'th-TH', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ปี 1 เดือน 1 สัปดาห์ 1 วัน 1 ชม. 1 นาที 1 วิ'); + }); + test('testDurFmtTHFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'th-TH', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ปี 1 เดือน 1 สัปดาห์ 1 วัน 1 ชั่วโมง 1 นาที และ 1 วินาที'); + }); + //test cases for uk-UA + test('testDurFmtUKUAFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'uk-UA', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1р, 1м, 1т, 1д, 1г, 1х, 1с'); + }); + test('testDurFmtUKUAFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'uk-UA', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1р, 1м, 1т, 1д, 1г, 1х, 1с'); + }); + test('testDurFmtUKUAFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'uk-UA', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1р, 1м, 1т, 1д, 01:01:01'); + }); + test('testDurFmtUKUAFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'uk-UA', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1р, 1м, 1т, 1д, 1г, 1х, 1с'); + }); + test('testDurFmtUKUAFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'uk-UA', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 р., 1 міс., 1 тиж., 1 дн., 1 год, 1 хв, 1 с'); + }); + test('testDurFmtUKUAFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'uk-UA', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 рік, 1 місяць, 1 тиждень, 1 день, 1 година, 1 хвилина і 1 секунда'); + }); + //test cases for uz-Latn-UZ + test('testDurFmtUZLATNFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'uz-Latn-UZ', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 yil 1 oy 1 hafta 1 kun 1 soat 1 daq. 1 s'); + }); + test('testDurFmtUZLATNFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'uz-Latn-UZ', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 yil 1 oy 1 hafta 1 kun 1 soat 1 daq. 1 s'); + }); + test('testDurFmtUZLATNFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'uz-Latn-UZ', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 yil 1 oy 1 hafta 1 kun 01:01:01'); + }); + test('testDurFmtUZLATNFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'uz-Latn-UZ', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 yil 1 oy 1 hafta 1 kun 1 soat 1 daq. 1 s'); + }); + test('testDurFmtUZLATNFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'uz-Latn-UZ', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 yil 1 oy 1 hafta 1 kun 1 soat 1 daq. 1 son.'); + }); + test('testDurFmtUZLATNFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'uz-Latn-UZ', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 yil 1 oy 1 hafta 1 kun 1 soat 1 daqiqa 1 soniya'); + }); + //test cases for vietnemese + test('testDurFmtVIFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'vi-VN', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 năm 1 tháng 1 tuần 1 ngày 1 giờ 1 phút 1 giây'); + }); + test('testDurFmtVIFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'vi-VN', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 năm 1 tháng 1 tuần 1 ngày 1 giờ 1 phút 1 giây'); + }); + test('testDurFmtVIFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'vi-VN', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 năm 1 tháng 1 tuần 1 ngày 01:01:01'); + }); + test('testDurFmtVIFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'vi-VN', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 năm, 1 tháng, 1 tuần, 1 ngày, 1 giờ, 1 phút, 1 giây'); + }); + test('testDurFmtVIFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'vi-VN', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 năm, 1 tháng, 1 tuần, 1 ngày, 1 giờ, 1 phút, 1 giây'); + }); + test('testDurFmtVIFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'vi-VN', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 năm, 1 tháng, 1 tuần, 1 ngày, 1 giờ, 1 phút, 1 giây'); + }); + //test cases for zh-Hant-TW + test('testDurFmtZHFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hant-TW', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 年1 個月1 週1 天1 小時1 分鐘1 秒'); + }); + test('testDurFmtZHFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'zh-Hant-TW', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 年1 個月1 週1 天1 小時1 分鐘1 秒'); + }); + test('testDurFmtZHFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'zh-Hant-TW', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 年1 個月1 週1 天1:01:01'); + }); + test('testDurFmtZHFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hant-TW', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 年1 個月1 週1 天1 小時1 分鐘1 秒'); + }); + test('testDurFmtZHFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hant-TW', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 年 1 個月 1 週 1 天 1 小時 1 分鐘 1 秒'); + }); + test('testDurFmtZHFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hant-TW', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 年 1 個月 1 週 1 天 1 小時 1 分鐘 1 秒'); + }); + //test cases for zh-Hank-HK + test('testDurFmtZHHKFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hant-HK', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1年1個月1週1日1小時1分1秒'); + }); + test('testDurFmtZHHKFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'zh-Hant-HK', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1年1個月1週1日1小時1分1秒'); + }); + test('testDurFmtZHHKFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'zh-Hant-HK', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1年1個月1週1日1:01:01'); + }); + test('testDurFmtZHHKFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hant-HK', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1年1個月1週1日1小時1分1秒'); + }); + test('testDurFmtZHHKFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hant-HK', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 年 1 個月 1 星期 1 日 1 小時 1 分鐘 1 秒'); + }); + test('testDurFmtZHHKFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'zh-Hant-HK', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 年 1 個月 1 星期 1 日 1 小時 1 分鐘 1 秒'); + }); + //test cases for tr-TR + test('testDurFmtTRFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'tr-TR', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1y 1a 1h 1g 1 sa 1d 1sn'); + }); + test('testDurFmtTRFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'tr-TR', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1y 1a 1h 1g 1 sa 1d 1sn'); + }); + test('testDurFmtTRFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'tr-TR', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1y 1a 1h 1g 01:01:01'); + }); + test('testDurFmtTRFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'tr-TR', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1y 1a 1h 1g 1 sa 1d 1sn'); + }); + test('testDurFmtTRFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'tr-TR', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 yıl 1 ay 1 hf. 1 gün 1 sa. 1 dk. 1 sn.'); + }); + test('testDurFmtTRFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'tr-TR', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 yıl 1 ay 1 hafta 1 gün 1 saat 1 dakika 1 saniye'); + }); + //test cases for swedish + test('testDurFmtSVFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sv-SE', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1å 1m 1v 1d 1h 1m 1s'); + }); + test('testDurFmtSVFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sv-SE', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1å 1m 1v 1d 1h 1m 1s'); + }); + test('testDurFmtSVFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sv-SE', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1å 1m 1v 1d 01:01:01'); + }); + test('testDurFmtSVFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sv-SE', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1å, 1m, 1v, 1d, 1h, 1m, 1s'); + }); + test('testDurFmtSVFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sv-SE', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect( + fmt.format(dateOptions), '1 år, 1 mån, 1 v, 1 d, 1 tim, 1 min, 1 s'); + }); + test('testDurFmtSVFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sv-SE', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 år, 1 månad, 1 vecka, 1 dygn, 1 timme, 1 minut, 1 sekund'); + }); + //test cases for sl-SI + test('testDurFmtSLFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sl-SI', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 l, 1 m, 1 t, 1 d, 1 h, 1 min, 1 s'); + }); + test('testDurFmtSLFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sl-SI', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 l, 1 m, 1 t, 1 d, 1 h, 1 min, 1 s'); + }); + test('testDurFmtSLFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'sl-SI', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 l, 1 m, 1 t, 1 d, 01:01:01'); + }); + test('testDurFmtSLFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sl-SI', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 l, 1 m, 1 t, 1 d, 1 h, 1 min, 1 s'); + }); + test('testDurFmtSLFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sl-SI', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 l, 1 m, 1 t, 1 d, 1 h, 1 min, 1 sek.'); + }); + test('testDurFmtSLFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'sl-SI', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 leto, 1 mesec, 1 teden, 1 dan, 1 ura, 1 minuta in 1 sekunda'); + }); + //test cases for portuguese pt-PU + test('testDurFmtPTPTFormatShortDefaultStyle', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pt-PT', length: 'short'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ano, 1 mês, 1 sem., 1 dia, 1 h, 1 min, 1 s'); + }); + test('testDurFmtPTPTFormatShortText', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'pt-PT', length: 'short', style: 'text'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ano, 1 mês, 1 sem., 1 dia, 1 h, 1 min, 1 s'); + }); + test('testDurFmtPTPTFormatShortClock', () { + final ILibDurationFmtOptions fmtOptions = ILibDurationFmtOptions( + locale: 'pt-PT', length: 'short', style: 'clock'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), '1 ano, 1 mês, 1 sem., 1 dia, 01:01:01'); + }); + test('testDurFmtPTPTFormatMedium', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pt-PT', length: 'medium'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ano, 1 mês, 1 sem., 1 dia, 1 h, 1 min, 1 s'); + }); + test('testDurFmtPTPTFormatLong', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pt-PT', length: 'long'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ano, 1 mês, 1 sem., 1 dia, 1 h, 1 min, 1 s'); + }); + test('testDurFmtPTPTFormatFull', () { + final ILibDurationFmtOptions fmtOptions = + ILibDurationFmtOptions(locale: 'pt-PT', length: 'full'); + final ILibDurationFmt fmt = ILibDurationFmt(fmtOptions); + expect(fmt, isNotNull); + + final ILibDateOptions dateOptions = ILibDateOptions( + year: 1, month: 1, week: 1, day: 1, hour: 1, minute: 1, second: 1); + expect(fmt.format(dateOptions), + '1 ano, 1 mês, 1 semana, 1 dia, 1 hora, 1 minuto e 1 segundo'); + }); + }); +}