From: Iskren Chernev Date: Fri, 26 Apr 2013 07:48:24 +0000 (-0700) Subject: Better tests for (iso)weekYear and (iso)weekday and formatting X-Git-Tag: 2.1.0~28^2~3^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F699%2Fhead;p=thirdparty%2Fmoment.git Better tests for (iso)weekYear and (iso)weekday and formatting --- diff --git a/test/moment/format.js b/test/moment/format.js index 0eaa27699..4ce81df46 100644 --- a/test/moment/format.js +++ b/test/moment/format.js @@ -204,6 +204,8 @@ exports.format = { for (var i in cases) { var isoWeekYear = cases[i].split('-')[0]; + var formatted5 = moment(i).format('GGGGG'); + test.equal('0' + isoWeekYear, formatted5, i + ": should be " + isoWeekYear + ", but " + formatted4); var formatted4 = moment(i).format('GGGG'); test.equal(isoWeekYear, formatted4, i + ": should be " + isoWeekYear + ", but " + formatted4); var formatted2 = moment(i).format('GG'); @@ -237,6 +239,8 @@ exports.format = { moment.lang('en-gb'); // 1, 4 for (var i in cases) { var isoWeekYear = cases[i].split('-')[0]; + var formatted5 = moment(i).format('ggggg'); + test.equal('0' + isoWeekYear, formatted5, i + ": should be " + isoWeekYear + ", but " + formatted4); var formatted4 = moment(i).format('gggg'); test.equal(isoWeekYear, formatted4, i + ": should be " + isoWeekYear + ", but " + formatted4); var formatted2 = moment(i).format('gg'); @@ -246,6 +250,35 @@ exports.format = { test.done(); }, + "iso weekday formats" : function(test) { + test.expect(7); + + test.equal(moment([1985, 1, 4]).format('E'), '0', "Feb 4 1985 is Monday -- 0th day"); + test.equal(moment([2029, 8, 18]).format('E'), '1', "Sep 18 2029 is Tuesday -- 1st day"); + test.equal(moment([2013, 3, 24]).format('E'), '2', "Apr 24 2013 is Wednesday -- 2nd day"); + test.equal(moment([2015, 2, 5]).format('E'), '3', "Mar 5 2015 is Thursday -- 3nd day"); + test.equal(moment([1970, 0, 2]).format('E'), '4', "Jan 2 1970 is Friday -- 4th day"); + test.equal(moment([2001, 4, 12]).format('E'), '5', "May 12 2001 is Saturday -- 5th day"); + test.equal(moment([2000, 0, 2]).format('E'), '6', "Jan 2 2000 is Sunday -- 6th day"); + + test.done(); + }, + + "weekday formats" : function(test) { + test.expect(7); + + moment.lang('dow:3,doy:5', {week: {dow: 3, doy: 5}}); + test.equal(moment([1985, 1, 6]).format('e'), '0', "Feb 6 1985 is Wednesday -- 0th day"); + test.equal(moment([2029, 8, 20]).format('e'), '1', "Sep 20 2029 is Thursday -- 1st day"); + test.equal(moment([2013, 3, 26]).format('e'), '2', "Apr 26 2013 is Friday -- 2nd day"); + test.equal(moment([2015, 2, 7]).format('e'), '3', "Mar 7 2015 is Saturday -- 3nd day"); + test.equal(moment([1970, 0, 4]).format('e'), '4', "Jan 4 1970 is Sunday -- 4th day"); + test.equal(moment([2001, 4, 14]).format('e'), '5', "May 14 2001 is Monday -- 5th day"); + test.equal(moment([2000, 0, 4]).format('e'), '6', "Jan 4 2000 is Tuesday -- 6th day"); + + test.done() + }, + "toString is just human readable format" : function(test) { test.expect(1); diff --git a/test/moment/week_year.js b/test/moment/week_year.js index 6de081564..185e5240e 100644 --- a/test/moment/week_year.js +++ b/test/moment/week_year.js @@ -2,12 +2,15 @@ var moment = require("../../moment"); exports.week_year = { "iso week year": function(test) { - test.expect(16); + test.expect(19); - // Examples taken from http://en.wikipedia.org/wiki/ISO_week + // Some examples taken from http://en.wikipedia.org/wiki/ISO_week test.equal(moment([2005, 0, 1]).isoWeekYear(), 2004); test.equal(moment([2005, 0, 2]).isoWeekYear(), 2004); + test.equal(moment([2005, 0, 3]).isoWeekYear(), 2005); test.equal(moment([2005, 11, 31]).isoWeekYear(), 2005); + test.equal(moment([2006, 0, 1]).isoWeekYear(), 2005); + test.equal(moment([2006, 0, 2]).isoWeekYear(), 2006); test.equal(moment([2007, 0, 1]).isoWeekYear(), 2007); test.equal(moment([2007, 11, 30]).isoWeekYear(), 2007); test.equal(moment([2007, 11, 31]).isoWeekYear(), 2008); @@ -26,13 +29,16 @@ exports.week_year = { }, "week year": function(test) { - test.expect(32); + test.expect(31); - // Examples taken from http://en.wikipedia.org/wiki/ISO_week - moment.lang('en-gb'); // 1, 4 -- like iso + // Some examples taken from http://en.wikipedia.org/wiki/ISO_week + moment.lang('dow:1,doy:4', {week: {dow: 1, doy: 4}}); // like iso test.equal(moment([2005, 0, 1]).weekYear(), 2004); test.equal(moment([2005, 0, 2]).weekYear(), 2004); + test.equal(moment([2005, 0, 3]).weekYear(), 2005); test.equal(moment([2005, 11, 31]).weekYear(), 2005); + test.equal(moment([2006, 0, 1]).weekYear(), 2005); + test.equal(moment([2006, 0, 2]).weekYear(), 2006); test.equal(moment([2007, 0, 1]).weekYear(), 2007); test.equal(moment([2007, 11, 30]).weekYear(), 2007); test.equal(moment([2007, 11, 31]).weekYear(), 2008); @@ -47,23 +53,19 @@ exports.week_year = { test.equal(moment([2010, 0, 3]).weekYear(), 2009); test.equal(moment([2010, 0, 4]).weekYear(), 2010); - moment.lang('bg'); // 1, 7 - test.equal(moment([2005, 0, 1]).weekYear(), 2005); - test.equal(moment([2005, 0, 2]).weekYear(), 2005); - test.equal(moment([2005, 11, 31]).weekYear(), 2006); - test.equal(moment([2007, 0, 1]).weekYear(), 2007); + moment.lang('dow:1,doy:7', {week: {dow: 1, doy: 7}}); + test.equal(moment([2004, 11, 26]).weekYear(), 2004); + test.equal(moment([2004, 11, 27]).weekYear(), 2005); + test.equal(moment([2005, 11, 25]).weekYear(), 2005); + test.equal(moment([2005, 11, 26]).weekYear(), 2006); + test.equal(moment([2006, 11, 31]).weekYear(), 2006); + test.equal(moment([2007, 0, 1]).weekYear(), 2007); test.equal(moment([2007, 11, 30]).weekYear(), 2007); test.equal(moment([2007, 11, 31]).weekYear(), 2008); - test.equal(moment([2008, 0, 1]).weekYear(), 2008); test.equal(moment([2008, 11, 28]).weekYear(), 2008); test.equal(moment([2008, 11, 29]).weekYear(), 2009); - test.equal(moment([2008, 11, 30]).weekYear(), 2009); - test.equal(moment([2008, 11, 31]).weekYear(), 2009); - test.equal(moment([2009, 0, 1]).weekYear(), 2009); - test.equal(moment([2010, 0, 1]).weekYear(), 2010); - test.equal(moment([2010, 0, 2]).weekYear(), 2010); - test.equal(moment([2010, 0, 3]).weekYear(), 2010); - test.equal(moment([2010, 0, 4]).weekYear(), 2010); + test.equal(moment([2009, 11, 27]).weekYear(), 2009); + test.equal(moment([2009, 11, 28]).weekYear(), 2010); test.done(); } diff --git a/test/moment/weekday.js b/test/moment/weekday.js index 3a030eae1..acf1b0219 100644 --- a/test/moment/weekday.js +++ b/test/moment/weekday.js @@ -6,8 +6,7 @@ exports.week_year = { test.expect(7 * 7); for (i = 0; i < 7; ++i) { - moment.lang('testlang', {week: {dow: i, doy: 6}}); - + moment.lang('dow:' + i + ',doy:6', {week: {dow: i, doy: 6}}); test.equal(moment([1985, 1, 4]).isoWeekday(), 0, "Feb 4 1985 is Monday -- 0th day"); test.equal(moment([2029, 8, 18]).isoWeekday(), 1, "Sep 18 2029 is Tuesday -- 1st day"); test.equal(moment([2013, 3, 24]).isoWeekday(), 2, "Apr 24 2013 is Wednesday -- 2nd day"); @@ -22,8 +21,7 @@ exports.week_year = { "weekday first day of week Sunday (dow 0)": function(test) { test.expect(7); - moment.lang('testlang', {week: {dow: 0, doy: 6}}); - + moment.lang('dow:0,doy:6', {week: {dow: 0, doy: 6}}); test.equal(moment([1985, 1, 3]).weekday(), 0, "Feb 3 1985 is Sunday -- 0th day"); test.equal(moment([2029, 8, 17]).weekday(), 1, "Sep 17 2029 is Monday -- 1st day"); test.equal(moment([2013, 3, 23]).weekday(), 2, "Apr 23 2013 is Tuesday -- 2nd day"); @@ -37,8 +35,7 @@ exports.week_year = { "weekday first day of week Monday (dow 1)": function(test) { test.expect(7); - moment.lang('testlang', {week: {dow: 1, doy: 6}}); - + moment.lang('dow:1,doy:6', {week: {dow: 1, doy: 6}}); test.equal(moment([1985, 1, 4]).weekday(), 0, "Feb 4 1985 is Monday -- 0th day"); test.equal(moment([2029, 8, 18]).weekday(), 1, "Sep 18 2029 is Tuesday -- 1st day"); test.equal(moment([2013, 3, 24]).weekday(), 2, "Apr 24 2013 is Wednesday -- 2nd day"); @@ -52,8 +49,7 @@ exports.week_year = { "weekday first day of week Tuesday (dow 2)": function(test) { test.expect(7); - moment.lang('testlang', {week: {dow: 2, doy: 6}}); - + moment.lang('dow:2,doy:6', {week: {dow: 2, doy: 6}}); test.equal(moment([1985, 1, 5]).weekday(), 0, "Feb 5 1985 is Tuesday -- 0th day"); test.equal(moment([2029, 8, 19]).weekday(), 1, "Sep 19 2029 is Wednesday -- 1st day"); test.equal(moment([2013, 3, 25]).weekday(), 2, "Apr 25 2013 is Thursday -- 2nd day"); @@ -67,8 +63,7 @@ exports.week_year = { "weekday first day of week Wednesday (dow 3)": function(test) { test.expect(7); - moment.lang('testlang', {week: {dow: 3, doy: 6}}); - + moment.lang('dow:3,doy:6', {week: {dow: 3, doy: 6}}); test.equal(moment([1985, 1, 6]).weekday(), 0, "Feb 6 1985 is Wednesday -- 0th day"); test.equal(moment([2029, 8, 20]).weekday(), 1, "Sep 20 2029 is Thursday -- 1st day"); test.equal(moment([2013, 3, 26]).weekday(), 2, "Apr 26 2013 is Friday -- 2nd day"); @@ -82,7 +77,7 @@ exports.week_year = { "weekday first day of week Thursday (dow 4)": function(test) { test.expect(7); - moment.lang('testlang', {week: {dow: 4, doy: 6}}); + moment.lang('dow:4,doy:6', {week: {dow: 4, doy: 6}}); test.equal(moment([1985, 1, 7]).weekday(), 0, "Feb 7 1985 is Thursday -- 0th day"); test.equal(moment([2029, 8, 21]).weekday(), 1, "Sep 21 2029 is Friday -- 1st day"); @@ -97,8 +92,7 @@ exports.week_year = { "weekday first day of week Friday (dow 5)": function(test) { test.expect(7); - moment.lang('testlang', {week: {dow: 5, doy: 6}}); - + moment.lang('dow:5,doy:6', {week: {dow: 5, doy: 6}}); test.equal(moment([1985, 1, 8]).weekday(), 0, "Feb 8 1985 is Friday -- 0th day"); test.equal(moment([2029, 8, 22]).weekday(), 1, "Sep 22 2029 is Staturday -- 1st day"); test.equal(moment([2013, 3, 28]).weekday(), 2, "Apr 28 2013 is Sunday -- 2nd day"); @@ -112,8 +106,7 @@ exports.week_year = { "weekday first day of week Saturday (dow 6)": function(test) { test.expect(7); - moment.lang('testlang', {week: {dow: 6, doy: 6}}); - + moment.lang('dow:6,doy:6', {week: {dow: 6, doy: 6}}); test.equal(moment([1985, 1, 9]).weekday(), 0, "Feb 9 1985 is Staturday -- 0th day"); test.equal(moment([2029, 8, 23]).weekday(), 1, "Sep 23 2029 is Sunday -- 1st day"); test.equal(moment([2013, 3, 29]).weekday(), 2, "Apr 29 2013 is Monday -- 2nd day");