]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
added test suite for _.customizeDate()
authorTim Wood <washwithcare@gmail.com>
Tue, 15 Mar 2011 22:54:01 +0000 (15:54 -0700)
committerTim Wood <washwithcare@gmail.com>
Tue, 15 Mar 2011 22:54:01 +0000 (15:54 -0700)
lib/underscore.date.js
test/customize.html [new file with mode: 0644]
test/customizeDate.js [new file with mode: 0644]
test/date.js
test/speed.js
test/test.html

index 6750d161caebb0c35bfe6829e7f2014351dd4d6c..b25638c074f503ead4cf949688bd1a1d779619c8 100644 (file)
             MM: "%d months",
             y: "about a year",
             yy: "%d years"
+        },
+        createOrdinal = function(number) {
+            var b = number % 10;
+            return ((number % 100 / 10 | 0) === 1) ? 'th' : 
+                (b === 1) ? 'st' : 
+                (b === 2) ? 'nd' : 
+                (b === 3) ? 'rd' : 'th';
         };
-    
-    // add ordinal to number
-    function createOrdinal(number) {
-        var b = number % 10;
-        return ((number % 100 / 10 | 0) === 1) ? 'th' : 
-            (b === 1) ? 'st' : 
-            (b === 2) ? 'nd' : 
-            (b === 3) ? 'rd' : 'th';
-    }
         
     // left zero fill a number
     function leftZeroFill(number, targetLength) {
                 inputWeekdaysShort = input.weekdaysShort,
                 inputMonths = input.months,
                 inputMonthsShort = input.monthsShort,
-                inputTimeago = input.timeago,
+                inputRelativeTime = input.relativeTime,
                 inputOrdinal = input.ordinal;
             if (inputWeekdays && _.isArray(inputWeekdays) && inputWeekdays.length === 7) {
                 wordsWeekdays = inputWeekdays;
             if (inputMonthsShort && _.isArray(inputMonthsShort) && inputMonthsShort.length === 12) {
                 wordsMonthsShort = inputMonthsShort;
             }
-            if (inputTimeago) {
-                _.extend(wordsTimeAgo, inputTimeago);
+            if (inputRelativeTime) {
+                _.extend(wordsTimeAgo, inputRelativeTime);
             }
             if (inputOrdinal && _.isFunction(inputOrdinal)) {
                 createOrdinal = inputOrdinal;
diff --git a/test/customize.html b/test/customize.html
new file mode 100644 (file)
index 0000000..5fd882f
--- /dev/null
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML>
+<html>
+    <head>
+        <title>Underscore.date customization test suite</title>
+        <link rel="stylesheet" href="vendor/qunit.css" type="text/css" media="screen" />
+        <script type="text/javascript" src="vendor/jquery.js"></script>
+        <script type="text/javascript" src="vendor/underscore.js"></script>
+        <script type="text/javascript" src="../lib/underscore.date.js"></script>
+        <script type="text/javascript" src="vendor/qunit.js"></script>
+        <script type="text/javascript" src="customizeDate.js"></script>
+    </head>
+    <body>
+        <h1 id="qunit-header">Underscore.date customization test suite</h1>
+        <h2 id="qunit-banner"></h2>
+        <h2 id="qunit-userAgent"></h2>
+        <ol id="qunit-tests"></ol>
+    </body>
+</html>
diff --git a/test/customizeDate.js b/test/customizeDate.js
new file mode 100644 (file)
index 0000000..20d93c3
--- /dev/null
@@ -0,0 +1,67 @@
+$(function() {
+
+    module("Customize");
+    
+    _.customizeDate({
+        months : ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"],
+        monthsShort : ["ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"],
+        weekdays : ["domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado"],
+        weekdaysShort : ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"],
+        relativeTime : {
+            future: "%s from now",
+            past: "%s ago",
+            s: "seconds",
+            m: "a minute",
+            mm: "%d minutes",
+            h: "an hour",
+            hh: "%d hours",
+            d: "a day",
+            dd: "%d days",
+            M: "a month",
+            MM: "%d months",
+            y: "a year",
+            yy: "%d years"
+        },
+        ordinal : function(number) {
+            return 'o';
+        }
+    });
+        
+    test("_.formatDate()", 14, function() {
+        var dateTest = new Date(2010, 1, 14, 15, 25, 50, 125);
+        equal(_.formatDate([2010, 1, 14, 15, 25, 50, 125], "dddd, MMMM Do YYYY, h:mm:ss a"), "domingo, febrero 14o 2010, 3:25:50 pm");
+        equal(_.formatDate([2010, 1, 14, 15, 25, 50, 125], "ddd, hA"), "dom, 3PM");
+        equal(_.formatDate(dateTest, "M Mo MM MMMM MMM"), "2 2o 02 febrero feb");
+        equal(_.formatDate(dateTest, "YYYY YY"), "2010 10");
+        equal(_.formatDate(dateTest, "D Do DD"), "14 14o 14");
+        equal(_.formatDate(dateTest, "d do dddd ddd"), "0 0o domingo dom");
+        equal(_.formatDate(dateTest, "DDD DDDo DDDD"), "45 45o 045");
+        equal(_.formatDate(dateTest, "w wo ww"), "8 8o 08");
+        equal(_.formatDate(dateTest, "h hh"), "3 03");
+        equal(_.formatDate(dateTest, "H HH"), "15 15");
+        equal(_.formatDate(dateTest, "m mm"), "25 25");
+        equal(_.formatDate(dateTest, "s ss"), "50 50");
+        equal(_.formatDate(dateTest, "a A"), "pm PM");
+        equal(_.formatDate(dateTest, "t\\he DDDo \\d\\ay of t\\he ye\\ar"), "the 45o day of the year");
+    });
+
+    test("_.relativeTime()", 11, function() {
+        equal(_.relativeTime(1000 * 30), "seconds");
+        equal(_.relativeTime(1000 * 60), "a minute");
+        equal(_.relativeTime(1000 * 60 * 5), "5 minutes");
+        equal(_.relativeTime(1000 * 60 * 60), "an hour");
+        equal(_.relativeTime(1000 * 60 * 60 * 5), "5 hours");
+        equal(_.relativeTime(1000 * 60 * 60 * 24), "a day");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 5), "5 days");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 30), "a month");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 30 * 5), "5 months");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 30 * 12), "a year");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 365 * 5), "5 years");
+    });
+    
+    test("_.fromNow()", 2, function() {
+        equal(_.fromNow(30000, 0), "seconds from now");
+        equal(_.fromNow(0, 30000), "seconds ago");
+    });
+
+});
index d2b454cd285203565948df92eca3ca2e5f03ce7b..8794e70efd21b0eb46b81e8e26213bf603c745c9 100644 (file)
@@ -1,95 +1,84 @@
-$(document).ready(function() {
+$(function() {
 
-  module("Date");
-  
-  test("formatDate", function() {
-       var dateTest = new Date(2010, 1, 14, 15, 25, 50, 125);
-    expect(14);
-       equal(_.formatDate([2010, 1, 14, 15, 25, 50, 125], "dddd, MMMM Do YYYY, h:mm:ss a"), "Sunday, February 14th 2010, 3:25:50 pm");
-       equal(_.formatDate([2010, 1, 14, 15, 25, 50, 125], "ddd, hA"), "Sun, 3PM");
-       equal(_.formatDate(dateTest, "M Mo MM MMMM MMM"), "2 2nd 02 February Feb");
-       equal(_.formatDate(dateTest, "YYYY YY"), "2010 10");
-       equal(_.formatDate(dateTest, "D Do DD"), "14 14th 14");
-       equal(_.formatDate(dateTest, "d do dddd ddd"), "0 0th Sunday Sun");
-       equal(_.formatDate(dateTest, "DDD DDDo DDDD"), "45 45th 045");
-       equal(_.formatDate(dateTest, "w wo ww"), "8 8th 08");
-       equal(_.formatDate(dateTest, "h hh"), "3 03");
-       equal(_.formatDate(dateTest, "H HH"), "15 15");
-       equal(_.formatDate(dateTest, "m mm"), "25 25");
-       equal(_.formatDate(dateTest, "s ss"), "50 50");
-       equal(_.formatDate(dateTest, "a A"), "pm PM");
-       equal(_.formatDate(dateTest, "t\\he DDDo \\d\\ay of t\\he ye\\ar"), "the 45th day of the year");
-  });
-  
-  test("date", function() {
-    expect(6);
-       ok(_.isDate(_.date([2010, 1, 12])), "[2010, 1, 12]");
-       ok(_.isDate(_.date([2010, 1, 12, 1])), "[2010, 1, 12, 1]");
-       ok(_.isDate(_.date()), "undefined");
-       ok(_.isDate(_.date("Aug 9, 1995")), "Aug 9, 1995");
-       ok(_.isDate(_.date("Mon, 25 Dec 1995 13:30:00 GMT")), "Mon, 25 Dec 1995 13:30:00 GMT");
-       deepEqual(_.date(new Date(2010, 1, 14, 15, 25, 50, 125)), _.date([2010, 1, 14, 15, 25, 50, 125]), "native date constructor === _.date([]);");
-  });
-  
-  
-  test("addTime + subtractTime", function() {
-    expect(5);
-       equal(_([2010, 1, 14, 15, 25, 50, 125]).chain().date().addTime({ms:200,s:10,m:10,h:2,d:3,M:2,y:3}).formatDate("MMMM Do YYYY, h:mm:ss a").value(), "April 17th 2013, 5:36:00 pm");
-       equal(_([2010, 0, 31]).chain().date().formatDate("MMMM Do YYYY").value(), "January 31st 2010");
-       equal(_([2010, 0, 31]).chain().date().addTime({M:1}).formatDate("MMMM Do YYYY").value(), "February 28th 2010");
-       equal(_([2007, 1, 28]).chain().date().formatDate("MMMM Do YYYY").value(), "February 28th 2007");
-       equal(_([2007, 1, 28]).chain().date().subtractTime({M:1}).formatDate("MMMM Do YYYY").value(), "January 28th 2007");
-  });
-  
-  
-  test("relativeTime", function() {
-    expect(11);
-       equal(_.relativeTime(1000 * 30), "less than a minute");
-       equal(_.relativeTime(1000 * 60), "about a minute");
-       equal(_.relativeTime(1000 * 60 * 5), "5 minutes");
-       equal(_.relativeTime(1000 * 60 * 60), "about an hour");
-       equal(_.relativeTime(1000 * 60 * 60 * 5), "about 5 hours");
-       equal(_.relativeTime(1000 * 60 * 60 * 24), "a day");
-       equal(_.relativeTime(1000 * 60 * 60 * 24 * 5), "5 days");
-       equal(_.relativeTime(1000 * 60 * 60 * 24 * 30), "about a month");
-       equal(_.relativeTime(1000 * 60 * 60 * 24 * 30 * 5), "5 months");
-       equal(_.relativeTime(1000 * 60 * 60 * 24 * 30 * 12), "about a year");
-       equal(_.relativeTime(1000 * 60 * 60 * 24 * 365 * 5), "5 years");
-  });
-  
-  test("msApart", function() {
-    expect(5);
-       equal(_.msApart(1000, 0), 1000, "1 second (ms) - 0 = 1000");
-       equal(_.msApart(1000, 500), 500, "1 second (ms) - .5 second (ms) = -500");
-       equal(_.msApart(0, 1000), -1000, "0 - 1 second (ms) = -1000");
-       equal(_.msApart(new Date(1000), 1000), 0, "1 second (date) - 1 second (ms) = 0");
-       var oneHourDate = new Date(),
-               nowDate = new Date();
-       oneHourDate.setHours(oneHourDate.getHours() + 1);
-       equal(_.msApart(oneHourDate, nowDate), 60 * 60 * 1000, "1 hour from now = 360000");
-  });
-  
-  test("fromNow", function() {
-    expect(2);
-       equal(_.fromNow(30000, 0), "in less than a minute");
-       equal(_.fromNow(0, 30000), "less than a minute ago");
-  });
-  
-  test("isLeapYear", function() {
-    expect(7);
-       equal(_.isLeapYear(2010), false);
-       equal(_.isLeapYear(2100), false);
-       equal(_.isLeapYear(2008), true);
-       equal(_.isLeapYear(2000), true);
-       equal(_.isLeapYear([2100, 0, 1]), false);
-       equal(_.isLeapYear(new Date(2008, 0, 1)), true);
-       equal(_.isLeapYear(new Date(2000, 0, 1)), true);
-  });
-  
-  /*
-  test("isdst", function() {
-    expect(2);
-       equal(new Date(2010, 0, 1).isdst(), false);
-       equal(new Date(2010, 6, 1).isdst(), true);
-  });*/
+    module("Date");
+
+    test("_.formatDate()", 14, function() {
+        var dateTest = new Date(2010, 1, 14, 15, 25, 50, 125);
+        
+        equal(_.formatDate([2010, 1, 14, 15, 25, 50, 125], "dddd, MMMM Do YYYY, h:mm:ss a"), "Sunday, February 14th 2010, 3:25:50 pm");
+        equal(_.formatDate([2010, 1, 14, 15, 25, 50, 125], "ddd, hA"), "Sun, 3PM");
+        equal(_.formatDate(dateTest, "M Mo MM MMMM MMM"), "2 2nd 02 February Feb");
+        equal(_.formatDate(dateTest, "YYYY YY"), "2010 10");
+        equal(_.formatDate(dateTest, "D Do DD"), "14 14th 14");
+        equal(_.formatDate(dateTest, "d do dddd ddd"), "0 0th Sunday Sun");
+        equal(_.formatDate(dateTest, "DDD DDDo DDDD"), "45 45th 045");
+        equal(_.formatDate(dateTest, "w wo ww"), "8 8th 08");
+        equal(_.formatDate(dateTest, "h hh"), "3 03");
+        equal(_.formatDate(dateTest, "H HH"), "15 15");
+        equal(_.formatDate(dateTest, "m mm"), "25 25");
+        equal(_.formatDate(dateTest, "s ss"), "50 50");
+        equal(_.formatDate(dateTest, "a A"), "pm PM");
+        equal(_.formatDate(dateTest, "t\\he DDDo \\d\\ay of t\\he ye\\ar"), "the 45th day of the year");
+    });
+
+    test("_.date()", 6, function() {
+        ok(_.isDate(_.date([2010, 1, 12])), "[2010, 1, 12]");
+        ok(_.isDate(_.date([2010, 1, 12, 1])), "[2010, 1, 12, 1]");
+        ok(_.isDate(_.date()), "undefined");
+        ok(_.isDate(_.date("Aug 9, 1995")), "Aug 9, 1995");
+        ok(_.isDate(_.date("Mon, 25 Dec 1995 13:30:00 GMT")), "Mon, 25 Dec 1995 13:30:00 GMT");
+        deepEqual(_.date(new Date(2010, 1, 14, 15, 25, 50, 125)), _.date([2010, 1, 14, 15, 25, 50, 125]), "native date constructor === _.date([]);");
+    });
+
+
+    test("_.addTime() + _.subtractTime()", 5, function() {
+        equal(_([2010, 1, 14, 15, 25, 50, 125]).chain().date().addTime({ms:200,s:10,m:10,h:2,d:3,M:2,y:3}).formatDate("MMMM Do YYYY, h:mm:ss a").value(), "April 17th 2013, 5:36:00 pm");
+        equal(_([2010, 0, 31]).chain().date().formatDate("MMMM Do YYYY").value(), "January 31st 2010");
+        equal(_([2010, 0, 31]).chain().date().addTime({M:1}).formatDate("MMMM Do YYYY").value(), "February 28th 2010");
+        equal(_([2007, 1, 28]).chain().date().formatDate("MMMM Do YYYY").value(), "February 28th 2007");
+        equal(_([2007, 1, 28]).chain().date().subtractTime({M:1}).formatDate("MMMM Do YYYY").value(), "January 28th 2007");
+    });
+
+
+    test("_.relativeTime()", 11, function() {
+        equal(_.relativeTime(1000 * 30), "less than a minute");
+        equal(_.relativeTime(1000 * 60), "about a minute");
+        equal(_.relativeTime(1000 * 60 * 5), "5 minutes");
+        equal(_.relativeTime(1000 * 60 * 60), "about an hour");
+        equal(_.relativeTime(1000 * 60 * 60 * 5), "about 5 hours");
+        equal(_.relativeTime(1000 * 60 * 60 * 24), "a day");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 5), "5 days");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 30), "about a month");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 30 * 5), "5 months");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 30 * 12), "about a year");
+        equal(_.relativeTime(1000 * 60 * 60 * 24 * 365 * 5), "5 years");
+    });
+
+    test("_.msApart()", 5, function() {
+        equal(_.msApart(1000, 0), 1000, "1 second (ms) - 0 = 1000");
+        equal(_.msApart(1000, 500), 500, "1 second (ms) - .5 second (ms) = -500");
+        equal(_.msApart(0, 1000), -1000, "0 - 1 second (ms) = -1000");
+        equal(_.msApart(new Date(1000), 1000), 0, "1 second (date) - 1 second (ms) = 0");
+        var oneHourDate = new Date(),
+        nowDate = new Date();
+        oneHourDate.setHours(oneHourDate.getHours() + 1);
+        equal(_.msApart(oneHourDate, nowDate), 60 * 60 * 1000, "1 hour from now = 360000");
+    });
+
+    test("_.fromNow()", 2, function() {
+        equal(_.fromNow(30000, 0), "in less than a minute");
+        equal(_.fromNow(0, 30000), "less than a minute ago");
+    });
+
+    test("_.isLeapYear()", function() {
+        expect(7);
+        equal(_.isLeapYear(2010), false);
+        equal(_.isLeapYear(2100), false);
+        equal(_.isLeapYear(2008), true);
+        equal(_.isLeapYear(2000), true);
+        equal(_.isLeapYear([2100, 0, 1]), false);
+        equal(_.isLeapYear(new Date(2008, 0, 1)), true);
+        equal(_.isLeapYear(new Date(2000, 0, 1)), true);
+    });
+    
 });
\ No newline at end of file
index 513daf765decaa3356dc6540642b0a3579c52fa3..802f08e3f6521fa3beda73ee3af5992184ac6c3f 100644 (file)
@@ -4,10 +4,6 @@
                date2 = new Date(1000),
                rt1 = 1000 * 60 * 60 * 24 * 365 * 5,
                rt2 = 1000 * 30;
-       
-       JSLitmus.test('_.fromnow(1000 * 30, 0)', function() {
-               return _.fromnow(1000, 0);
-       });
 
        JSLitmus.test('_.relativeTime(1000 * 30)', function() {
                return _.relativeTime(rt2);
index edb0de721fcb154c8370af2e28999f8dab833b9e..c69879082305f26071018e1d88d9230e4f52ec49 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-  <title>underscore.date.js test suite</title>
+  <title>Underscore.date test suite</title>
   <link rel="stylesheet" href="vendor/qunit.css" type="text/css" media="screen" />
   <script type="text/javascript" src="vendor/jquery.js"></script>
   <script type="text/javascript" src="vendor/underscore.js"></script>
   <script type="text/javascript" src="vendor/jslitmus.js"></script>
   <script type="text/javascript" src="date.js"></script>
   <script type="text/javascript" src="speed.js"></script>
-  <script type="text/javascript" src="time.js"></script>
 </head>
 <body>
-  <h1 id="qunit-header">underscore.date.js test suite</h1>
+  <h1 id="qunit-header">Underscore.date test suite</h1>
   <h2 id="qunit-banner"></h2>
   <h2 id="qunit-userAgent"></h2>
   <ol id="qunit-tests"></ol>