toolkit/javascript/d3/test/time/second-test.js
changeset 47 c0b4a8b5a012
equal deleted inserted replaced
46:efd9c589177a 47:c0b4a8b5a012
       
     1 require("../env");
       
     2 require("../../d3");
       
     3 require("../../d3.time");
       
     4 
       
     5 var vows = require("vows"),
       
     6     assert = require("assert");
       
     7 
       
     8 var suite = vows.describe("d3.time.second");
       
     9 
       
    10 suite.addBatch({
       
    11   "second": {
       
    12     topic: function() {
       
    13       return d3.time.second;
       
    14     },
       
    15     "returns seconds": function(floor) {
       
    16       assert.deepEqual(floor(local(2010, 11, 31, 23, 59, 59, 999)), local(2010, 11, 31, 23, 59, 59));
       
    17       assert.deepEqual(floor(local(2011, 0, 1, 0, 0, 0, 0)), local(2011, 0, 1, 0, 0, 0));
       
    18       assert.deepEqual(floor(local(2011, 0, 1, 0, 0, 0, 1)), local(2011, 0, 1, 0, 0, 0));
       
    19     },
       
    20     "UTC": {
       
    21       topic: function(floor) {
       
    22         return floor.utc;
       
    23       },
       
    24       "returns seconds": function(floor) {
       
    25         assert.deepEqual(floor(utc(2010, 11, 31, 23, 59, 59, 999)), utc(2010, 11, 31, 23, 59, 59));
       
    26         assert.deepEqual(floor(utc(2011, 0, 1, 0, 0, 0, 0)), utc(2011, 0, 1, 0, 0, 0));
       
    27         assert.deepEqual(floor(utc(2011, 0, 1, 0, 0, 0, 1)), utc(2011, 0, 1, 0, 0, 0));
       
    28       }
       
    29     }
       
    30   }
       
    31 });
       
    32 
       
    33 function local(year, month, day, hours, minutes, seconds, milliseconds) {
       
    34   return new Date(year, month, day, hours || 0, minutes || 0, seconds || 0, milliseconds || 0);
       
    35 }
       
    36 
       
    37 function utc(year, month, day, hours, minutes, seconds, milliseconds) {
       
    38   return new Date(Date.UTC(year, month, day, hours || 0, minutes || 0, seconds || 0, milliseconds || 0));
       
    39 }
       
    40 
       
    41 suite.export(module);