%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.149 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/11585/cwd/html/ppaobm/vendor/bower-asset/moment/src/test/moment/ |
Upload File : |
import { module, test } from '../qunit'; import moment from '../../moment'; import each from '../helpers/each'; import indexOf from '../../lib/utils/index-of'; module('locale', { setup : function () { // TODO: Remove once locales are switched to ES6 each([{ name: 'en-gb', data: {} }, { name: 'en-ca', data: {} }, { name: 'es', data: { relativeTime: {past: 'hace %s', s: 'unos segundos', d: 'un día'}, months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_') } }, { name: 'fr', data: {} }, { name: 'fr-ca', data: {} }, { name: 'it', data: {} }, { name: 'zh-cn', data: { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_') } }], function (locale) { if (moment.locale(locale.name) !== locale.name) { moment.defineLocale(locale.name, locale.data); } }); moment.locale('en'); } }); test('library getters and setters', function (assert) { var r = moment.locale('en'); assert.equal(r, 'en', 'locale should return en by default'); assert.equal(moment.locale(), 'en', 'locale should return en by default'); moment.locale('fr'); assert.equal(moment.locale(), 'fr', 'locale should return the changed locale'); moment.locale('en-gb'); assert.equal(moment.locale(), 'en-gb', 'locale should return the changed locale'); moment.locale('en'); assert.equal(moment.locale(), 'en', 'locale should reset'); moment.locale('does-not-exist'); assert.equal(moment.locale(), 'en', 'locale should reset'); moment.locale('EN'); assert.equal(moment.locale(), 'en', 'Normalize locale key case'); moment.locale('EN_gb'); assert.equal(moment.locale(), 'en-gb', 'Normalize locale key underscore'); }); test('library setter array of locales', function (assert) { assert.equal(moment.locale(['non-existent', 'fr', 'also-non-existent']), 'fr', 'passing an array uses the first valid locale'); assert.equal(moment.locale(['es', 'fr', 'also-non-existent']), 'es', 'passing an array uses the first valid locale'); }); test('library setter locale substrings', function (assert) { assert.equal(moment.locale('fr-crap'), 'fr', 'use substrings'); assert.equal(moment.locale('fr-does-not-exist'), 'fr', 'uses deep substrings'); assert.equal(moment.locale('fr-CA-does-not-exist'), 'fr-ca', 'uses deepest substring'); }); test('library getter locale array and substrings', function (assert) { assert.equal(moment.locale(['en-CH', 'fr']), 'en', 'prefer root locale to shallower ones'); assert.equal(moment.locale(['en-gb-leeds', 'en-CA']), 'en-gb', 'prefer root locale to shallower ones'); assert.equal(moment.locale(['en-fake', 'en-CA']), 'en-ca', 'prefer alternatives with shared roots'); assert.equal(moment.locale(['en-fake', 'en-fake2', 'en-ca']), 'en-ca', 'prefer alternatives with shared roots'); assert.equal(moment.locale(['fake-CA', 'fake-MX', 'fr']), 'fr', 'always find something if possible'); assert.equal(moment.locale(['fake-CA', 'fake-MX', 'fr']), 'fr', 'always find something if possible'); assert.equal(moment.locale(['fake-CA', 'fake-MX', 'fr-fake-fake-fake']), 'fr', 'always find something if possible'); assert.equal(moment.locale(['en', 'en-CA']), 'en', 'prefer earlier if it works'); }); test('library ensure inheritance', function (assert) { moment.locale('made-up', { // I put them out of order months : 'February_March_April_May_June_July_August_September_October_November_December_January'.split('_') // the rest of the properties should be inherited. }); assert.equal(moment([2012, 5, 6]).format('MMMM'), 'July', 'Override some of the configs'); assert.equal(moment([2012, 5, 6]).format('MMM'), 'Jun', 'But not all of them'); }); test('library ensure inheritance LT L LL LLL LLLL', function (assert) { var locale = 'test-inherit-lt'; moment.defineLocale(locale, { longDateFormat : { LT : '-[LT]-', L : '-[L]-', LL : '-[LL]-', LLL : '-[LLL]-', LLLL : '-[LLLL]-' }, calendar : { sameDay : '[sameDay] LT', nextDay : '[nextDay] L', nextWeek : '[nextWeek] LL', lastDay : '[lastDay] LLL', lastWeek : '[lastWeek] LLLL', sameElse : 'L' } }); moment.locale('es'); assert.equal(moment().locale(locale).calendar(), 'sameDay -LT-', 'Should use instance locale in LT formatting'); assert.equal(moment().add(1, 'days').locale(locale).calendar(), 'nextDay -L-', 'Should use instance locale in L formatting'); assert.equal(moment().add(-1, 'days').locale(locale).calendar(), 'lastDay -LLL-', 'Should use instance locale in LL formatting'); assert.equal(moment().add(4, 'days').locale(locale).calendar(), 'nextWeek -LL-', 'Should use instance locale in LLL formatting'); assert.equal(moment().add(-4, 'days').locale(locale).calendar(), 'lastWeek -LLLL-', 'Should use instance locale in LLLL formatting'); }); test('library localeData', function (assert) { moment.locale('en'); var jan = moment([2000, 0]); assert.equal(moment.localeData().months(jan), 'January', 'no arguments returns global'); assert.equal(moment.localeData('zh-cn').months(jan), '一月', 'a string returns the locale based on key'); assert.equal(moment.localeData(moment().locale('es')).months(jan), 'enero', 'if you pass in a moment it uses the moment\'s locale'); }); test('library deprecations', function (assert) { test.expectedDeprecations('moment.lang'); moment.lang('dude', {months: ['Movember']}); assert.equal(moment.locale(), 'dude', 'setting the lang sets the locale'); assert.equal(moment.lang(), moment.locale()); assert.equal(moment.langData(), moment.localeData(), 'langData is localeData'); moment.defineLocale('dude', null); }); test('defineLocale', function (assert) { moment.locale('en'); moment.defineLocale('dude', {months: ['Movember']}); assert.equal(moment().locale(), 'dude', 'defineLocale also sets it'); assert.equal(moment().locale('dude').locale(), 'dude', 'defineLocale defines a locale'); moment.defineLocale('dude', null); }); test('locales', function (assert) { moment.defineLocale('dude', {months: ['Movember']}); assert.equal(true, !!~indexOf.call(moment.locales(), 'dude'), 'locales returns an array of defined locales'); assert.equal(true, !!~indexOf.call(moment.locales(), 'en'), 'locales should always include english'); moment.defineLocale('dude', null); }); test('library convenience', function (assert) { moment.locale('something', {week: {dow: 3}}); moment.locale('something'); assert.equal(moment.locale(), 'something', 'locale can be used to create the locale too'); moment.defineLocale('something', null); }); test('firstDayOfWeek firstDayOfYear locale getters', function (assert) { moment.locale('something', {week: {dow: 3, doy: 4}}); moment.locale('something'); assert.equal(moment.localeData().firstDayOfWeek(), 3, 'firstDayOfWeek'); assert.equal(moment.localeData().firstDayOfYear(), 4, 'firstDayOfYear'); moment.defineLocale('something', null); }); test('instance locale method', function (assert) { moment.locale('en'); assert.equal(moment([2012, 5, 6]).format('MMMM'), 'June', 'Normally default to global'); assert.equal(moment([2012, 5, 6]).locale('es').format('MMMM'), 'junio', 'Use the instance specific locale'); assert.equal(moment([2012, 5, 6]).format('MMMM'), 'June', 'Using an instance specific locale does not affect other moments'); }); test('instance locale method with array', function (assert) { var m = moment().locale(['non-existent', 'fr', 'also-non-existent']); assert.equal(m.locale(), 'fr', 'passing an array uses the first valid locale'); m = moment().locale(['es', 'fr', 'also-non-existent']); assert.equal(m.locale(), 'es', 'passing an array uses the first valid locale'); }); test('instance getter locale substrings', function (assert) { var m = moment(); m.locale('fr-crap'); assert.equal(m.locale(), 'fr', 'use substrings'); m.locale('fr-does-not-exist'); assert.equal(m.locale(), 'fr', 'uses deep substrings'); }); test('instance locale persists with manipulation', function (assert) { moment.locale('en'); assert.equal(moment([2012, 5, 6]).locale('es').add({days: 1}).format('MMMM'), 'junio', 'With addition'); assert.equal(moment([2012, 5, 6]).locale('es').day(0).format('MMMM'), 'junio', 'With day getter'); assert.equal(moment([2012, 5, 6]).locale('es').endOf('day').format('MMMM'), 'junio', 'With endOf'); }); test('instance locale persists with cloning', function (assert) { moment.locale('en'); var a = moment([2012, 5, 6]).locale('es'), b = a.clone(), c = moment(a); assert.equal(b.format('MMMM'), 'junio', 'using moment.fn.clone()'); assert.equal(b.format('MMMM'), 'junio', 'using moment()'); }); test('duration locale method', function (assert) { moment.locale('en'); assert.equal(moment.duration({seconds: 44}).humanize(), 'a few seconds', 'Normally default to global'); assert.equal(moment.duration({seconds: 44}).locale('es').humanize(), 'unos segundos', 'Use the instance specific locale'); assert.equal(moment.duration({seconds: 44}).humanize(), 'a few seconds', 'Using an instance specific locale does not affect other durations'); }); test('duration locale persists with cloning', function (assert) { moment.locale('en'); var a = moment.duration({seconds: 44}).locale('es'), b = moment.duration(a); assert.equal(b.humanize(), 'unos segundos', 'using moment.duration()'); }); test('changing the global locale doesn\'t affect existing duration instances', function (assert) { var mom = moment.duration(); moment.locale('fr'); assert.equal('en', mom.locale()); }); test('duration deprecations', function (assert) { test.expectedDeprecations('moment().lang()'); assert.equal(moment.duration().lang(), moment.duration().localeData(), 'duration.lang is the same as duration.localeData'); }); test('from and fromNow with invalid date', function (assert) { assert.equal(moment(NaN).from(), 'Invalid date', 'moment.from with invalid moment'); assert.equal(moment(NaN).fromNow(), 'Invalid date', 'moment.fromNow with invalid moment'); }); test('from relative time future', function (assert) { var start = moment([2007, 1, 28]); assert.equal(start.from(moment([2007, 1, 28]).subtract({s: 44})), 'in a few seconds', '44 seconds = a few seconds'); assert.equal(start.from(moment([2007, 1, 28]).subtract({s: 45})), 'in a minute', '45 seconds = a minute'); assert.equal(start.from(moment([2007, 1, 28]).subtract({s: 89})), 'in a minute', '89 seconds = a minute'); assert.equal(start.from(moment([2007, 1, 28]).subtract({s: 90})), 'in 2 minutes', '90 seconds = 2 minutes'); assert.equal(start.from(moment([2007, 1, 28]).subtract({m: 44})), 'in 44 minutes', '44 minutes = 44 minutes'); assert.equal(start.from(moment([2007, 1, 28]).subtract({m: 45})), 'in an hour', '45 minutes = an hour'); assert.equal(start.from(moment([2007, 1, 28]).subtract({m: 89})), 'in an hour', '89 minutes = an hour'); assert.equal(start.from(moment([2007, 1, 28]).subtract({m: 90})), 'in 2 hours', '90 minutes = 2 hours'); assert.equal(start.from(moment([2007, 1, 28]).subtract({h: 5})), 'in 5 hours', '5 hours = 5 hours'); assert.equal(start.from(moment([2007, 1, 28]).subtract({h: 21})), 'in 21 hours', '21 hours = 21 hours'); assert.equal(start.from(moment([2007, 1, 28]).subtract({h: 22})), 'in a day', '22 hours = a day'); assert.equal(start.from(moment([2007, 1, 28]).subtract({h: 35})), 'in a day', '35 hours = a day'); assert.equal(start.from(moment([2007, 1, 28]).subtract({h: 36})), 'in 2 days', '36 hours = 2 days'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 1})), 'in a day', '1 day = a day'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 5})), 'in 5 days', '5 days = 5 days'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 25})), 'in 25 days', '25 days = 25 days'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 26})), 'in a month', '26 days = a month'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 30})), 'in a month', '30 days = a month'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 45})), 'in a month', '45 days = a month'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 47})), 'in 2 months', '47 days = 2 months'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 74})), 'in 2 months', '74 days = 2 months'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 78})), 'in 3 months', '78 days = 3 months'); assert.equal(start.from(moment([2007, 1, 28]).subtract({M: 1})), 'in a month', '1 month = a month'); assert.equal(start.from(moment([2007, 1, 28]).subtract({M: 5})), 'in 5 months', '5 months = 5 months'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 315})), 'in 10 months', '315 days = 10 months'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 344})), 'in a year', '344 days = a year'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 345})), 'in a year', '345 days = a year'); assert.equal(start.from(moment([2007, 1, 28]).subtract({d: 548})), 'in 2 years', '548 days = in 2 years'); assert.equal(start.from(moment([2007, 1, 28]).subtract({y: 1})), 'in a year', '1 year = a year'); assert.equal(start.from(moment([2007, 1, 28]).subtract({y: 5})), 'in 5 years', '5 years = 5 years'); }); test('from relative time past', function (assert) { var start = moment([2007, 1, 28]); assert.equal(start.from(moment([2007, 1, 28]).add({s: 44})), 'a few seconds ago', '44 seconds = a few seconds'); assert.equal(start.from(moment([2007, 1, 28]).add({s: 45})), 'a minute ago', '45 seconds = a minute'); assert.equal(start.from(moment([2007, 1, 28]).add({s: 89})), 'a minute ago', '89 seconds = a minute'); assert.equal(start.from(moment([2007, 1, 28]).add({s: 90})), '2 minutes ago', '90 seconds = 2 minutes'); assert.equal(start.from(moment([2007, 1, 28]).add({m: 44})), '44 minutes ago', '44 minutes = 44 minutes'); assert.equal(start.from(moment([2007, 1, 28]).add({m: 45})), 'an hour ago', '45 minutes = an hour'); assert.equal(start.from(moment([2007, 1, 28]).add({m: 89})), 'an hour ago', '89 minutes = an hour'); assert.equal(start.from(moment([2007, 1, 28]).add({m: 90})), '2 hours ago', '90 minutes = 2 hours'); assert.equal(start.from(moment([2007, 1, 28]).add({h: 5})), '5 hours ago', '5 hours = 5 hours'); assert.equal(start.from(moment([2007, 1, 28]).add({h: 21})), '21 hours ago', '21 hours = 21 hours'); assert.equal(start.from(moment([2007, 1, 28]).add({h: 22})), 'a day ago', '22 hours = a day'); assert.equal(start.from(moment([2007, 1, 28]).add({h: 35})), 'a day ago', '35 hours = a day'); assert.equal(start.from(moment([2007, 1, 28]).add({h: 36})), '2 days ago', '36 hours = 2 days'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 1})), 'a day ago', '1 day = a day'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 5})), '5 days ago', '5 days = 5 days'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 25})), '25 days ago', '25 days = 25 days'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 26})), 'a month ago', '26 days = a month'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 30})), 'a month ago', '30 days = a month'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 43})), 'a month ago', '43 days = a month'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 46})), '2 months ago', '46 days = 2 months'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 74})), '2 months ago', '75 days = 2 months'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 76})), '3 months ago', '76 days = 3 months'); assert.equal(start.from(moment([2007, 1, 28]).add({M: 1})), 'a month ago', '1 month = a month'); assert.equal(start.from(moment([2007, 1, 28]).add({M: 5})), '5 months ago', '5 months = 5 months'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 315})), '10 months ago', '315 days = 10 months'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 344})), 'a year ago', '344 days = a year'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 345})), 'a year ago', '345 days = a year'); assert.equal(start.from(moment([2007, 1, 28]).add({d: 548})), '2 years ago', '548 days = 2 years'); assert.equal(start.from(moment([2007, 1, 28]).add({y: 1})), 'a year ago', '1 year = a year'); assert.equal(start.from(moment([2007, 1, 28]).add({y: 5})), '5 years ago', '5 years = 5 years'); }); test('instance locale used with from', function (assert) { moment.locale('en'); var a = moment([2012, 5, 6]).locale('es'), b = moment([2012, 5, 7]); assert.equal(a.from(b), 'hace un día', 'preserve locale of first moment'); assert.equal(b.from(a), 'in a day', 'do not preserve locale of second moment'); }); test('instance localeData', function (assert) { moment.defineLocale('dude', {week: {dow: 3}}); assert.equal(moment().locale('dude').localeData()._week.dow, 3); moment.defineLocale('dude', null); }); test('month name callback function', function (assert) { function fakeReplace(m, format) { if (/test/.test(format)) { return 'test'; } if (m.date() === 1) { return 'date'; } return 'default'; } moment.locale('made-up-2', { months : fakeReplace, monthsShort : fakeReplace, weekdays : fakeReplace, weekdaysShort : fakeReplace, weekdaysMin : fakeReplace }); assert.equal(moment().format('[test] dd ddd dddd MMM MMMM'), 'test test test test test test', 'format month name function should be able to access the format string'); assert.equal(moment([2011, 0, 1]).format('dd ddd dddd MMM MMMM'), 'date date date date date', 'format month name function should be able to access the moment object'); assert.equal(moment([2011, 0, 2]).format('dd ddd dddd MMM MMMM'), 'default default default default default', 'format month name function should be able to access the moment object'); }); test('changing parts of a locale config', function (assert) { test.expectedDeprecations('defineLocaleOverride'); moment.locale('partial-lang', { months : 'a b c d e f g h i j k l'.split(' ') }); assert.equal(moment([2011, 0, 1]).format('MMMM'), 'a', 'should be able to set locale values when creating the localeuage'); moment.locale('partial-lang', { monthsShort : 'A B C D E F G H I J K L'.split(' ') }); assert.equal(moment([2011, 0, 1]).format('MMMM MMM'), 'a A', 'should be able to set locale values after creating the localeuage'); moment.defineLocale('partial-lang', null); }); test('start/endOf week feature for first-day-is-monday locales', function (assert) { moment.locale('monday-lang', { week : { dow : 1 // Monday is the first day of the week } }); moment.locale('monday-lang'); assert.equal(moment([2013, 0, 1]).startOf('week').day(), 1, 'for locale monday-lang first day of the week should be monday'); assert.equal(moment([2013, 0, 1]).endOf('week').day(), 0, 'for locale monday-lang last day of the week should be sunday'); moment.defineLocale('monday-lang', null); }); test('meridiem parsing', function (assert) { moment.locale('meridiem-parsing', { meridiemParse : /[bd]/i, isPM : function (input) { return input === 'b'; } }); moment.locale('meridiem-parsing'); assert.equal(moment('2012-01-01 3b', 'YYYY-MM-DD ha').hour(), 15, 'Custom parsing of meridiem should work'); assert.equal(moment('2012-01-01 3d', 'YYYY-MM-DD ha').hour(), 3, 'Custom parsing of meridiem should work'); moment.defineLocale('meridiem-parsing', null); }); test('invalid date formatting', function (assert) { moment.locale('has-invalid', { invalidDate: 'KHAAAAAAAAAAAN!' }); assert.equal(moment.invalid().format(), 'KHAAAAAAAAAAAN!'); assert.equal(moment.invalid().format('YYYY-MM-DD'), 'KHAAAAAAAAAAAN!'); moment.defineLocale('has-invalid', null); }); test('return locale name', function (assert) { var registered = moment.locale('return-this', {}); assert.equal(registered, 'return-this', 'returns the locale configured'); moment.locale('return-this', null); }); test('changing the global locale doesn\'t affect existing instances', function (assert) { var mom = moment(); moment.locale('fr'); assert.equal('en', mom.locale()); }); test('setting a language on instance returns the original moment for chaining', function (assert) { test.expectedDeprecations('moment().lang()'); var mom = moment(); assert.equal(mom.lang('fr'), mom, 'setting the language (lang) returns the original moment for chaining'); assert.equal(mom.locale('it'), mom, 'setting the language (locale) returns the original moment for chaining'); }); test('lang(key) changes the language of the instance', function (assert) { test.expectedDeprecations('moment().lang()'); var m = moment().month(0); m.lang('fr'); assert.equal(m.locale(), 'fr', 'm.lang(key) changes instance locale'); }); test('moment#locale(false) resets to global locale', function (assert) { var m = moment(); moment.locale('fr'); m.locale('it'); assert.equal(moment.locale(), 'fr', 'global locale is it'); assert.equal(m.locale(), 'it', 'instance locale is it'); m.locale(false); assert.equal(m.locale(), 'fr', 'instance locale reset to global locale'); }); test('moment().locale with missing key doesn\'t change locale', function (assert) { assert.equal(moment().locale('boo').localeData(), moment.localeData(), 'preserve global locale in case of bad locale id'); }); test('moment().lang with missing key doesn\'t change locale', function (assert) { test.expectedDeprecations('moment().lang()'); assert.equal(moment().lang('boo').localeData(), moment.localeData(), 'preserve global locale in case of bad locale id'); }); test('when in strict mode with inexact parsing, treat periods in short weekdays literally, not as the regex-period', function (assert) { moment.defineLocale('periods-in-short-weekdays', { weekdays : 'Monday_Tuesday_Wednesday_Thursday_Friday_Saturday_Sunday'.split('_'), weekdaysShort : 'mon_t...s_wed_thurs_fri_sat_sun'.split('_'), weekdaysParseExact : false }); moment().locale('periods-in-short-weekdays'); assert.equal(moment('thurs', 'ddd', true).format('dddd'), 'Thursday'); }); test('when in strict mode with inexact parsing, treat periods in full weekdays literally, not as the regex-period', function (assert) { moment.defineLocale('periods-in-full-weekdays', { weekdays : 'Monday_T....day_Wednesday_Thursday_Friday_Saturday_Sunday'.split('_'), weekdaysShort : 'mon_tues_wed_thurs_fri_sat_sun'.split('_'), weekdaysParseExact : false }); moment().locale('periods-in-full-weekdays'); assert.equal(moment('Thursday', 'dddd', true).format('ddd'), 'thurs'); }); test('when in strict mode with inexact parsing, treat periods in min-weekdays literally, not as the regex-period', function (assert) { moment.defineLocale('periods-in-min-weekdays', { weekdays : 'Monday_Tuesday_Wednesday_Thursday_Friday_Saturday_Sunday'.split('_'), weekdaysMin : 'mon_t...s_wed_thurs_fri_sat_sun'.split('_'), weekdaysParseExact : false }); moment().locale('periods-in-min-weekdays'); assert.equal(moment('thurs', 'dd', true).format('dddd'), 'Thursday'); }); // TODO: Enable this after fixing pl months parse hack hack // test('monthsParseExact', function (assert) { // var locale = 'test-months-parse-exact'; // moment.defineLocale(locale, { // monthsParseExact: true, // months: 'A_AA_AAA_B_B B_BB B_C_C-C_C,C2C_D_D+D_D`D*D'.split('_'), // monthsShort: 'E_EE_EEE_F_FF_FFF_G_GG_GGG_H_HH_HHH'.split('_') // }); // assert.equal(moment('A', 'MMMM', true).month(), 0, 'parse long month 0 with MMMM'); // assert.equal(moment('AA', 'MMMM', true).month(), 1, 'parse long month 1 with MMMM'); // assert.equal(moment('AAA', 'MMMM', true).month(), 2, 'parse long month 2 with MMMM'); // assert.equal(moment('B B', 'MMMM', true).month(), 4, 'parse long month 4 with MMMM'); // assert.equal(moment('BB B', 'MMMM', true).month(), 5, 'parse long month 5 with MMMM'); // assert.equal(moment('C-C', 'MMMM', true).month(), 7, 'parse long month 7 with MMMM'); // assert.equal(moment('C,C2C', 'MMMM', true).month(), 8, 'parse long month 8 with MMMM'); // assert.equal(moment('D+D', 'MMMM', true).month(), 10, 'parse long month 10 with MMMM'); // assert.equal(moment('D`D*D', 'MMMM', true).month(), 11, 'parse long month 11 with MMMM'); // assert.equal(moment('E', 'MMM', true).month(), 0, 'parse long month 0 with MMM'); // assert.equal(moment('EE', 'MMM', true).month(), 1, 'parse long month 1 with MMM'); // assert.equal(moment('EEE', 'MMM', true).month(), 2, 'parse long month 2 with MMM'); // assert.equal(moment('A', 'MMM').month(), 0, 'non-strict parse long month 0 with MMM'); // assert.equal(moment('AA', 'MMM').month(), 1, 'non-strict parse long month 1 with MMM'); // assert.equal(moment('AAA', 'MMM').month(), 2, 'non-strict parse long month 2 with MMM'); // assert.equal(moment('E', 'MMMM').month(), 0, 'non-strict parse short month 0 with MMMM'); // assert.equal(moment('EE', 'MMMM').month(), 1, 'non-strict parse short month 1 with MMMM'); // assert.equal(moment('EEE', 'MMMM').month(), 2, 'non-strict parse short month 2 with MMMM'); // });