factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('af');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52ste', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1ste', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2de', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ar-ma');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 31]).week(), 1, 'Dec 31 2011 should be week 1');
- assert.equal(moment([2012, 0, 6]).week(), 1, 'Jan 6 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 2, 'Jan 7 2012 should be week 2');
- assert.equal(moment([2012, 0, 13]).week(), 2, 'Jan 13 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 3, 'Jan 14 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 30]).week(), 1, 'Dec 30 2006 should be week 1');
- assert.equal(moment([2007, 0, 5]).week(), 1, 'Jan 5 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 2, 'Jan 6 2007 should be week 2');
- assert.equal(moment([2007, 0, 12]).week(), 2, 'Jan 12 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 3, 'Jan 13 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 1, 'Dec 29 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 4]).week(), 1, 'Jan 4 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 2, 'Jan 5 2008 should be week 2');
- assert.equal(moment([2008, 0, 11]).week(), 2, 'Jan 11 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 3, 'Jan 12 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 28]).week(), 1, 'Dec 28 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 3]).week(), 1, 'Jan 3 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 2, 'Jan 4 2003 should be week 2');
- assert.equal(moment([2003, 0, 10]).week(), 2, 'Jan 10 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 3, 'Jan 11 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 27]).week(), 1, 'Dec 27 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 2]).week(), 1, 'Jan 2 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 2, 'Jan 3 2009 should be week 2');
- assert.equal(moment([2009, 0, 9]).week(), 2, 'Jan 9 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 3, 'Jan 10 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 26]).week(), 1, 'Dec 26 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 2, 'Jan 2 2010 should be week 2');
- assert.equal(moment([2010, 0, 8]).week(), 2, 'Jan 8 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 3, 'Jan 9 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 7]).week(), 1, 'Jan 7 2011 should be week 1');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 14]).week(), 2, 'Jan 14 2011 should be week 2');
- assert.equal(moment([2011, 0, 15]).week(), 3, 'Jan 15 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ar-sa');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 31]).week(), 1, 'Dec 31 2011 should be week 1');
- assert.equal(moment([2012, 0, 6]).week(), 1, 'Jan 6 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 2, 'Jan 7 2012 should be week 2');
- assert.equal(moment([2012, 0, 13]).week(), 2, 'Jan 13 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 3, 'Jan 14 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 30]).week(), 1, 'Dec 30 2006 should be week 1');
- assert.equal(moment([2007, 0, 5]).week(), 1, 'Jan 5 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 2, 'Jan 6 2007 should be week 2');
- assert.equal(moment([2007, 0, 12]).week(), 2, 'Jan 12 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 3, 'Jan 13 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 1, 'Dec 29 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 4]).week(), 1, 'Jan 4 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 2, 'Jan 5 2008 should be week 2');
- assert.equal(moment([2008, 0, 11]).week(), 2, 'Jan 11 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 3, 'Jan 12 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 28]).week(), 1, 'Dec 28 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 3]).week(), 1, 'Jan 3 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 2, 'Jan 4 2003 should be week 2');
- assert.equal(moment([2003, 0, 10]).week(), 2, 'Jan 10 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 3, 'Jan 11 2003 should be week 3');
-
+ test('weeks year starting wednesday custom', function (assert) {
assert.equal(moment('2003 1 6', 'gggg w d').format('YYYY-MM-DD'), '٢٠٠٢-١٢-٢٨', 'Week 1 of 2003 should be Dec 28 2002');
assert.equal(moment('2003 1 0', 'gggg w e').format('YYYY-MM-DD'), '٢٠٠٢-١٢-٢٨', 'Week 1 of 2003 should be Dec 28 2002');
assert.equal(moment('2003 1 6', 'gggg w d').format('gggg w d'), '٢٠٠٣ ١ ٦', 'Saturday of week 1 of 2003 parsed should be formatted as 2003 1 6');
assert.equal(moment('2003 1 0', 'gggg w e').format('gggg w e'), '٢٠٠٣ ١ ٠', '1st day of week 1 of 2003 parsed should be formatted as 2003 1 0');
});
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 27]).week(), 1, 'Dec 27 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 2]).week(), 1, 'Jan 2 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 2, 'Jan 3 2009 should be week 2');
- assert.equal(moment([2009, 0, 9]).week(), 2, 'Jan 9 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 3, 'Jan 10 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 26]).week(), 1, 'Dec 26 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 2, 'Jan 2 2010 should be week 2');
- assert.equal(moment([2010, 0, 8]).week(), 2, 'Jan 8 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 3, 'Jan 9 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 7]).week(), 1, 'Jan 7 2011 should be week 1');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 14]).week(), 2, 'Jan 14 2011 should be week 2');
- assert.equal(moment([2011, 0, 15]).week(), 3, 'Jan 15 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 31]).format('w ww wo'), '١ ٠١ ١', 'Dec 31 2011 should be week 1');
assert.equal(moment([2012, 0, 6]).format('w ww wo'), '١ ٠١ ١', 'Jan 6 2012 should be week 1');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '٣ ٠٣ ٣', 'Jan 14 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ar-tn');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ar');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 31]).week(), 1, 'Dec 31 2011 should be week 1');
- assert.equal(moment([2012, 0, 6]).week(), 1, 'Jan 6 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 2, 'Jan 7 2012 should be week 2');
- assert.equal(moment([2012, 0, 13]).week(), 2, 'Jan 13 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 3, 'Jan 14 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 30]).week(), 1, 'Dec 30 2006 should be week 1');
- assert.equal(moment([2007, 0, 5]).week(), 1, 'Jan 5 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 2, 'Jan 6 2007 should be week 2');
- assert.equal(moment([2007, 0, 12]).week(), 2, 'Jan 12 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 3, 'Jan 13 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 1, 'Dec 29 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 4]).week(), 1, 'Jan 4 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 2, 'Jan 5 2008 should be week 2');
- assert.equal(moment([2008, 0, 11]).week(), 2, 'Jan 11 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 3, 'Jan 12 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 28]).week(), 1, 'Dec 28 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 3]).week(), 1, 'Jan 3 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 2, 'Jan 4 2003 should be week 2');
- assert.equal(moment([2003, 0, 10]).week(), 2, 'Jan 10 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 3, 'Jan 11 2003 should be week 3');
-
+ test('weeks year starting wednesday custom', function (assert) {
assert.equal(moment('2003 1 6', 'gggg w d').format('YYYY-MM-DD'), '٢٠٠٢-١٢-٢٨', 'Week 1 of 2003 should be Dec 28 2002');
assert.equal(moment('2003 1 0', 'gggg w e').format('YYYY-MM-DD'), '٢٠٠٢-١٢-٢٨', 'Week 1 of 2003 should be Dec 28 2002');
assert.equal(moment('2003 1 6', 'gggg w d').format('gggg w d'), '٢٠٠٣ ١ ٦', 'Saturday of week 1 of 2003 parsed should be formatted as 2003 1 6');
assert.equal(moment('2003 1 0', 'gggg w e').format('gggg w e'), '٢٠٠٣ ١ ٠', '1st day of week 1 of 2003 parsed should be formatted as 2003 1 0');
});
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 27]).week(), 1, 'Dec 27 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 2]).week(), 1, 'Jan 2 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 2, 'Jan 3 2009 should be week 2');
- assert.equal(moment([2009, 0, 9]).week(), 2, 'Jan 9 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 3, 'Jan 10 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 26]).week(), 1, 'Dec 26 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 2, 'Jan 2 2010 should be week 2');
- assert.equal(moment([2010, 0, 8]).week(), 2, 'Jan 8 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 3, 'Jan 9 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 7]).week(), 1, 'Jan 7 2011 should be week 1');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 14]).week(), 2, 'Jan 14 2011 should be week 2');
- assert.equal(moment([2011, 0, 15]).week(), 3, 'Jan 15 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 31]).format('w ww wo'), '١ ٠١ ١', 'Dec 31 2011 should be week 1');
assert.equal(moment([2012, 0, 6]).format('w ww wo'), '١ ٠١ ١', 'Jan 6 2012 should be week 1');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '٣ ٠٣ ٣', 'Jan 14 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
test('no leading zeros in long date formats', function (assert) {
var i, j, longDateStr, shortDateStr;
for (i = 1; i <= 9; ++i) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('az');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-inci', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-inci', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-üncü', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('be');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-ы', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ы', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-і', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('bg');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-ви', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ви', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-ти', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('bn');
assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'রাত', 'night');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '১ ০১ ১', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '১ ০১ ১', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '৩ ০৩ ৩', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('bo');
assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'མཚན་མོ', 'night');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '༡ ༠༡ ༡', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '༡ ༠༡ ༡', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '༣ ༠༣ ༣', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('br');
assert.equal(start.from(moment([2007, 1, 28]).add({y: 261}), true), '261 bloaz', 'mutation 261 years');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('bs');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ca');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52a', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1a', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2a', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('cs');
assert.equal(moment.duration(-1, 'minutes').humanize(true), 'před minutou', 'a minute ago');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('cv');
// Monday is the first day of the week.
// The week that contains Jan 1st is the first week of the year.
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-мӗш', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-мӗш', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-мӗш', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('cy');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52ain', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1af', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2il', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('da');
assert.equal(moment().add({d: 5}).fromNow(), 'om 5 dage', 'in 5 days');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('de-at');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('de');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('dv');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('el');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 52, 'Dec 31 2006 should be week 52');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 30]).week(), 52, 'Dec 30 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 52, 'Dec 29 2002 should be week 52');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 52, 'Dec 28 2008 should be week 52');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 52, 'Dec 27 2009 should be week 52');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 2]).week(), 53, 'Jan 2 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 9]).week(), 1, 'Jan 9 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 51, 'Dec 26 2010 should be week 51');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 8]).week(), 1, 'Jan 8 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52η', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1η', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2η', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('en-au');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52nd', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1st', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2nd', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testStr;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testStr = moment(ordinalStr, 'YYYY MM Do').format('YYYY MM D');
- assert.equal(testStr, '2014 01 ' + i, 'lenient ordinal parsing ' + i);
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testStr;
- for (i = 1; i <= 31; ++i) {
- testStr = moment('2014 01 ' + i, 'YYYY MM Do').format('YYYY MM D');
- assert.equal(testStr, '2014 01 ' + i,
- 'lenient ordinal parsing of number ' + i);
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MMM Do');
- testMoment = moment(ordinalStr, 'YYYY MMM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('en-ca');
['[the] DDDo [day of the year]', 'the 45th day of the year'],
['L', '2010-02-14'],
['LTS', '3:25:50 PM'],
- ['LL', '14 February, 2010'],
- ['LLL', '14 February, 2010 3:25 PM'],
- ['LLLL', 'Sunday, 14 February, 2010 3:25 PM'],
+ ['LL', 'February 14, 2010'],
+ ['LLL', 'February 14, 2010 3:25 PM'],
+ ['LLLL', 'Sunday, February 14, 2010 3:25 PM'],
['l', '2010-2-14'],
- ['ll', '14 Feb, 2010'],
- ['lll', '14 Feb, 2010 3:25 PM'],
- ['llll', 'Sun, 14 Feb, 2010 3:25 PM']
+ ['ll', 'Feb 14, 2010'],
+ ['lll', 'Feb 14, 2010 3:25 PM'],
+ ['llll', 'Sun, Feb 14, 2010 3:25 PM']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1st', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1st', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3rd', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('en-gb');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52nd', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1st', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2nd', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('en-ie');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52nd', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1st', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2nd', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('en-nz');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52nd', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1st', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2nd', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testStr;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testStr = moment(ordinalStr, 'YYYY MM Do').format('YYYY MM D');
- assert.equal(testStr, '2014 01 ' + i, 'lenient ordinal parsing ' + i);
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testStr;
- for (i = 1; i <= 31; ++i) {
- testStr = moment('2014 01 ' + i, 'YYYY MM Do').format('YYYY MM D');
- assert.equal(testStr, '2014 01 ' + i,
- 'lenient ordinal parsing of number ' + i);
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MMM Do');
- testMoment = moment(ordinalStr, 'YYYY MMM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('en');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1st', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1st', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3rd', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
test('weekdays strict parsing', function (assert) {
var m = moment('2015-01-01T12', moment.ISO_8601, true),
enLocale = moment.localeData('en');
}
});
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('eo');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1a', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1a', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3a', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('es');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52º', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1º', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2º', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('et');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), '2 nädala pärast');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('eu');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('fa');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 31]).week(), 1, 'Dec 31 2011 should be week 1');
- assert.equal(moment([2012, 0, 6]).week(), 1, 'Jan 6 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 2, 'Jan 7 2012 should be week 2');
- assert.equal(moment([2012, 0, 13]).week(), 2, 'Jan 13 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 3, 'Jan 14 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 30]).week(), 1, 'Dec 30 2006 should be week 1');
- assert.equal(moment([2007, 0, 5]).week(), 1, 'Jan 5 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 2, 'Jan 6 2007 should be week 2');
- assert.equal(moment([2007, 0, 12]).week(), 2, 'Jan 12 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 3, 'Jan 13 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 1, 'Dec 29 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 4]).week(), 1, 'Jan 4 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 2, 'Jan 5 2008 should be week 2');
- assert.equal(moment([2008, 0, 11]).week(), 2, 'Jan 11 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 3, 'Jan 12 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 28]).week(), 1, 'Dec 28 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 3]).week(), 1, 'Jan 3 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 2, 'Jan 4 2003 should be week 2');
- assert.equal(moment([2003, 0, 10]).week(), 2, 'Jan 10 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 3, 'Jan 11 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 27]).week(), 1, 'Dec 27 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 2]).week(), 1, 'Jan 2 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 2, 'Jan 3 2009 should be week 2');
- assert.equal(moment([2009, 0, 9]).week(), 2, 'Jan 9 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 3, 'Jan 10 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 26]).week(), 1, 'Dec 26 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 2, 'Jan 2 2010 should be week 2');
- assert.equal(moment([2010, 0, 8]).week(), 2, 'Jan 8 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 3, 'Jan 9 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 7]).week(), 1, 'Jan 7 2011 should be week 1');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 14]).week(), 2, 'Jan 14 2011 should be week 2');
- assert.equal(moment([2011, 0, 15]).week(), 3, 'Jan 15 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 31]).format('w ww wo'), '۱ ۰۱ ۱م', 'Dec 31 2011 should be week 1');
assert.equal(moment([2012, 0, 6]).format('w ww wo'), '۱ ۰۱ ۱م', 'Jan 6 2012 should be week 1');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '۳ ۰۳ ۳م', 'Jan 14 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('fi');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'kaden viikon päästä');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('fo');
assert.equal(moment().add({d: 5}).fromNow(), 'um 5 dagar', 'in 5 days');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('fr-ca');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1er', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1er', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3e', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('fr-ch');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52e', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1er', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2e', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('fr');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1er', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('fy');
assert.equal(moment([2012, 5, 23]).format('D MMM YYYY'), '23 jun. 2012', 'format month abbreviation not surrounded by dashes should include a dot');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52ste', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1ste', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2de', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('gd');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Faoi 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Faoi 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Faoi 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Faoi 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Faoi 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Faoi 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Faoi 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Faoi 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Faoi 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Faoi 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dùbh 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Faoi 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Faoi 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Faoi 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Faoi 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Faoi 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dùbh 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Faoi 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Faoi 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Faoi 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Faoi 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Faoi 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dùbh 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Faoi 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Faoi 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Faoi 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Faoi 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Faoi 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dùbh 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Faoi 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Faoi 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Faoi 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Faoi 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Faoi 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dùbh 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Faoi 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Faoi 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Faoi 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Faoi 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Faoi 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52na', 'Faoi 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1d', 'Faoi 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2na', 'Faoi 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('gl');
assert.equal(lastWeek.calendar(), lastWeek.format('[o] dddd [pasado a] LT'), '1 o\'clock bug');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1º', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1º', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3º', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('he');
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'ראשון, פברואר 14 2010, 3:25:50 pm'],
- ['ddd, hA', 'א׳, 3PM'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'ראשון, פברואר 14 2010, 3:25:50 אחה"צ'],
+ ['ddd, h A', 'א׳, 3 אחרי הצהריים'],
['M Mo MM MMMM MMM', '2 2 02 פברואר פבר׳'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14 14'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'pm PM'],
+ ['a A', 'אחה"צ אחרי הצהריים'],
['[the] DDDo [day of the year]', 'the 45 day of the year'],
['LTS', '15:25:50'],
['L', '14/02/2010'],
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('hi');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('meridiem invariant', function (assert) {
+ test('meridiem', function (assert) {
assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), 'रात', 'before dawn');
assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'सुबह', 'morning');
assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), 'दोपहर', 'during day');
assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'रात', 'night');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '१ ०१ १', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '१ ०१ १', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '३ ०३ ३', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
+}));
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('hr');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('hu');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), '2 hét múlva');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('hy-am');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-ին', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ին', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-րդ', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('id');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
+}));
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('is');
['a A', 'pm PM'],
['[the] DDDo [day of the year]', 'the 45. day of the year'],
['LTS', '15:25:50'],
- ['L', '14/02/2010'],
+ ['L', '14.02.2010'],
['LL', '14. febrúar 2010'],
['LLL', '14. febrúar 2010 kl. 15:25'],
['LLLL', 'sunnudagur, 14. febrúar 2010 kl. 15:25'],
- ['l', '14/2/2010'],
+ ['l', '14.2.2010'],
['ll', '14. feb 2010'],
['lll', '14. feb 2010 kl. 15:25'],
['llll', 'sun, 14. feb 2010 kl. 15:25']
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('it');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52º', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1º', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2º', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ja');
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, a h:mm:ss', '日曜日, 2月 14 2010, 午後 3:25:50'],
+ ['dddd, MMMM Do YYYY, a h:mm:ss', '日曜日, 2月 14日 2010, 午後 3:25:50'],
['ddd, Ah', '日, 午後3'],
['M Mo MM MMMM MMM', '2 2 02 2月 2月'],
['YYYY YY', '2010 10'],
- ['D Do DD', '14 14 14'],
- ['d do dddd ddd dd', '0 0 日曜日 日 日'],
- ['DDD DDDo DDDD', '45 45 045'],
+ ['D Do DD', '14 14日 14'],
+ ['d do dddd ddd dd', '0 0日 日曜日 日 日'],
+ ['DDD DDDo DDDD', '45 45日 045'],
['w wo ww', '8 8 08'],
['h hh', '3 03'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
['a A', '午後 午後'],
- ['[the] DDDo [day of the year]', 'the 45 day of the year'],
+ ['[the] DDDo [day of the year]', 'the 45日 day of the year'],
['LTS', '午後3時25分50秒'],
['L', '2010/02/14'],
['LL', '2010年2月14日'],
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('jv');
-
test('parse', function (assert) {
var tests = 'Januari Jan_Februari Feb_Maret Mar_April Apr_Mei Mei_Juni Jun_Juli Jul_Agustus Ags_September Sep_Oktober Okt_Nopember Nop_Desember Des'.split('_'), i;
function equalTest(input, mmm, i) {
// Monday is the first day of the week.
// The week that contains Jan 1st is the first week of the year.
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
+}));
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ka');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), '2 კვირაში');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'დეკ 26 2011 უნდა იყოს კვირა 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'იან 1 2012 უნდა იყოს კვირა 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'იან 2 2012 უნდა იყოს კვირა 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'იან 8 2012 უნდა იყოს კვირა 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'იან 9 2012 უნდა იყოს კვირა 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'იან 1 2007 უნდა იყოს კვირა 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'იან 7 2007 უნდა იყოს კვირა 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'იან 8 2007 უნდა იყოს კვირა 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'იან 14 2007 უნდა იყოს კვირა 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'იან 15 2007 უნდა იყოს კვირა 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'დეკ 31 2007 უნდა იყოს კვირა 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'იან 1 2008 უნდა იყოს კვირა 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'იან 6 2008 უნდა იყოს კვირა 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'იან 7 2008 უნდა იყოს კვირა 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'იან 13 2008 უნდა იყოს კვირა 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'იან 14 2008 უნდა იყოს კვირა 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'დეკ 30 2002 უნდა იყოს კვირა 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'იან 1 2003 უნდა იყოს კვირა 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'იან 5 2003 უნდა იყოს კვირა 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'იან 6 2003 უნდა იყოს კვირა 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'იან 12 2003 უნდა იყოს კვირა 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'იან 13 2003 უნდა იყოს კვირა 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'დეკ 29 2008 უნდა იყოს კვირა 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'იან 1 2009 უნდა იყოს კვირა 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'იან 4 2009 უნდა იყოს კვირა 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'იან 5 2009 უნდა იყოს კვირა 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'იან 11 2009 უნდა იყოს კვირა 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'იან 12 2009 უნდა იყოს კვირა 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'დეკ 28 2009 უნდა იყოს კვირა 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'იან 1 2010 უნდა იყოს კვირა 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'იან 3 2010 უნდა იყოს კვირა 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'იან 4 2010 უნდა იყოს კვირა 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'იან 10 2010 უნდა იყოს კვირა 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'იან 11 2010 უნდა იყოს კვირა 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'დეკ 27 2010 უნდა იყოს კვირა 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'იან 1 2011 უნდა იყოს კვირა 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'იან 2 2011 უნდა იყოს კვირა 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'იან 3 2011 უნდა იყოს კვირა 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'იან 9 2011 უნდა იყოს კვირა 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'იან 10 2011 უნდა იყოს კვირა 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-ლი', 'დეკ 26 2011 უნდა იყოს კვირა 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ლი', 'იან 1 2012 უნდა იყოს კვირა 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 მე-3', 'იან 9 2012 უნდა იყოს კვირა 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
- /*global QUnit:false*/
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
- var test = QUnit.test;
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
- var expect = QUnit.expect;
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
- function module (name, lifecycle) {
- QUnit.module(name, {
- setup : function () {
- moment.locale('en');
- moment.createFromInputFallback = function (config) {
- throw new Error('input not handled by moment: ' + config._i);
- };
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
+ /*global QUnit:false*/
+
+ var test = QUnit.test;
+
+ var expect = QUnit.expect;
+
+ function module (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
if (lifecycle && lifecycle.setup) {
lifecycle.setup();
}
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('kk');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 25]).week(), 52, 'Dec 25 2011 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ші', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2-ші', 'Jan 2 2012 should be week 2');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3-ші', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('km');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ko');
expected : '16'
}], i, l, it, actual;
-
for (i = 0, l = elements.length; i < l; ++i) {
it = elements[i];
actual = moment(it.expression, it.inputFormat).format(it.outputFormat);
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1일', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1일', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3일', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('lb');
}
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('lo');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 ທີ່1', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 ທີ່1', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 ທີ່3', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('lt');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52-oji', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1-oji', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2-oji', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('lv');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('me');
// Monday is the first day of the week.
// The week that contains Jan 1st is the first week of the year.
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('mk');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-ви', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ви', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-ти', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ml');
assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'രാത്രി', 'night');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('mr');
assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'रात्री', 'night');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '१ ०१ १', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '१ ०१ १', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '३ ०३ ३', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
+}));
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ms-my');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'dalam 2 minggu');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 sepatutnya minggu 1');
- assert.equal(moment([2012, 0, 7]).week(), 2, 'Jan 7 2012 sepatutnya minggu 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 sepatutnya minggu 2');
- assert.equal(moment([2012, 0, 14]).week(), 3, 'Jan 14 2012 sepatutnya minggu 3');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 sepatutnya minggu 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 53, 'Dec 31 2006 sepatutnya minggu 53');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 sepatutnya minggu 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 sepatutnya minggu 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 sepatutnya minggu 1');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 sepatutnya minggu 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 sepatutnya minggu 2');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 30]).week(), 52, 'Dec 30 2007 sepatutnya minggu 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 sepatutnya minggu 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 sepatutnya minggu 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 sepatutnya minggu 1');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 sepatutnya minggu 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 sepatutnya minggu 2');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 52, 'Dec 29 2002 sepatutnya minggu 52');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 sepatutnya minggu 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 sepatutnya minggu 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 sepatutnya minggu 1');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 sepatutnya minggu 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 sepatutnya minggu 2');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 52, 'Dec 28 2008 sepatutnya minggu 52');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 sepatutnya minggu 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 sepatutnya minggu 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 sepatutnya minggu 1');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 sepatutnya minggu 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 sepatutnya minggu 2');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 52, 'Dec 27 2009 sepatutnya minggu 52');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 sepatutnya minggu 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 sepatutnya minggu 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 sepatutnya minggu 1');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 sepatutnya minggu 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 sepatutnya minggu 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 52, 'Dec 26 2010 sepatutnya minggu 52');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 sepatutnya minggu 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 sepatutnya minggu 1');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 sepatutnya minggu 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 sepatutnya minggu 2');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 sepatutnya minggu 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', 'Jan 7 2012 sepatutnya minggu 2');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 sepatutnya minggu 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+}));
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ if (b != null) {
+ return b;
}
- });
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ms');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'dalam 2 minggu');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 sepatutnya minggu 1');
- assert.equal(moment([2012, 0, 7]).week(), 2, 'Jan 7 2012 sepatutnya minggu 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 sepatutnya minggu 2');
- assert.equal(moment([2012, 0, 14]).week(), 3, 'Jan 14 2012 sepatutnya minggu 3');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 sepatutnya minggu 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 53, 'Dec 31 2006 sepatutnya minggu 53');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 sepatutnya minggu 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 sepatutnya minggu 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 sepatutnya minggu 1');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 sepatutnya minggu 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 sepatutnya minggu 2');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 30]).week(), 52, 'Dec 30 2007 sepatutnya minggu 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 sepatutnya minggu 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 sepatutnya minggu 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 sepatutnya minggu 1');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 sepatutnya minggu 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 sepatutnya minggu 2');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 52, 'Dec 29 2002 sepatutnya minggu 52');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 sepatutnya minggu 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 sepatutnya minggu 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 sepatutnya minggu 1');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 sepatutnya minggu 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 sepatutnya minggu 2');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 52, 'Dec 28 2008 sepatutnya minggu 52');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 sepatutnya minggu 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 sepatutnya minggu 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 sepatutnya minggu 1');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 sepatutnya minggu 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 sepatutnya minggu 2');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 52, 'Dec 27 2009 sepatutnya minggu 52');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 sepatutnya minggu 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 sepatutnya minggu 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 sepatutnya minggu 1');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 sepatutnya minggu 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 sepatutnya minggu 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 52, 'Dec 26 2010 sepatutnya minggu 52');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 sepatutnya minggu 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 sepatutnya minggu 1');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 sepatutnya minggu 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 sepatutnya minggu 2');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 sepatutnya minggu 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', 'Jan 7 2012 sepatutnya minggu 2');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 sepatutnya minggu 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
+}));
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ if (b != null) {
+ return b;
}
- });
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('my');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), '၂ ပတ် အတွင်း');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '၅၂ ၅၂ ၅၂', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '၁ ၀၁ ၁', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '၂ ၀၂ ၂', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('nb');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ne');
assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'राति', 'night');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '५३ ५३ ५३', 'Dec 26 2011 should be week 53');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '१ ०१ १', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '२ ०२ २', 'Jan 9 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
+}));
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('nl');
assert.equal(moment([2012, 5, 23]).format('D MMM YYYY'), '23 jun. 2012', 'format month abbreviation not surrounded by dashes should include a dot');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52ste', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1ste', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2de', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('nn');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
+ test('weeks year starting sunday formatted', function (assert) {
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
+ });
+
+}));
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
+ /*global QUnit:false*/
+
+ var test = QUnit.test;
+
+ var expect = QUnit.expect;
+
+ function module (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ }
+
+ function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+ }
+
+ localeModule('pa-in');
+
+ test('parse', function (assert) {
+ var tests = 'ਜਨਵਰੀ ਜਨਵਰੀ_ਫ਼ਰਵਰੀ ਫ਼ਰਵਰੀ_ਮਾਰਚ ਮਾਰਚ_ਅਪ੍ਰੈਲ ਅਪ੍ਰੈਲ_ਮਈ ਮਈ_ਜੂਨ ਜੂਨ_ਜੁਲਾਈ ਜੁਲਾਈ_ਅਗਸਤ ਅਗਸਤ_ਸਤੰਬਰ ਸਤੰਬਰ_ਅਕਤੂਬਰ ਅਕਤੂਬਰ_ਨਵੰਬਰ ਨਵੰਬਰ_ਦਸੰਬਰ ਦਸੰਬਰ'.split('_'), i;
+ function equalTest(input, mmm, i) {
+ assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
+ }
+ for (i = 0; i < 12; i++) {
+ tests[i] = tests[i].split(' ');
+ equalTest(tests[i][0], 'MMM', i);
+ equalTest(tests[i][1], 'MMM', i);
+ equalTest(tests[i][0], 'MMMM', i);
+ equalTest(tests[i][1], 'MMMM', i);
+ equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
+ equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
+ equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
+ }
+ });
+
+ test('format', function (assert) {
+ var a = [
+ ['dddd, Do MMMM YYYY, a h:mm:ss ਵਜੇ', 'ਐਤਵਾਰ, ੧੪ ਫ਼ਰਵਰੀ ੨੦੧੦, ਦੁਪਹਿਰ ੩:੨੫:੫੦ ਵਜੇ'],
+ ['ddd, a h ਵਜੇ', 'ਐਤ, ਦੁਪਹਿਰ ੩ ਵਜੇ'],
+ ['M Mo MM MMMM MMM', '੨ ੨ ੦੨ ਫ਼ਰਵਰੀ ਫ਼ਰਵਰੀ'],
+ ['YYYY YY', '੨੦੧੦ ੧੦'],
+ ['D Do DD', '੧੪ ੧੪ ੧੪'],
+ ['d do dddd ddd dd', '੦ ੦ ਐਤਵਾਰ ਐਤ ਐਤ'],
+ ['DDD DDDo DDDD', '੪੫ ੪੫ ੦੪੫'],
+ ['w wo ww', '੮ ੮ ੦੮'],
+ ['h hh', '੩ ੦੩'],
+ ['H HH', '੧੫ ੧੫'],
+ ['m mm', '੨੫ ੨੫'],
+ ['s ss', '੫੦ ੫੦'],
+ ['a A', 'ਦੁਪਹਿਰ ਦੁਪਹਿਰ'],
+ ['LTS', 'ਦੁਪਹਿਰ ੩:੨੫:੫੦ ਵਜੇ'],
+ ['L', '੧੪/੦੨/੨੦੧੦'],
+ ['LL', '੧੪ ਫ਼ਰਵਰੀ ੨੦੧੦'],
+ ['LLL', '੧੪ ਫ਼ਰਵਰੀ ੨੦੧੦, ਦੁਪਹਿਰ ੩:੨੫ ਵਜੇ'],
+ ['LLLL', 'ਐਤਵਾਰ, ੧੪ ਫ਼ਰਵਰੀ ੨੦੧੦, ਦੁਪਹਿਰ ੩:੨੫ ਵਜੇ'],
+ ['l', '੧੪/੨/੨੦੧੦'],
+ ['ll', '੧੪ ਫ਼ਰਵਰੀ ੨੦੧੦'],
+ ['lll', '੧੪ ਫ਼ਰਵਰੀ ੨੦੧੦, ਦੁਪਹਿਰ ੩:੨੫ ਵਜੇ'],
+ ['llll', 'ਐਤ, ੧੪ ਫ਼ਰਵਰੀ ੨੦੧੦, ਦੁਪਹਿਰ ੩:੨੫ ਵਜੇ']
+ ],
+ b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
+ i;
+ for (i = 0; i < a.length; i++) {
+ assert.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
+ }
+ });
+
+ test('format ordinal', function (assert) {
+ assert.equal(moment([2011, 0, 1]).format('DDDo'), '੧', '੧');
+ assert.equal(moment([2011, 0, 2]).format('DDDo'), '੨', '੨');
+ assert.equal(moment([2011, 0, 3]).format('DDDo'), '੩', '੩');
+ assert.equal(moment([2011, 0, 4]).format('DDDo'), '੪', '੪');
+ assert.equal(moment([2011, 0, 5]).format('DDDo'), '੫', '੫');
+ assert.equal(moment([2011, 0, 6]).format('DDDo'), '੬', '੬');
+ assert.equal(moment([2011, 0, 7]).format('DDDo'), '੭', '੭');
+ assert.equal(moment([2011, 0, 8]).format('DDDo'), '੮', '੮');
+ assert.equal(moment([2011, 0, 9]).format('DDDo'), '੯', '੯');
+ assert.equal(moment([2011, 0, 10]).format('DDDo'), '੧੦', '੧੦');
+
+ assert.equal(moment([2011, 0, 11]).format('DDDo'), '੧੧', '੧੧');
+ assert.equal(moment([2011, 0, 12]).format('DDDo'), '੧੨', '੧੨');
+ assert.equal(moment([2011, 0, 13]).format('DDDo'), '੧੩', '੧੩');
+ assert.equal(moment([2011, 0, 14]).format('DDDo'), '੧੪', '੧੪');
+ assert.equal(moment([2011, 0, 15]).format('DDDo'), '੧੫', '੧੫');
+ assert.equal(moment([2011, 0, 16]).format('DDDo'), '੧੬', '੧੬');
+ assert.equal(moment([2011, 0, 17]).format('DDDo'), '੧੭', '੧੭');
+ assert.equal(moment([2011, 0, 18]).format('DDDo'), '੧੮', '੧੮');
+ assert.equal(moment([2011, 0, 19]).format('DDDo'), '੧੯', '੧੯');
+ assert.equal(moment([2011, 0, 20]).format('DDDo'), '੨੦', '੨੦');
+
+ assert.equal(moment([2011, 0, 21]).format('DDDo'), '੨੧', '੨੧');
+ assert.equal(moment([2011, 0, 22]).format('DDDo'), '੨੨', '੨੨');
+ assert.equal(moment([2011, 0, 23]).format('DDDo'), '੨੩', '੨੩');
+ assert.equal(moment([2011, 0, 24]).format('DDDo'), '੨੪', '੨੪');
+ assert.equal(moment([2011, 0, 25]).format('DDDo'), '੨੫', '੨੫');
+ assert.equal(moment([2011, 0, 26]).format('DDDo'), '੨੬', '੨੬');
+ assert.equal(moment([2011, 0, 27]).format('DDDo'), '੨੭', '੨੭');
+ assert.equal(moment([2011, 0, 28]).format('DDDo'), '੨੮', '੨੮');
+ assert.equal(moment([2011, 0, 29]).format('DDDo'), '੨੯', '੨੯');
+ assert.equal(moment([2011, 0, 30]).format('DDDo'), '੩੦', '੩੦');
+
+ assert.equal(moment([2011, 0, 31]).format('DDDo'), '੩੧', '੩੧');
+ });
+
+ test('format month', function (assert) {
+ var expected = 'ਜਨਵਰੀ ਜਨਵਰੀ_ਫ਼ਰਵਰੀ ਫ਼ਰਵਰੀ_ਮਾਰਚ ਮਾਰਚ_ਅਪ੍ਰੈਲ ਅਪ੍ਰੈਲ_ਮਈ ਮਈ_ਜੂਨ ਜੂਨ_ਜੁਲਾਈ ਜੁਲਾਈ_ਅਗਸਤ ਅਗਸਤ_ਸਤੰਬਰ ਸਤੰਬਰ_ਅਕਤੂਬਰ ਅਕਤੂਬਰ_ਨਵੰਬਰ ਨਵੰਬਰ_ਦਸੰਬਰ ਦਸੰਬਰ'.split('_'), i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
+ }
+ });
+
+ test('format week', function (assert) {
+ var expected = 'ਐਤਵਾਰ ਐਤ ਐਤ_ਸੋਮਵਾਰ ਸੋਮ ਸੋਮ_ਮੰਗਲਵਾਰ ਮੰਗਲ ਮੰਗਲ_ਬੁਧਵਾਰ ਬੁਧ ਬੁਧ_ਵੀਰਵਾਰ ਵੀਰ ਵੀਰ_ਸ਼ੁੱਕਰਵਾਰ ਸ਼ੁਕਰ ਸ਼ੁਕਰ_ਸ਼ਨੀਚਰਵਾਰ ਸ਼ਨੀ ਸ਼ਨੀ'.split('_'), i;
+ for (i = 0; i < expected.length; i++) {
+ assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
+ }
+ });
+
+ test('from', function (assert) {
+ var start = moment([2007, 1, 28]);
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'ਕੁਝ ਸਕਿੰਟ', '44 seconds = a few seconds');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'ਇਕ ਮਿੰਟ', '45 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'ਇਕ ਮਿੰਟ', '89 seconds = a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), '੨ ਮਿੰਟ', '90 seconds = 2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), '੪੪ ਮਿੰਟ', '44 minutes = 44 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'ਇੱਕ ਘੰਟਾ', '45 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'ਇੱਕ ਘੰਟਾ', '89 minutes = an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), '੨ ਘੰਟੇ', '90 minutes = 2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '੫ ਘੰਟੇ', '5 hours = 5 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), '੨੧ ਘੰਟੇ', '21 hours = 21 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'ਇੱਕ ਦਿਨ', '22 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'ਇੱਕ ਦਿਨ', '35 hours = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), '੨ ਦਿਨ', '36 hours = 2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'ਇੱਕ ਦਿਨ', '1 day = a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '੫ ਦਿਨ', '5 days = 5 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), '੨੫ ਦਿਨ', '25 days = 25 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'ਇੱਕ ਮਹੀਨਾ', '26 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'ਇੱਕ ਮਹੀਨਾ', '30 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'ਇੱਕ ਮਹੀਨਾ', '43 days = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), '੨ ਮਹੀਨੇ', '46 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), '੨ ਮਹੀਨੇ', '75 days = 2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), '੩ ਮਹੀਨੇ', '76 days = 3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'ਇੱਕ ਮਹੀਨਾ', '1 month = a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '੫ ਮਹੀਨੇ', '5 months = 5 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'ਇੱਕ ਸਾਲ', '345 days = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '੨ ਸਾਲ', '548 days = 2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'ਇੱਕ ਸਾਲ', '1 year = a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '੫ ਸਾਲ', '5 years = 5 years');
+ });
+
+ test('suffix', function (assert) {
+ assert.equal(moment(30000).from(0), 'ਕੁਝ ਸਕਿੰਟ ਵਿੱਚ', 'prefix');
+ assert.equal(moment(0).from(30000), 'ਕੁਝ ਸਕਿੰਟ ਪਿਛਲੇ', 'suffix');
+ });
+
+ test('now from now', function (assert) {
+ assert.equal(moment().fromNow(), 'ਕੁਝ ਸਕਿੰਟ ਪਿਛਲੇ', 'now from now should display as in the past');
+ });
+
+ test('fromNow', function (assert) {
+ assert.equal(moment().add({s: 30}).fromNow(), 'ਕੁਝ ਸਕਿੰਟ ਵਿੱਚ', 'ਕੁਝ ਸਕਿੰਟ ਵਿੱਚ');
+ assert.equal(moment().add({d: 5}).fromNow(), '੫ ਦਿਨ ਵਿੱਚ', '੫ ਦਿਨ ਵਿੱਚ');
+ });
+
+ test('calendar day', function (assert) {
+ var a = moment().hours(2).minutes(0).seconds(0);
+
+ assert.equal(moment(a).calendar(), 'ਅਜ ਰਾਤ ੨:੦੦ ਵਜੇ', 'today at the same time');
+ assert.equal(moment(a).add({m: 25}).calendar(), 'ਅਜ ਰਾਤ ੨:੨੫ ਵਜੇ', 'Now plus 25 min');
+ assert.equal(moment(a).add({h: 3}).calendar(), 'ਅਜ ਸਵੇਰ ੫:੦੦ ਵਜੇ', 'Now plus 3 hour');
+ assert.equal(moment(a).add({d: 1}).calendar(), 'ਕਲ ਰਾਤ ੨:੦੦ ਵਜੇ', 'tomorrow at the same time');
+ assert.equal(moment(a).subtract({h: 1}).calendar(), 'ਅਜ ਰਾਤ ੧:੦੦ ਵਜੇ', 'Now minus 1 hour');
+ assert.equal(moment(a).subtract({d: 1}).calendar(), 'ਕਲ ਰਾਤ ੨:੦੦ ਵਜੇ', 'yesterday at the same time');
+ });
+
+ test('calendar next week', function (assert) {
+ var i, m;
+ for (i = 2; i < 7; i++) {
+ m = moment().add({d: i});
+ assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('dddd[,] LT'), 'Today + ' + i + ' days end of day');
+ }
+ });
+
+ test('calendar last week', function (assert) {
+ var i, m;
+
+ for (i = 2; i < 7; i++) {
+ m = moment().subtract({d: i});
+ assert.equal(m.calendar(), m.format('[ਪਿਛਲੇ] dddd[,] LT'), 'Today - ' + i + ' days current time');
+ m.hours(0).minutes(0).seconds(0).milliseconds(0);
+ assert.equal(m.calendar(), m.format('[ਪਿਛਲੇ] dddd[,] LT'), 'Today - ' + i + ' days beginning of day');
+ m.hours(23).minutes(59).seconds(59).milliseconds(999);
+ assert.equal(m.calendar(), m.format('[ਪਿਛਲੇ] dddd[,] LT'), 'Today - ' + i + ' days end of day');
+ }
+ });
+
+ test('calendar all else', function (assert) {
+ var weeksAgo = moment().subtract({w: 1}),
+ weeksFromNow = moment().add({w: 1});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week');
+
+ weeksAgo = moment().subtract({w: 2});
+ weeksFromNow = moment().add({w: 2});
+
+ assert.equal(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago');
+ assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
+ });
+
+ test('meridiem invariant', function (assert) {
+ assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), 'ਰਾਤ', 'before dawn');
+ assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'ਸਵੇਰ', 'morning');
+ assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), 'ਦੁਪਹਿਰ', 'during day');
+ assert.equal(moment([2011, 2, 23, 17, 30]).format('a'), 'ਸ਼ਾਮ', 'evening');
+ assert.equal(moment([2011, 2, 23, 19, 30]).format('a'), 'ਸ਼ਾਮ', 'late evening');
+ assert.equal(moment([2011, 2, 23, 21, 20]).format('a'), 'ਰਾਤ', 'night');
+
+ assert.equal(moment([2011, 2, 23, 2, 30]).format('A'), 'ਰਾਤ', 'before dawn');
+ assert.equal(moment([2011, 2, 23, 9, 30]).format('A'), 'ਸਵੇਰ', 'morning');
+ assert.equal(moment([2011, 2, 23, 14, 30]).format('A'), 'ਦੁਪਹਿਰ', ' during day');
+ assert.equal(moment([2011, 2, 23, 17, 30]).format('A'), 'ਸ਼ਾਮ', 'evening');
+ assert.equal(moment([2011, 2, 23, 19, 30]).format('A'), 'ਸ਼ਾਮ', 'late evening');
+ assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'ਰਾਤ', 'night');
+ });
+
test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
+ assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
});
test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
+ assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
+ assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
+ assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
+ assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
+ assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
+ assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
});
test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
+ assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
+ assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
+ assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
+ assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
+ assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
});
test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
+ assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
+ assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
+ assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
+ assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
+ assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
});
test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
+ assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
+ assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
+ assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
+ assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
+ assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
});
test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
+ assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
+ assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
+ assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
+ assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
+ assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
+ assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
});
test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
+ assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
+ assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
+ assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
+ assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
+ assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
});
test('weeks year starting sunday formatted', function (assert) {
- assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
+ assert.equal(moment([2012, 0, 1]).format('w ww wo'), '੧ ੦੧ ੧', 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).format('w ww wo'), '੧ ੦੧ ੧', 'Jan 7 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).format('w ww wo'), '੨ ੦੨ ੨', 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).format('w ww wo'), '੨ ੦੨ ੨', 'Jan 14 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).format('w ww wo'), '੩ ੦੩ ੩', 'Jan 15 2012 should be week 3');
});
test('lenient ordinal parsing', function (assert) {
}
});
+ test('meridiem', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
test('strict ordinal parsing', function (assert) {
var i, ordinalStr, testMoment;
for (i = 1; i <= 31; ++i) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('pl');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('pt-br');
});
test('format week', function (assert) {
- var expected = 'Domingo Dom_Segunda-Feira Seg_Terça-Feira Ter_Quarta-Feira Qua_Quinta-Feira Qui_Sexta-Feira Sex_Sábado Sáb'.split('_'), i;
+ var expected = 'Domingo Dom_Segunda-feira Seg_Terça-feira Ter_Quarta-feira Qua_Quinta-feira Qui_Sexta-feira Sex_Sábado Sáb'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd'), expected[i], expected[i]);
}
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1º', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1º', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3º', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('pt');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52º', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1º', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2º', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ro');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ru');
test('parse', function (assert) {
- var tests = 'Январь янв_Февраль фев_Март март_Апрель апр_Май май_Июнь июнь_Июль июль_Август авг_Сентябрь сен_Октябрь окт_Ноябрь ноя_Декабрь дек'.split('_'), i;
+ var tests = 'январь янв_февраль фев_март март_апрель апр_май май_июнь июнь_июль июль_август авг_сентябрь сен_октябрь окт_ноябрь ноя_декабрь дек'.split('_'), i;
function equalTest(input, mmm, i) {
assert.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
}
test('format', function (assert) {
var a = [
- ['dddd, Do MMMM YYYY, HH:mm:ss', 'Ð\92оÑ\81кÑ\80еÑ\81енÑ\8cе, 14-го Февраля 2010, 15:25:50'],
- ['ddd, h A', 'Ð\92с, 3 дня'],
- ['M Mo MM MMMM MMM', '2 2-й 02 Февраль фев'],
+ ['dddd, Do MMMM YYYY, HH:mm:ss', 'воÑ\81кÑ\80еÑ\81енÑ\8cе, 14-го Ñ\84евраля 2010, 15:25:50'],
+ ['ddd, h A', 'вс, 3 дня'],
+ ['M Mo MM MMMM MMM', '2 2-й 02 февраль фев'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14-го 14'],
- ['d do dddd ddd dd', '0 0-й Ð\92оÑ\81кÑ\80еÑ\81енÑ\8cе Ð\92Ñ\81 Ð\92с'],
+ ['d do dddd ddd dd', '0 0-й воÑ\81кÑ\80еÑ\81енÑ\8cе вÑ\81 вс'],
['DDD DDDo DDDD', '45 45-й 045'],
['w wo ww', '7 7-я 07'],
['h hh', '3 03'],
['DDDo [день года]', '45-й день года'],
['LTS', '15:25:50'],
['L', '14.02.2010'],
- ['LL', '14 Февраля 2010 г.'],
- ['LLL', '14 Февраля 2010 г., 15:25'],
- ['LLLL', 'Ð\92оÑ\81кÑ\80еÑ\81енÑ\8cе, 14 Февраля 2010 г., 15:25'],
+ ['LL', '14 февраля 2010 г.'],
+ ['LLL', '14 февраля 2010 г., 15:25'],
+ ['LLLL', 'воÑ\81кÑ\80еÑ\81енÑ\8cе, 14 Ñ\84евраля 2010 г., 15:25'],
['l', '14.2.2010'],
['ll', '14 фев 2010 г.'],
['lll', '14 фев 2010 г., 15:25'],
- ['llll', 'Ð\92с, 14 фев 2010 г., 15:25']
+ ['llll', 'вс, 14 фев 2010 г., 15:25']
],
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
i;
});
test('format month', function (assert) {
- var expected = 'Январь янв_Февраль фев_Март март_Апрель апр_Май май_Июнь июнь_Июль июль_Август авг_Сентябрь сен_Октябрь окт_Ноябрь ноя_Декабрь дек'.split('_'), i;
+ var expected = 'январь янв_февраль фев_март март_апрель апр_май май_июнь июнь_июль июль_август авг_сентябрь сен_октябрь окт_ноябрь ноя_декабрь дек'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
}
test('format month case', function (assert) {
var months = {
- 'nominative': 'Январь_Февраль_Март_Апрель_Май_Июнь_Июль_Август_Сентябрь_Октябрь_Ноябрь_Декабрь'.split('_'),
- 'accusative': 'Января_Февраля_Марта_Апреля_Мая_Июня_Июля_Августа_Сентября_Октября_Ноября_Декабря'.split('_')
+ 'nominative': 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
+ 'accusative': 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_')
}, i;
for (i = 0; i < 12; i++) {
assert.equal(moment([2011, i, 1]).format('D MMMM'), '1 ' + months.accusative[i], '1 ' + months.accusative[i]);
test('format month case with escaped symbols', function (assert) {
var months = {
- 'nominative': 'Январь_Февраль_Март_Апрель_Май_Июнь_Июль_Август_Сентябрь_Октябрь_Ноябрь_Декабрь'.split('_'),
- 'accusative': 'Января_Февраля_Марта_Апреля_Мая_Июня_Июля_Августа_Сентября_Октября_Ноября_Декабря'.split('_')
+ 'nominative': 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
+ 'accusative': 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_')
}, i;
for (i = 0; i < 12; i++) {
assert.equal(moment([2013, i, 1]).format('D[] MMMM'), '1 ' + months.accusative[i], '1 ' + months.accusative[i]);
});
test('format week', function (assert) {
- var expected = 'Ð\92оÑ\81кÑ\80еÑ\81енÑ\8cе Ð\92Ñ\81 Ð\92Ñ\81_Ð\9fонеделÑ\8cник Ð\9fн Ð\9fн_Ð\92Ñ\82оÑ\80ник Ð\92Ñ\82 Ð\92Ñ\82_СÑ\80еда СÑ\80 СÑ\80_ЧеÑ\82веÑ\80г ЧÑ\82 ЧÑ\82_Ð\9fÑ\8fÑ\82ниÑ\86а Ð\9fÑ\82 Ð\9fÑ\82_СÑ\83ббоÑ\82а Сб Сб'.split('_'), i;
+ var expected = 'воÑ\81кÑ\80еÑ\81енÑ\8cе вÑ\81 вÑ\81_понеделÑ\8cник пн пн_вÑ\82оÑ\80ник вÑ\82 вÑ\82_Ñ\81Ñ\80еда Ñ\81Ñ\80 Ñ\81Ñ\80_Ñ\87еÑ\82веÑ\80г Ñ\87Ñ\82 Ñ\87Ñ\82_пÑ\8fÑ\82ниÑ\86а пÑ\82 пÑ\82_Ñ\81Ñ\83ббоÑ\82а Ñ\81б Ñ\81б'.split('_'), i;
for (i = 0; i < expected.length; i++) {
assert.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
}
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-я', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-я', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-я', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('se');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('si');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('sk');
assert.equal(moment.duration(-1, 'minutes').humanize(true), 'pred minútou', 'a minute ago');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('sl');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('sq');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('sr-cyrl');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('sr');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('sv');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52a', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1a', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2a', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('sw');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('ta');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('meridiem', function (assert) {
assert.equal(moment([2011, 2, 23, 0, 30]).format('a'), ' யாமம்', '(after) midnight');
assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), ' வைகறை', 'before dawn');
assert.equal(moment([2011, 2, 23, 23, 30]).format('a'), ' யாமம்', '(before) midnight');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
+}));
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('te');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('meridiem invariant', function (assert) {
+ test('meridiem', function (assert) {
assert.equal(moment([2011, 2, 23, 2, 30]).format('a'), 'రాత్రి', 'before dawn');
assert.equal(moment([2011, 2, 23, 9, 30]).format('a'), 'ఉదయం', 'morning');
assert.equal(moment([2011, 2, 23, 14, 30]).format('a'), 'మధ్యాహ్నం', 'during day');
assert.equal(moment([2011, 2, 23, 21, 20]).format('A'), 'రాత్రి', 'night');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1వ', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1వ', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3వ', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
+}));
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('th');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', 'Jan 7 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('tl-ph');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('tlh');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('tr');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1\'inci', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1\'inci', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3\'üncü', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('tzl');
// Monday is the first day of the week.
// The week that contains Jan 4th is the first week of the year.
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('tzm-latn');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 31]).week(), 1, 'Dec 31 2011 should be week 1');
- assert.equal(moment([2012, 0, 6]).week(), 1, 'Jan 6 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 2, 'Jan 7 2012 should be week 2');
- assert.equal(moment([2012, 0, 13]).week(), 2, 'Jan 13 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 3, 'Jan 14 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 30]).week(), 1, 'Dec 30 2006 should be week 1');
- assert.equal(moment([2007, 0, 5]).week(), 1, 'Jan 5 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 2, 'Jan 6 2007 should be week 2');
- assert.equal(moment([2007, 0, 12]).week(), 2, 'Jan 12 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 3, 'Jan 13 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 1, 'Dec 29 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 4]).week(), 1, 'Jan 4 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 2, 'Jan 5 2008 should be week 2');
- assert.equal(moment([2008, 0, 11]).week(), 2, 'Jan 11 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 3, 'Jan 12 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 28]).week(), 1, 'Dec 28 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 3]).week(), 1, 'Jan 3 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 2, 'Jan 4 2003 should be week 2');
- assert.equal(moment([2003, 0, 10]).week(), 2, 'Jan 10 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 3, 'Jan 11 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 27]).week(), 1, 'Dec 27 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 2]).week(), 1, 'Jan 2 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 2, 'Jan 3 2009 should be week 2');
- assert.equal(moment([2009, 0, 9]).week(), 2, 'Jan 9 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 3, 'Jan 10 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 26]).week(), 1, 'Dec 26 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 2, 'Jan 2 2010 should be week 2');
- assert.equal(moment([2010, 0, 8]).week(), 2, 'Jan 8 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 3, 'Jan 9 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 7]).week(), 1, 'Jan 7 2011 should be week 1');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 14]).week(), 2, 'Jan 14 2011 should be week 2');
- assert.equal(moment([2011, 0, 15]).week(), 3, 'Jan 15 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('tzm');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 31]).week(), 1, 'Dec 31 2011 should be week 1');
- assert.equal(moment([2012, 0, 6]).week(), 1, 'Jan 6 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 2, 'Jan 7 2012 should be week 2');
- assert.equal(moment([2012, 0, 13]).week(), 2, 'Jan 13 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 3, 'Jan 14 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 30]).week(), 1, 'Dec 30 2006 should be week 1');
- assert.equal(moment([2007, 0, 5]).week(), 1, 'Jan 5 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 2, 'Jan 6 2007 should be week 2');
- assert.equal(moment([2007, 0, 12]).week(), 2, 'Jan 12 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 3, 'Jan 13 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 1, 'Dec 29 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 4]).week(), 1, 'Jan 4 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 2, 'Jan 5 2008 should be week 2');
- assert.equal(moment([2008, 0, 11]).week(), 2, 'Jan 11 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 3, 'Jan 12 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 28]).week(), 1, 'Dec 28 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 3]).week(), 1, 'Jan 3 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 2, 'Jan 4 2003 should be week 2');
- assert.equal(moment([2003, 0, 10]).week(), 2, 'Jan 10 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 3, 'Jan 11 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 27]).week(), 1, 'Dec 27 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 2]).week(), 1, 'Jan 2 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 2, 'Jan 3 2009 should be week 2');
- assert.equal(moment([2009, 0, 9]).week(), 2, 'Jan 9 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 3, 'Jan 10 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 26]).week(), 1, 'Dec 26 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 2, 'Jan 2 2010 should be week 2');
- assert.equal(moment([2010, 0, 8]).week(), 2, 'Jan 8 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 3, 'Jan 9 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 7]).week(), 1, 'Jan 7 2011 should be week 1');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 14]).week(), 2, 'Jan 14 2011 should be week 2');
- assert.equal(moment([2011, 0, 15]).week(), 3, 'Jan 15 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', 'Dec 31 2011 should be week 1');
assert.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', 'Jan 6 2012 should be week 1');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', 'Jan 14 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('uk');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-й', 'Dec 26 2011 should be week 1');
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-й', 'Jan 1 2012 should be week 1');
assert.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-й', 'Jan 9 2012 should be week 3');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('uz');
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('vi');
test('format', function (assert) {
var a = [
- ['dddd, MMMM Do YYYY, h:mm:ss a', 'chủ nhật, tháng 2 14 2010, 3:25:50 pm'],
- ['ddd, hA', 'CN, 3PM'],
+ ['dddd, MMMM Do YYYY, h:mm:ss a', 'chủ nhật, tháng 2 14 2010, 3:25:50 ch'],
+ ['ddd, hA', 'CN, 3CH'],
['M Mo MM MMMM MMM', '2 2 02 tháng 2 Th02'],
['YYYY YY', '2010 10'],
['D Do DD', '14 14 14'],
['H HH', '15 15'],
['m mm', '25 25'],
['s ss', '50 50'],
- ['a A', 'pm PM'],
+ ['a A', 'ch CH'],
['[ngày thứ] DDDo [của năm]', 'ngày thứ 45 của năm'],
['LTS', '15:25:50'],
['L', '14/02/2010'],
assert.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
- assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
- assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
- assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
- assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
- assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
- });
-
test('weeks year starting sunday formatted', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', 'Jan 1 2012 should be week 52');
assert.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', 'Jan 2 2012 should be week 1');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', 'Jan 15 2012 should be week 2');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
-
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
- }
- });
-
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
- }
- });
-
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('zh-cn');
assert.equal(moment([2011, 2, 23, 18, 0]).format('A'), '晚上', 'night');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
- assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 52');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 52, 'Dec 31 2006 should be week 52');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 52, 'Dec 29 2002 should be week 52');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2010, 0, 2]).week(), 53, 'Jan 2 2010 should be week 53');
- assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
- assert.equal(moment([2011, 0, 8]).week(), 1, 'Jan 8 2011 should be week 1');
- assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52周', 'Jan 1 2012 应该是第52周');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1周', 'Jan 7 2012 应该是第 1周');
assert.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2周', 'Jan 14 2012 应该是第 2周');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
+}));
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
localeModule('zh-tw');
assert.equal(moment([2011, 2, 23, 18, 0]).format('A'), '晚上', 'night');
});
- test('weeks year starting sunday', function (assert) {
- assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
- assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
- assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
- assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
- assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
- });
-
- test('weeks year starting monday', function (assert) {
- assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
- assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
- assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
- assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
- assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
- assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
- });
-
- test('weeks year starting tuesday', function (assert) {
- assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
- assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
- assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
- assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
- assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
- assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
- });
-
- test('weeks year starting wednesday', function (assert) {
- assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
- assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
- assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
- assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
- assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
- assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
- });
-
- test('weeks year starting thursday', function (assert) {
- assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
- assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
- assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
- assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
- assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
- assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
- });
-
- test('weeks year starting friday', function (assert) {
- assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
- assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
- assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
- assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
- assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
- assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
- });
-
- test('weeks year starting saturday', function (assert) {
- assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
- assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
- assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
- assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
- assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
- });
-
test('weeks year starting sunday format', function (assert) {
assert.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1週', 'Jan 1 2012 應該是第 1週');
assert.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1週', 'Jan 7 2012 應該是第 1週');
assert.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3週', 'Jan 15 2012 應該是第 3週');
});
- test('lenient ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing ' + i + ' date check');
- }
- });
+}));
- test('lenient ordinal parsing of number', function (assert) {
- var i, testMoment;
- for (i = 1; i <= 31; ++i) {
- testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
- assert.equal(testMoment.year(), 2014,
- 'lenient ordinal parsing of number ' + i + ' year check');
- assert.equal(testMoment.month(), 0,
- 'lenient ordinal parsing of number ' + i + ' month check');
- assert.equal(testMoment.date(), i,
- 'lenient ordinal parsing of number ' + i + ' date check');
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
}
- });
+ }
- test('meridiem invariant', function (assert) {
- var h, m, t1, t2;
- for (h = 0; h < 24; ++h) {
- for (m = 0; m < 60; m += 15) {
- t1 = moment.utc([2000, 0, 1, h, m]);
- t2 = moment(t1.format('A h:mm'), 'A h:mm');
- assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
- 'meridiem at ' + t1.format('HH:mm'));
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
+ return res;
}
- });
+ }
- test('strict ordinal parsing', function (assert) {
- var i, ordinalStr, testMoment;
- for (i = 1; i <= 31; ++i) {
- ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
- testMoment = moment(ordinalStr, 'YYYY MM Do', true);
- assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
}
- });
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
-}));
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
-;(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined'
- && typeof require === 'function' ? factory(require('../../moment')) :
- typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
- factory(global.moment)
-}(this, function (moment) { 'use strict';
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
/*global QUnit:false*/
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('add and subtract');
assert.equal(e.hours(), 5, 'adding quarters over DST difference should result in the same hour');
});
+ test('add decimal values of days and months', function (assert) {
+ assert.equal(moment([2016,3,3]).add(1.5, 'days').date(), 5, 'adding 1.5 days is rounded to adding 2 day');
+ assert.equal(moment([2016,3,3]).add(-1.5, 'days').date(), 1, 'adding -1.5 days is rounded to adding -2 day');
+ assert.equal(moment([2016,3,1]).add(-1.5, 'days').date(), 30, 'adding -1.5 days on first of month wraps around');
+ assert.equal(moment([2016,3,3]).add(1.5, 'months').month(), 5, 'adding 1.5 months adds 2 months');
+ assert.equal(moment([2016,3,3]).add(-1.5, 'months').month(), 1, 'adding -1.5 months adds -2 months');
+ assert.equal(moment([2016,0,3]).add(-1.5, 'months').month(), 10, 'adding -1.5 months at start of year wraps back');
+ assert.equal(moment([2016,3,3]).subtract(1.5, 'days').date(),1, 'subtract 1.5 days is rounded to subtract 2 day');
+ assert.equal(moment([2016,3,2]).subtract(1.5, 'days').date(), 31, 'subtract 1.5 days subtracts 2 days');
+ assert.equal(moment([2016,1,1]).subtract(1.1, 'days').date(), 31, 'subtract 1.1 days wraps to previous month');
+ assert.equal(moment([2016,3,3]).subtract(-1.5, 'days').date(), 5, 'subtract -1.5 days is rounded to subtract -2 day');
+ assert.equal(moment([2016,3,30]).subtract(-1.5, 'days').date(), 2, 'subtract -1.5 days on last of month wraps around');
+ assert.equal(moment([2016,3,3]).subtract(1.5, 'months').month(), 1, 'subtract 1.5 months subtract 2 months');
+ assert.equal(moment([2016,3,3]).subtract(-1.5, 'months').month(), 5, 'subtract -1.5 months subtract -2 month');
+ assert.equal(moment([2016,11,31]).subtract(-1.5, 'months').month(),1, 'subtract -1.5 months at end of year wraps back');
+ assert.equal(moment([2016, 0,1]).add(1.5, 'years').format('YYYY-MM-DD'), '2017-07-01', 'add 1.5 years adds 1 year six months');
+ assert.equal(moment([2016, 0,1]).add(1.6, 'years').format('YYYY-MM-DD'), '2017-08-01', 'add 1.6 years becomes 1.6*12 = 19.2, round, 19 months');
+ assert.equal(moment([2016,0,1]).add(1.1, 'quarters').format('YYYY-MM-DD'), '2016-04-01', 'add 1.1 quarters 1.1*3=3.3, round, 3 months');
+ });
+
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
// These tests are for locale independent features
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('create');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('creation data');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
- }
-
- function each(array, callback) {
- var i;
- for (i = 0; i < array.length; i++) {
- callback(array[i], i, array);
- }
+ defineCommonLocaleTests(name, -1, -1);
}
module('days in month');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
function hasOwnProp(a, b) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
function equal(assert, a, b, message) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('duration');
test('instantiation from ISO 8601 duration', function (assert) {
assert.equal(moment.duration('P1Y2M3DT4H5M6S').asSeconds(), moment.duration({y: 1, M: 2, d: 3, h: 4, m: 5, s: 6}).asSeconds(), 'all fields');
+ assert.equal(moment.duration('P3W3D').asSeconds(), moment.duration({w: 3, d: 3}).asSeconds(), 'week and day fields');
assert.equal(moment.duration('P1M').asSeconds(), moment.duration({M: 1}).asSeconds(), 'single month field');
assert.equal(moment.duration('PT1M').asSeconds(), moment.duration({m: 1}).asSeconds(), 'single minute field');
assert.equal(moment.duration('P1MT2H').asSeconds(), moment.duration({M: 1, h: 2}).asSeconds(), 'random fields missing');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('duration from moments');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('format');
assert.equal(moment([2000, 0, 2]).format('Qo [quarter] YYYY'), '1st quarter 2000', 'Jan 2 2000 is 1st quarter');
});
- test('full expanded format is returned from abbreviated formats', function (assert) {
- function forEach(ar, fn) {
- if (ar.forEach) {
- return ar.forEach(fn);
- } else {
- // IE8
- for (var i = 0; i < ar.length; i += 1) {
- fn(ar[i]);
- }
- }
- }
- function objectKeys(obj) {
- if (Object.keys) {
- return Object.keys(obj);
- } else {
- // IE8
- var res = [], i;
- for (i in obj) {
- if (obj.hasOwnProperty(i)) {
- res.push(i);
- }
- }
- return res;
- }
- }
-
- var locales =
- 'ar-sa ar-tn ar az be bg bn bo br bs ca cs cv cy da de-at de dv el ' +
- 'en-au en-ca en-gb en-ie en-nz eo es et eu fa fi fo fr-ca fr-ch fr fy ' +
- 'gd gl he hi hr hu hy-am id is it ja jv ka kk km ko lb lo lt lv me mk ml ' +
- 'mr ms-my ms my nb ne nl nn pl pt-br pt ro ru se si sk sl sq sr-cyrl ' +
- 'sr sv sw ta te th tl-ph tlh tr tzl tzm-latn tzm uk uz vi zh-cn zh-tw';
-
- forEach(locales.split(' '), function (locale) {
- var data, tokens;
- data = moment().locale(locale).localeData()._longDateFormat;
- tokens = objectKeys(data);
- forEach(tokens, function (token) {
- // Check each format string to make sure it does not contain any
- // tokens that need to be expanded.
- forEach(tokens, function (i) {
- // strip escaped sequences
- var format = data[i].replace(/(\[[^\]]*\])/g, '');
- assert.equal(false, !!~format.indexOf(token), 'locale ' + locale + ' contains ' + token + ' in ' + i);
- });
- });
- });
- });
+ // test('full expanded format is returned from abbreviated formats', function (assert) {
+ // function objectKeys(obj) {
+ // if (Object.keys) {
+ // return Object.keys(obj);
+ // } else {
+ // // IE8
+ // var res = [], i;
+ // for (i in obj) {
+ // if (obj.hasOwnProperty(i)) {
+ // res.push(i);
+ // }
+ // }
+ // return res;
+ // }
+ // }
+
+ // var locales =
+ // 'ar-sa ar-tn ar az be bg bn bo br bs ca cs cv cy da de-at de dv el ' +
+ // 'en-au en-ca en-gb en-ie en-nz eo es et eu fa fi fo fr-ca fr-ch fr fy ' +
+ // 'gd gl he hi hr hu hy-am id is it ja jv ka kk km ko lb lo lt lv me mk ml ' +
+ // 'mr ms-my ms my nb ne nl nn pl pt-br pt ro ru se si sk sl sq sr-cyrl ' +
+ // 'sr sv sw ta te th tl-ph tlh tr tzl tzm-latn tzm uk uz vi zh-cn zh-tw';
+
+ // each(locales.split(' '), function (locale) {
+ // var data, tokens;
+ // data = moment().locale(locale).localeData()._longDateFormat;
+ // tokens = objectKeys(data);
+ // each(tokens, function (token) {
+ // // Check each format string to make sure it does not contain any
+ // // tokens that need to be expanded.
+ // each(tokens, function (i) {
+ // // strip escaped sequences
+ // var format = data[i].replace(/(\[[^\]]*\])/g, '');
+ // assert.equal(false, !!~format.indexOf(token), 'locale ' + locale + ' contains ' + token + ' in ' + i);
+ // });
+ // });
+ // });
+ // });
test('milliseconds', function (assert) {
var m = moment('123', 'SSS');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('from_to');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('getters and setters');
assert.equal(moment(a).day(17).date(), 26, 'set from wednesday to second next wednesday');
});
+ test('string setters', function (assert) {
+ var a = moment();
+ a.year('2011');
+ a.month('9');
+ a.date('12');
+ a.hours('6');
+ a.minutes('7');
+ a.seconds('8');
+ a.milliseconds('9');
+ assert.equal(a.year(), 2011, 'year');
+ assert.equal(a.month(), 9, 'month');
+ assert.equal(a.date(), 12, 'date');
+ assert.equal(a.day(), 3, 'day');
+ assert.equal(a.hours(), 6, 'hour');
+ assert.equal(a.minutes(), 7, 'minute');
+ assert.equal(a.seconds(), 8, 'second');
+ assert.equal(a.milliseconds(), 9, 'milliseconds');
+ });
+
}));
;(function (global, factory) {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('instanceof');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('invalid');
});
assert.ok(moment.isDate(invalid.toDate()));
assert.ok(isNaN(invalid.toDate().valueOf()));
- assert.equal(invalid.toJSON(), 'null');
+ assert.equal(invalid.toJSON(), null);
assert.equal(invalid.toString(), 'Invalid date');
assert.ok(isNaN(invalid.unix()));
assert.ok(isNaN(invalid.valueOf()));
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('is after');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
+ /*global QUnit:false*/
+
+ var test = QUnit.test;
+
+ var expect = QUnit.expect;
+
+ function module (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ }
+
+ function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+ }
+
+ function isArray(input) {
+ return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
+ }
+
+ test('isArray recognizes Array objects', function (assert) {
+ assert.ok(isArray([1,2,3]), 'array args');
+ assert.ok(isArray([]), 'empty array');
+ assert.ok(isArray(new Array(1,2,3)), 'array constructor');
+ });
+
+ test('isArray rejects non-Array objects', function (assert) {
+ assert.ok(!isArray(), 'nothing');
+ assert.ok(!isArray(undefined), 'undefined');
+ assert.ok(!isArray(null), 'null');
+ assert.ok(!isArray(123), 'number');
+ assert.ok(!isArray('[1,2,3]'), 'string');
+ assert.ok(!isArray(new Date()), 'date');
+ assert.ok(!isArray({a:1,b:2}), 'object');
+ });
+
+}));
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('is before');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('is between');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('is date');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('is moment');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('is same');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('is same or after');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('is same or before');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('is valid');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('leap year');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('listers');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
- }
-
- function each(array, callback) {
- var i;
- for (i = 0; i < array.length; i++) {
- callback(array[i], i, array);
- }
+ defineCommonLocaleTests(name, -1, -1);
}
module('locale', {
assert.equal(moment().locale('dude').locale(), 'dude', 'defineLocale defines a locale');
});
+ test('locales', function (assert) {
+ moment.defineLocale('dude', {months: ['Movember']});
+ assert.equal(true, !!~moment.locales().indexOf('dude'), 'locales returns an array of defined locales');
+ assert.equal(true, !!~moment.locales().indexOf('en'), 'locales should always include english');
+ });
+
test('library convenience', function (assert) {
moment.locale('something', {week: {dow: 3}});
moment.locale('something');
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');
+ 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);
+ });
+
+ 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) {
+ 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');
+ });
+
+ 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');
+ });
+
+ 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');
+ });
+
+ 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!');
+ });
+
+ test('return locale name', function (assert) {
+ var registered = moment.locale('return-this', {});
+
+ assert.equal(registered, 'return-this', 'returns the locale configured');
+ });
+
+ 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) {
+ 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) {
+ 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) {
+ assert.equal(moment().lang('boo').localeData(), moment.localeData(),
+ 'preserve global locale in case of bad locale id');
+ });
+
+
+ // 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');
+ // });
+
+}));
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
+ /*global QUnit:false*/
+
+ var test = QUnit.test;
+
+ var expect = QUnit.expect;
+
+ function module (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ }
+
+ function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
+ }
+ });
+ defineCommonLocaleTests(name, -1, -1);
+ }
+
+ module('locale inheritance');
+
+ test('calendar', function (assert) {
+ moment.defineLocale('base-cal', {
+ calendar : {
+ sameDay: '[Today at] HH:mm',
+ nextDay: '[Tomorrow at] HH:mm',
+ nextWeek: '[Next week at] HH:mm',
+ lastDay: '[Yesterday at] HH:mm',
+ lastWeek: '[Last week at] HH:mm',
+ sameElse: '[whatever]'
+ }
+ });
+ moment.defineLocale('child-cal', {
+ parentLocale: 'base-cal',
+ calendar: {
+ sameDay: '[Today] HH:mm',
+ nextDay: '[Tomorrow] HH:mm',
+ nextWeek: '[Next week] HH:mm'
+ }
+ });
+
+ moment.locale('child-cal');
+ var anchor = moment.utc('2015-05-05T12:00:00', moment.ISO_8601);
+ assert.equal(anchor.clone().add(3, 'hours').calendar(anchor), 'Today 15:00', 'today uses child version');
+ assert.equal(anchor.clone().add(1, 'day').calendar(anchor), 'Tomorrow 12:00', 'tomorrow uses child version');
+ assert.equal(anchor.clone().add(3, 'days').calendar(anchor), 'Next week 12:00', 'next week uses child version');
+
+ assert.equal(anchor.clone().subtract(1, 'day').calendar(anchor), 'Yesterday at 12:00', 'yesterday uses parent version');
+ assert.equal(anchor.clone().subtract(3, 'days').calendar(anchor), 'Last week at 12:00', 'last week uses parent version');
+ assert.equal(anchor.clone().subtract(7, 'days').calendar(anchor), 'whatever', 'sameElse uses parent version -');
+ assert.equal(anchor.clone().add(7, 'days').calendar(anchor), 'whatever', 'sameElse uses parent version +');
+ });
+
+ test('missing', function (assert) {
+ moment.defineLocale('base-cal-2', {
+ calendar: {
+ sameDay: '[Today at] HH:mm',
+ nextDay: '[Tomorrow at] HH:mm',
+ nextWeek: '[Next week at] HH:mm',
+ lastDay: '[Yesterday at] HH:mm',
+ lastWeek: '[Last week at] HH:mm',
+ sameElse: '[whatever]'
+ }
+ });
+ moment.defineLocale('child-cal-2', {
+ parentLocale: 'base-cal-2'
+ });
+ moment.locale('child-cal-2');
+ var anchor = moment.utc('2015-05-05T12:00:00', moment.ISO_8601);
+ assert.equal(anchor.clone().add(3, 'hours').calendar(anchor), 'Today at 15:00', 'today uses parent version');
+ assert.equal(anchor.clone().add(1, 'day').calendar(anchor), 'Tomorrow at 12:00', 'tomorrow uses parent version');
+ assert.equal(anchor.clone().add(3, 'days').calendar(anchor), 'Next week at 12:00', 'next week uses parent version');
+ assert.equal(anchor.clone().subtract(1, 'day').calendar(anchor), 'Yesterday at 12:00', 'yesterday uses parent version');
+ assert.equal(anchor.clone().subtract(3, 'days').calendar(anchor), 'Last week at 12:00', 'last week uses parent version');
+ assert.equal(anchor.clone().subtract(7, 'days').calendar(anchor), 'whatever', 'sameElse uses parent version -');
+ assert.equal(anchor.clone().add(7, 'days').calendar(anchor), 'whatever', 'sameElse uses parent version +');
+ });
+
+ // Test function vs obj both directions
+
+ test('long date format', function (assert) {
+ moment.defineLocale('base-ldf', {
+ longDateFormat : {
+ LTS : 'h:mm:ss A',
+ LT : 'h:mm A',
+ L : 'MM/DD/YYYY',
+ LL : 'MMMM D, YYYY',
+ LLL : 'MMMM D, YYYY h:mm A',
+ LLLL : 'dddd, MMMM D, YYYY h:mm A'
+ }
+ });
+ moment.defineLocale('child-ldf', {
+ parentLocale: 'base-ldf',
+ longDateFormat: {
+ LLL : '[child] MMMM D, YYYY h:mm A',
+ LLLL : '[child] dddd, MMMM D, YYYY h:mm A'
+ }
+ });
+
+ moment.locale('child-ldf');
+ var anchor = moment.utc('2015-09-06T12:34:56', moment.ISO_8601);
+ assert.equal(anchor.format('LTS'), '12:34:56 PM', 'LTS uses base');
+ assert.equal(anchor.format('LT'), '12:34 PM', 'LT uses base');
+ assert.equal(anchor.format('L'), '09/06/2015', 'L uses base');
+ assert.equal(anchor.format('l'), '9/6/2015', 'l uses base');
+ assert.equal(anchor.format('LL'), 'September 6, 2015', 'LL uses base');
+ assert.equal(anchor.format('ll'), 'Sep 6, 2015', 'll uses base');
+ assert.equal(anchor.format('LLL'), 'child September 6, 2015 12:34 PM', 'LLL uses child');
+ assert.equal(anchor.format('lll'), 'child Sep 6, 2015 12:34 PM', 'lll uses child');
+ assert.equal(anchor.format('LLLL'), 'child Sunday, September 6, 2015 12:34 PM', 'LLLL uses child');
+ assert.equal(anchor.format('llll'), 'child Sun, Sep 6, 2015 12:34 PM', 'llll uses child');
+ });
+
+ test('ordinal', function (assert) {
+ moment.defineLocale('base-ordinal-1', {
+ ordinal : '%dx'
+ });
+ moment.defineLocale('child-ordinal-1', {
+ parentLocale: 'base-ordinal-1',
+ ordinal : '%dy'
+ });
+
+ assert.equal(moment.utc('2015-02-03', moment.ISO_8601).format('Do'), '3y', 'ordinal uses child string');
+
+ moment.defineLocale('base-ordinal-2', {
+ ordinal : '%dx'
+ });
+ moment.defineLocale('child-ordinal-2', {
+ parentLocale: 'base-ordinal-2',
+ ordinal : function (num) {
+ return num + 'y';
+ }
+ });
+
+ assert.equal(moment.utc('2015-02-03', moment.ISO_8601).format('Do'), '3y', 'ordinal uses child function');
+
+ moment.defineLocale('base-ordinal-3', {
+ ordinal : function (num) {
+ return num + 'x';
+ }
+ });
+ moment.defineLocale('child-ordinal-3', {
+ parentLocale: 'base-ordinal-3',
+ ordinal : '%dy'
+ });
+
+ assert.equal(moment.utc('2015-02-03', moment.ISO_8601).format('Do'), '3y', 'ordinal uses child string (overwrite parent function)');
+ });
+
+ test('ordinal parse', function (assert) {
+ moment.defineLocale('base-ordinal-parse-1', {
+ ordinalParse : /\d{1,2}x/
+ });
+ moment.defineLocale('child-ordinal-parse-1', {
+ parentLocale: 'base-ordinal-parse-1',
+ ordinalParse : /\d{1,2}y/
+ });
+
+ assert.ok(moment.utc('2015-01-1y', 'YYYY-MM-Do', true).isValid(), 'ordinal parse uses child');
+
+ moment.defineLocale('base-ordinal-parse-2', {
+ ordinalParse : /\d{1,2}x/
+ });
+ moment.defineLocale('child-ordinal-parse-2', {
+ parentLocale: 'base-ordinal-parse-2',
+ ordinalParse : null
+ });
+
+ assert.ok(moment.utc('2015-01-1', 'YYYY-MM-Do', true).isValid(), 'ordinal parse uses child (default)');
});
- test('instance localeData', function (assert) {
- moment.defineLocale('dude', {week: {dow: 3}});
- assert.equal(moment().locale('dude').localeData()._week.dow, 3);
+ test('months', function (assert) {
+ moment.defineLocale('base-months', {
+ months : 'One_Two_Three_Four_Five_Six_Seven_Eight_Nine_Ten_Eleven_Twelve'.split('_')
+ });
+ moment.defineLocale('child-months', {
+ parentLocale: 'base-months',
+ months : 'First_Second_Third_Fourth_Fifth_Sixth_Seventh_Eighth_Ninth_Tenth_Eleventh_Twelveth '.split('_')
+ });
+ assert.ok(moment.utc('2015-01-01', 'YYYY-MM-DD').format('MMMM'), 'First', 'months uses child');
});
- test('month name callback function', function (assert) {
- function fakeReplace(m, format) {
- if (/test/.test(format)) {
- return 'test';
- }
- if (m.date() === 1) {
- return 'date';
+}));
+
+;(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined'
+ && typeof require === 'function' ? factory(require('../../moment')) :
+ typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+ factory(global.moment)
+}(this, function (moment) { 'use strict';
+
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
}
- return 'default';
+ return res;
}
+ }
- moment.locale('made-up-2', {
- months : fakeReplace,
- monthsShort : fakeReplace,
- weekdays : fakeReplace,
- weekdaysShort : fakeReplace,
- weekdaysMin : fakeReplace
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
});
- 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('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
- test('changing parts of a locale config', function (assert) {
- moment.locale('partial-lang', {
- months : 'a b c d e f g h i j k l'.split(' ')
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
});
- assert.equal(moment([2011, 0, 1]).format('MMMM'), 'a', 'should be able to set locale values when creating the localeuage');
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
- moment.locale('partial-lang', {
- monthsShort : 'A B C D E F G H I J K L'.split(' ')
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
});
+ }
- assert.equal(moment([2011, 0, 1]).format('MMMM MMM'), 'a A', 'should be able to set locale values after creating the localeuage');
- });
+ /*global QUnit:false*/
- 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
+ var test = QUnit.test;
+
+ var expect = QUnit.expect;
+
+ function module (name, lifecycle) {
+ QUnit.module(name, {
+ setup : function () {
+ moment.locale('en');
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
}
});
+ }
- 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');
- });
-
- test('meridiem parsing', function (assert) {
- moment.locale('meridiem-parsing', {
- meridiemParse : /[bd]/i,
- isPM : function (input) {
- return input === 'b';
+ function localeModule (name, lifecycle) {
+ QUnit.module('locale:' + name, {
+ setup : function () {
+ moment.locale(name);
+ moment.createFromInputFallback = function (config) {
+ throw new Error('input not handled by moment: ' + config._i);
+ };
+ if (lifecycle && lifecycle.setup) {
+ lifecycle.setup();
+ }
+ },
+ teardown : function () {
+ moment.locale('en');
+ if (lifecycle && lifecycle.teardown) {
+ lifecycle.teardown();
+ }
}
});
+ defineCommonLocaleTests(name, -1, -1);
+ }
- 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');
- });
+ module('locale update');
- test('invalid date formatting', function (assert) {
- moment.locale('has-invalid', {
- invalidDate: 'KHAAAAAAAAAAAN!'
+ test('calendar', function (assert) {
+ moment.defineLocale('cal', null);
+ moment.defineLocale('cal', {
+ calendar : {
+ sameDay: '[Today at] HH:mm',
+ nextDay: '[Tomorrow at] HH:mm',
+ nextWeek: '[Next week at] HH:mm',
+ lastDay: '[Yesterday at] HH:mm',
+ lastWeek: '[Last week at] HH:mm',
+ sameElse: '[whatever]'
+ }
+ });
+ moment.updateLocale('cal', {
+ calendar: {
+ sameDay: '[Today] HH:mm',
+ nextDay: '[Tomorrow] HH:mm',
+ nextWeek: '[Next week] HH:mm'
+ }
});
- assert.equal(moment.invalid().format(), 'KHAAAAAAAAAAAN!');
- assert.equal(moment.invalid().format('YYYY-MM-DD'), 'KHAAAAAAAAAAAN!');
- });
-
- test('return locale name', function (assert) {
- var registered = moment.locale('return-this', {});
+ moment.locale('cal');
+ var anchor = moment.utc('2015-05-05T12:00:00', moment.ISO_8601);
+ assert.equal(anchor.clone().add(3, 'hours').calendar(anchor), 'Today 15:00', 'today uses child version');
+ assert.equal(anchor.clone().add(1, 'day').calendar(anchor), 'Tomorrow 12:00', 'tomorrow uses child version');
+ assert.equal(anchor.clone().add(3, 'days').calendar(anchor), 'Next week 12:00', 'next week uses child version');
- assert.equal(registered, 'return-this', 'returns the locale configured');
+ assert.equal(anchor.clone().subtract(1, 'day').calendar(anchor), 'Yesterday at 12:00', 'yesterday uses parent version');
+ assert.equal(anchor.clone().subtract(3, 'days').calendar(anchor), 'Last week at 12:00', 'last week uses parent version');
+ assert.equal(anchor.clone().subtract(7, 'days').calendar(anchor), 'whatever', 'sameElse uses parent version -');
+ assert.equal(anchor.clone().add(7, 'days').calendar(anchor), 'whatever', 'sameElse uses parent version +');
});
- test('changing the global locale doesn\'t affect existing instances', function (assert) {
- var mom = moment();
- moment.locale('fr');
- assert.equal('en', mom.locale());
+ test('missing', function (assert) {
+ moment.defineLocale('cal-2', null);
+ moment.defineLocale('cal-2', {
+ calendar: {
+ sameDay: '[Today at] HH:mm',
+ nextDay: '[Tomorrow at] HH:mm',
+ nextWeek: '[Next week at] HH:mm',
+ lastDay: '[Yesterday at] HH:mm',
+ lastWeek: '[Last week at] HH:mm',
+ sameElse: '[whatever]'
+ }
+ });
+ moment.updateLocale('cal-2', {
+ });
+ moment.locale('cal-2');
+ var anchor = moment.utc('2015-05-05T12:00:00', moment.ISO_8601);
+ assert.equal(anchor.clone().add(3, 'hours').calendar(anchor), 'Today at 15:00', 'today uses parent version');
+ assert.equal(anchor.clone().add(1, 'day').calendar(anchor), 'Tomorrow at 12:00', 'tomorrow uses parent version');
+ assert.equal(anchor.clone().add(3, 'days').calendar(anchor), 'Next week at 12:00', 'next week uses parent version');
+ assert.equal(anchor.clone().subtract(1, 'day').calendar(anchor), 'Yesterday at 12:00', 'yesterday uses parent version');
+ assert.equal(anchor.clone().subtract(3, 'days').calendar(anchor), 'Last week at 12:00', 'last week uses parent version');
+ assert.equal(anchor.clone().subtract(7, 'days').calendar(anchor), 'whatever', 'sameElse uses parent version -');
+ assert.equal(anchor.clone().add(7, 'days').calendar(anchor), 'whatever', 'sameElse uses parent version +');
});
- test('setting a language on instance returns the original moment for chaining', function (assert) {
- var mom = moment();
+ // Test function vs obj both directions
- 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('long date format', function (assert) {
+ moment.defineLocale('ldf', null);
+ moment.defineLocale('ldf', {
+ longDateFormat : {
+ LTS : 'h:mm:ss A',
+ LT : 'h:mm A',
+ L : 'MM/DD/YYYY',
+ LL : 'MMMM D, YYYY',
+ LLL : 'MMMM D, YYYY h:mm A',
+ LLLL : 'dddd, MMMM D, YYYY h:mm A'
+ }
+ });
+ moment.updateLocale('ldf', {
+ longDateFormat: {
+ LLL : '[child] MMMM D, YYYY h:mm A',
+ LLLL : '[child] dddd, MMMM D, YYYY h:mm A'
+ }
+ });
- test('lang(key) changes the language of the instance', function (assert) {
- var m = moment().month(0);
- m.lang('fr');
- assert.equal(m.locale(), 'fr', 'm.lang(key) changes instance locale');
+ moment.locale('ldf');
+ var anchor = moment.utc('2015-09-06T12:34:56', moment.ISO_8601);
+ assert.equal(anchor.format('LTS'), '12:34:56 PM', 'LTS uses base');
+ assert.equal(anchor.format('LT'), '12:34 PM', 'LT uses base');
+ assert.equal(anchor.format('L'), '09/06/2015', 'L uses base');
+ assert.equal(anchor.format('l'), '9/6/2015', 'l uses base');
+ assert.equal(anchor.format('LL'), 'September 6, 2015', 'LL uses base');
+ assert.equal(anchor.format('ll'), 'Sep 6, 2015', 'll uses base');
+ assert.equal(anchor.format('LLL'), 'child September 6, 2015 12:34 PM', 'LLL uses child');
+ assert.equal(anchor.format('lll'), 'child Sep 6, 2015 12:34 PM', 'lll uses child');
+ assert.equal(anchor.format('LLLL'), 'child Sunday, September 6, 2015 12:34 PM', 'LLLL uses child');
+ assert.equal(anchor.format('llll'), 'child Sun, Sep 6, 2015 12:34 PM', 'llll uses child');
});
- test('moment#locale(false) resets to global locale', function (assert) {
- var m = moment();
+ test('ordinal', function (assert) {
+ moment.defineLocale('ordinal-1', null);
+ moment.defineLocale('ordinal-1', {
+ ordinal : '%dx'
+ });
+ moment.updateLocale('ordinal-1', {
+ ordinal : '%dy'
+ });
- moment.locale('fr');
- m.locale('it');
+ assert.equal(moment.utc('2015-02-03', moment.ISO_8601).format('Do'), '3y', 'ordinal uses child string');
- 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');
- });
+ moment.defineLocale('ordinal-2', null);
+ moment.defineLocale('ordinal-2', {
+ ordinal : '%dx'
+ });
+ moment.defineLocale('ordinal-2', {
+ parentLocale: 'ordinal-2',
+ ordinal : function (num) {
+ return num + 'y';
+ }
+ });
- 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');
- });
+ assert.equal(moment.utc('2015-02-03', moment.ISO_8601).format('Do'), '3y', 'ordinal uses child function');
- test('moment().lang with missing key doesn\'t change locale', function (assert) {
- assert.equal(moment().lang('boo').localeData(), moment.localeData(),
- 'preserve global locale in case of bad locale id');
- });
+ moment.defineLocale('ordinal-3', null);
+ moment.defineLocale('ordinal-3', {
+ ordinal : function (num) {
+ return num + 'x';
+ }
+ });
+ moment.updateLocale('ordinal-3', {
+ ordinal : '%dy'
+ });
+ assert.equal(moment.utc('2015-02-03', moment.ISO_8601).format('Do'), '3y', 'ordinal uses child string (overwrite parent function)');
+ });
- // TODO: Enable this after fixing pl months parse hack hack
- // test('monthsParseExact', function (assert) {
- // var locale = 'test-months-parse-exact';
+ test('ordinal parse', function (assert) {
+ moment.defineLocale('ordinal-parse-1', null);
+ moment.defineLocale('ordinal-parse-1', {
+ ordinalParse : /\d{1,2}x/
+ });
+ moment.updateLocale('ordinal-parse-1', {
+ ordinalParse : /\d{1,2}y/
+ });
- // 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.ok(moment.utc('2015-01-1y', 'YYYY-MM-Do', true).isValid(), 'ordinal parse uses child');
- // 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');
+ moment.defineLocale('ordinal-parse-2', null);
+ moment.defineLocale('ordinal-parse-2', {
+ ordinalParse : /\d{1,2}x/
+ });
+ moment.updateLocale('ordinal-parse-2', {
+ ordinalParse : null
+ });
- // 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.ok(moment.utc('2015-01-1', 'YYYY-MM-Do', true).isValid(), 'ordinal parse uses child (default)');
+ });
- // 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');
- // });
+ test('months', function (assert) {
+ moment.defineLocale('months', null);
+ moment.defineLocale('months', {
+ months : 'One_Two_Three_Four_Five_Six_Seven_Eight_Nine_Ten_Eleven_Twelve'.split('_')
+ });
+ moment.updateLocale('months', {
+ parentLocale: 'base-months',
+ months : 'First_Second_Third_Fourth_Fifth_Sixth_Seventh_Eighth_Ninth_Tenth_Eleventh_Twelveth '.split('_')
+ });
+ assert.ok(moment.utc('2015-01-01', 'YYYY-MM-DD').format('MMMM'), 'First', 'months uses child');
+ });
}));
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('min max');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('mutable');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('normalize units');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('now');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('parsing flags');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
var symbolMap = {
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('quarter');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('relative time');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('start and end of units');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('string prototype');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('to type');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('utc');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('utc offset');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('week year');
assert.equal(52, moment('2012-01-01', 'YYYY-MM-DD').weeksInYear(), 'weeks in 2012 are 52'); // 52
});
+ test('weeks numbers dow:1 doy:4', function (assert) {
+ moment.locale('dow: 1, doy: 4', {week: {dow: 1, doy: 4}});
+ assert.equal(moment([2012, 0, 1]).week(), 52, 'Jan 1 2012 should be week 52');
+ assert.equal(moment([2012, 0, 2]).week(), 1, 'Jan 2 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).week(), 1, 'Jan 8 2012 should be week 1');
+ assert.equal(moment([2012, 0, 9]).week(), 2, 'Jan 9 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).week(), 2, 'Jan 15 2012 should be week 2');
+ assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
+ assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
+ assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
+ assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
+ assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
+ assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
+ assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
+ assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
+ assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
+ assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
+ assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
+ assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
+ assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
+ assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
+ assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
+ assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
+ assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
+ assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
+ assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
+ assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
+ assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
+ assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
+ assert.equal(moment([2009, 0, 13]).week(), 3, 'Jan 12 2009 should be week 3');
+ assert.equal(moment([2009, 11, 28]).week(), 53, 'Dec 28 2009 should be week 53');
+ assert.equal(moment([2010, 0, 1]).week(), 53, 'Jan 1 2010 should be week 53');
+ assert.equal(moment([2010, 0, 3]).week(), 53, 'Jan 3 2010 should be week 53');
+ assert.equal(moment([2010, 0, 4]).week(), 1, 'Jan 4 2010 should be week 1');
+ assert.equal(moment([2010, 0, 10]).week(), 1, 'Jan 10 2010 should be week 1');
+ assert.equal(moment([2010, 0, 11]).week(), 2, 'Jan 11 2010 should be week 2');
+ assert.equal(moment([2010, 11, 27]).week(), 52, 'Dec 27 2010 should be week 52');
+ assert.equal(moment([2011, 0, 1]).week(), 52, 'Jan 1 2011 should be week 52');
+ assert.equal(moment([2011, 0, 2]).week(), 52, 'Jan 2 2011 should be week 52');
+ assert.equal(moment([2011, 0, 3]).week(), 1, 'Jan 3 2011 should be week 1');
+ assert.equal(moment([2011, 0, 9]).week(), 1, 'Jan 9 2011 should be week 1');
+ assert.equal(moment([2011, 0, 10]).week(), 2, 'Jan 10 2011 should be week 2');
+ });
+
+ test('weeks numbers dow:6 doy:12', function (assert) {
+ moment.locale('dow: 6, doy: 12', {week: {dow: 6, doy: 12}});
+ assert.equal(moment([2011, 11, 31]).week(), 1, 'Dec 31 2011 should be week 1');
+ assert.equal(moment([2012, 0, 6]).week(), 1, 'Jan 6 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).week(), 2, 'Jan 7 2012 should be week 2');
+ assert.equal(moment([2012, 0, 13]).week(), 2, 'Jan 13 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).week(), 3, 'Jan 14 2012 should be week 3');
+ assert.equal(moment([2006, 11, 30]).week(), 1, 'Dec 30 2006 should be week 1');
+ assert.equal(moment([2007, 0, 5]).week(), 1, 'Jan 5 2007 should be week 1');
+ assert.equal(moment([2007, 0, 6]).week(), 2, 'Jan 6 2007 should be week 2');
+ assert.equal(moment([2007, 0, 12]).week(), 2, 'Jan 12 2007 should be week 2');
+ assert.equal(moment([2007, 0, 13]).week(), 3, 'Jan 13 2007 should be week 3');
+ assert.equal(moment([2007, 11, 29]).week(), 1, 'Dec 29 2007 should be week 1');
+ assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
+ assert.equal(moment([2008, 0, 4]).week(), 1, 'Jan 4 2008 should be week 1');
+ assert.equal(moment([2008, 0, 5]).week(), 2, 'Jan 5 2008 should be week 2');
+ assert.equal(moment([2008, 0, 11]).week(), 2, 'Jan 11 2008 should be week 2');
+ assert.equal(moment([2008, 0, 12]).week(), 3, 'Jan 12 2008 should be week 3');
+ assert.equal(moment([2002, 11, 28]).week(), 1, 'Dec 28 2002 should be week 1');
+ assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
+ assert.equal(moment([2003, 0, 3]).week(), 1, 'Jan 3 2003 should be week 1');
+ assert.equal(moment([2003, 0, 4]).week(), 2, 'Jan 4 2003 should be week 2');
+ assert.equal(moment([2003, 0, 10]).week(), 2, 'Jan 10 2003 should be week 2');
+ assert.equal(moment([2003, 0, 11]).week(), 3, 'Jan 11 2003 should be week 3');
+ assert.equal(moment([2008, 11, 27]).week(), 1, 'Dec 27 2008 should be week 1');
+ assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
+ assert.equal(moment([2009, 0, 2]).week(), 1, 'Jan 2 2009 should be week 1');
+ assert.equal(moment([2009, 0, 3]).week(), 2, 'Jan 3 2009 should be week 2');
+ assert.equal(moment([2009, 0, 9]).week(), 2, 'Jan 9 2009 should be week 2');
+ assert.equal(moment([2009, 0, 10]).week(), 3, 'Jan 10 2009 should be week 3');
+ assert.equal(moment([2009, 11, 26]).week(), 1, 'Dec 26 2009 should be week 1');
+ assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
+ assert.equal(moment([2010, 0, 2]).week(), 2, 'Jan 2 2010 should be week 2');
+ assert.equal(moment([2010, 0, 8]).week(), 2, 'Jan 8 2010 should be week 2');
+ assert.equal(moment([2010, 0, 9]).week(), 3, 'Jan 9 2010 should be week 3');
+ assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
+ assert.equal(moment([2011, 0, 7]).week(), 1, 'Jan 7 2011 should be week 1');
+ assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
+ assert.equal(moment([2011, 0, 14]).week(), 2, 'Jan 14 2011 should be week 2');
+ assert.equal(moment([2011, 0, 15]).week(), 3, 'Jan 15 2011 should be week 3');
+ });
+
+ test('weeks numbers dow:1 doy:7', function (assert) {
+ moment.locale('dow: 1, doy: 7', {week: {dow: 1, doy: 7}});
+ assert.equal(moment([2011, 11, 26]).week(), 1, 'Dec 26 2011 should be week 1');
+ assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 2]).week(), 2, 'Jan 2 2012 should be week 2');
+ assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 9]).week(), 3, 'Jan 9 2012 should be week 3');
+ assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
+ assert.equal(moment([2007, 0, 7]).week(), 1, 'Jan 7 2007 should be week 1');
+ assert.equal(moment([2007, 0, 8]).week(), 2, 'Jan 8 2007 should be week 2');
+ assert.equal(moment([2007, 0, 14]).week(), 2, 'Jan 14 2007 should be week 2');
+ assert.equal(moment([2007, 0, 15]).week(), 3, 'Jan 15 2007 should be week 3');
+ assert.equal(moment([2007, 11, 31]).week(), 1, 'Dec 31 2007 should be week 1');
+ assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
+ assert.equal(moment([2008, 0, 6]).week(), 1, 'Jan 6 2008 should be week 1');
+ assert.equal(moment([2008, 0, 7]).week(), 2, 'Jan 7 2008 should be week 2');
+ assert.equal(moment([2008, 0, 13]).week(), 2, 'Jan 13 2008 should be week 2');
+ assert.equal(moment([2008, 0, 14]).week(), 3, 'Jan 14 2008 should be week 3');
+ assert.equal(moment([2002, 11, 30]).week(), 1, 'Dec 30 2002 should be week 1');
+ assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
+ assert.equal(moment([2003, 0, 5]).week(), 1, 'Jan 5 2003 should be week 1');
+ assert.equal(moment([2003, 0, 6]).week(), 2, 'Jan 6 2003 should be week 2');
+ assert.equal(moment([2003, 0, 12]).week(), 2, 'Jan 12 2003 should be week 2');
+ assert.equal(moment([2003, 0, 13]).week(), 3, 'Jan 13 2003 should be week 3');
+ assert.equal(moment([2008, 11, 29]).week(), 1, 'Dec 29 2008 should be week 1');
+ assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
+ assert.equal(moment([2009, 0, 4]).week(), 1, 'Jan 4 2009 should be week 1');
+ assert.equal(moment([2009, 0, 5]).week(), 2, 'Jan 5 2009 should be week 2');
+ assert.equal(moment([2009, 0, 11]).week(), 2, 'Jan 11 2009 should be week 2');
+ assert.equal(moment([2009, 0, 12]).week(), 3, 'Jan 12 2009 should be week 3');
+ assert.equal(moment([2009, 11, 28]).week(), 1, 'Dec 28 2009 should be week 1');
+ assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
+ assert.equal(moment([2010, 0, 3]).week(), 1, 'Jan 3 2010 should be week 1');
+ assert.equal(moment([2010, 0, 4]).week(), 2, 'Jan 4 2010 should be week 2');
+ assert.equal(moment([2010, 0, 10]).week(), 2, 'Jan 10 2010 should be week 2');
+ assert.equal(moment([2010, 0, 11]).week(), 3, 'Jan 11 2010 should be week 3');
+ assert.equal(moment([2010, 11, 27]).week(), 1, 'Dec 27 2010 should be week 1');
+ assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
+ assert.equal(moment([2011, 0, 2]).week(), 1, 'Jan 2 2011 should be week 1');
+ assert.equal(moment([2011, 0, 3]).week(), 2, 'Jan 3 2011 should be week 2');
+ assert.equal(moment([2011, 0, 9]).week(), 2, 'Jan 9 2011 should be week 2');
+ assert.equal(moment([2011, 0, 10]).week(), 3, 'Jan 10 2011 should be week 3');
+ });
+
+ test('weeks numbers dow:0 doy:6', function (assert) {
+ moment.locale('dow: 0, doy: 6', {week: {dow: 0, doy: 6}});
+ assert.equal(moment([2012, 0, 1]).week(), 1, 'Jan 1 2012 should be week 1');
+ assert.equal(moment([2012, 0, 7]).week(), 1, 'Jan 7 2012 should be week 1');
+ assert.equal(moment([2012, 0, 8]).week(), 2, 'Jan 8 2012 should be week 2');
+ assert.equal(moment([2012, 0, 14]).week(), 2, 'Jan 14 2012 should be week 2');
+ assert.equal(moment([2012, 0, 15]).week(), 3, 'Jan 15 2012 should be week 3');
+ assert.equal(moment([2006, 11, 31]).week(), 1, 'Dec 31 2006 should be week 1');
+ assert.equal(moment([2007, 0, 1]).week(), 1, 'Jan 1 2007 should be week 1');
+ assert.equal(moment([2007, 0, 6]).week(), 1, 'Jan 6 2007 should be week 1');
+ assert.equal(moment([2007, 0, 7]).week(), 2, 'Jan 7 2007 should be week 2');
+ assert.equal(moment([2007, 0, 13]).week(), 2, 'Jan 13 2007 should be week 2');
+ assert.equal(moment([2007, 0, 14]).week(), 3, 'Jan 14 2007 should be week 3');
+ assert.equal(moment([2007, 11, 29]).week(), 52, 'Dec 29 2007 should be week 52');
+ assert.equal(moment([2008, 0, 1]).week(), 1, 'Jan 1 2008 should be week 1');
+ assert.equal(moment([2008, 0, 5]).week(), 1, 'Jan 5 2008 should be week 1');
+ assert.equal(moment([2008, 0, 6]).week(), 2, 'Jan 6 2008 should be week 2');
+ assert.equal(moment([2008, 0, 12]).week(), 2, 'Jan 12 2008 should be week 2');
+ assert.equal(moment([2008, 0, 13]).week(), 3, 'Jan 13 2008 should be week 3');
+ assert.equal(moment([2002, 11, 29]).week(), 1, 'Dec 29 2002 should be week 1');
+ assert.equal(moment([2003, 0, 1]).week(), 1, 'Jan 1 2003 should be week 1');
+ assert.equal(moment([2003, 0, 4]).week(), 1, 'Jan 4 2003 should be week 1');
+ assert.equal(moment([2003, 0, 5]).week(), 2, 'Jan 5 2003 should be week 2');
+ assert.equal(moment([2003, 0, 11]).week(), 2, 'Jan 11 2003 should be week 2');
+ assert.equal(moment([2003, 0, 12]).week(), 3, 'Jan 12 2003 should be week 3');
+ assert.equal(moment([2008, 11, 28]).week(), 1, 'Dec 28 2008 should be week 1');
+ assert.equal(moment([2009, 0, 1]).week(), 1, 'Jan 1 2009 should be week 1');
+ assert.equal(moment([2009, 0, 3]).week(), 1, 'Jan 3 2009 should be week 1');
+ assert.equal(moment([2009, 0, 4]).week(), 2, 'Jan 4 2009 should be week 2');
+ assert.equal(moment([2009, 0, 10]).week(), 2, 'Jan 10 2009 should be week 2');
+ assert.equal(moment([2009, 0, 11]).week(), 3, 'Jan 11 2009 should be week 3');
+ assert.equal(moment([2009, 11, 27]).week(), 1, 'Dec 27 2009 should be week 1');
+ assert.equal(moment([2010, 0, 1]).week(), 1, 'Jan 1 2010 should be week 1');
+ assert.equal(moment([2010, 0, 2]).week(), 1, 'Jan 2 2010 should be week 1');
+ assert.equal(moment([2010, 0, 3]).week(), 2, 'Jan 3 2010 should be week 2');
+ assert.equal(moment([2010, 0, 9]).week(), 2, 'Jan 9 2010 should be week 2');
+ assert.equal(moment([2010, 0, 10]).week(), 3, 'Jan 10 2010 should be week 3');
+ assert.equal(moment([2010, 11, 26]).week(), 1, 'Dec 26 2010 should be week 1');
+ assert.equal(moment([2011, 0, 1]).week(), 1, 'Jan 1 2011 should be week 1');
+ assert.equal(moment([2011, 0, 2]).week(), 2, 'Jan 2 2011 should be week 2');
+ assert.equal(moment([2011, 0, 8]).week(), 2, 'Jan 8 2011 should be week 2');
+ assert.equal(moment([2011, 0, 9]).week(), 3, 'Jan 9 2011 should be week 3');
+ });
+
test('week year overflows', function (assert) {
assert.equal('2005-01-01', moment.utc('2004-W53-6', moment.ISO_8601, true).format('YYYY-MM-DD'), '2004-W53-6 is 1st Jan 2005');
assert.equal('2007-12-31', moment.utc('2008-W01-1', moment.ISO_8601, true).format('YYYY-MM-DD'), '2008-W01-1 is 31st Dec 2007');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('week day');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('weeks');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('weeks in year');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('zone switching');
factory(global.moment)
}(this, function (moment) { 'use strict';
+ function each(array, callback) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ callback(array[i], i, array);
+ }
+ }
+
+ function objectKeys(obj) {
+ if (Object.keys) {
+ return Object.keys(obj);
+ } else {
+ // IE8
+ var res = [], i;
+ for (i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ res.push(i);
+ }
+ }
+ return res;
+ }
+ }
+
+ // Pick the first defined of two or three arguments.
+ function defaults(a, b, c) {
+ if (a != null) {
+ return a;
+ }
+ if (b != null) {
+ return b;
+ }
+ return c;
+ }
+
+ function defineCommonLocaleTests(locale, options) {
+ test('lenient ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing ' + i + ' date check');
+ }
+ });
+
+ test('lenient ordinal parsing of number', function (assert) {
+ var i, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ testMoment = moment('2014 01 ' + i, 'YYYY MM Do');
+ assert.equal(testMoment.year(), 2014,
+ 'lenient ordinal parsing of number ' + i + ' year check');
+ assert.equal(testMoment.month(), 0,
+ 'lenient ordinal parsing of number ' + i + ' month check');
+ assert.equal(testMoment.date(), i,
+ 'lenient ordinal parsing of number ' + i + ' date check');
+ }
+ });
+
+ test('strict ordinal parsing', function (assert) {
+ var i, ordinalStr, testMoment;
+ for (i = 1; i <= 31; ++i) {
+ ordinalStr = moment([2014, 0, i]).format('YYYY MM Do');
+ testMoment = moment(ordinalStr, 'YYYY MM Do', true);
+ assert.ok(testMoment.isValid(), 'strict ordinal parsing ' + i);
+ }
+ });
+
+ test('meridiem invariant', function (assert) {
+ var h, m, t1, t2;
+ for (h = 0; h < 24; ++h) {
+ for (m = 0; m < 60; m += 15) {
+ t1 = moment.utc([2000, 0, 1, h, m]);
+ t2 = moment(t1.format('A h:mm'), 'A h:mm');
+ assert.equal(t2.format('HH:mm'), t1.format('HH:mm'),
+ 'meridiem at ' + t1.format('HH:mm'));
+ }
+ }
+ });
+
+ test('date format correctness', function (assert) {
+ var data, tokens;
+ data = moment.localeData()._longDateFormat;
+ tokens = objectKeys(data);
+ each(tokens, function (srchToken) {
+ // Check each format string to make sure it does not contain any
+ // tokens that need to be expanded.
+ each(tokens, function (baseToken) {
+ // strip escaped sequences
+ var format = data[baseToken].replace(/(\[[^\]]*\])/g, '');
+ assert.equal(false, !!~format.indexOf(srchToken),
+ 'contains ' + srchToken + ' in ' + baseToken);
+ });
+ });
+ });
+ }
+
/*global QUnit:false*/
var test = QUnit.test;
}
}
});
+ defineCommonLocaleTests(name, -1, -1);
}
module('zones');