~bac/juju-gui/trunkcopy

« back to all changes in this revision

Viewing changes to lib/d3/test/time/months-test.js

  • Committer: kapil.foss at gmail
  • Date: 2012-07-13 18:45:59 UTC
  • Revision ID: kapil.foss@gmail.com-20120713184559-2xl7be17egsrz0c9
reshape

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
require("../env");
2
 
 
3
 
var vows = require("vows"),
4
 
    assert = require("assert"),
5
 
    time = require("./time"),
6
 
    local = time.local,
7
 
    utc = time.utc;
8
 
 
9
 
var suite = vows.describe("d3.time.months");
10
 
 
11
 
suite.addBatch({
12
 
  "months": {
13
 
    topic: function() {
14
 
      return d3.time.months;
15
 
    },
16
 
    "returns months": function(range) {
17
 
      assert.deepEqual(range(local(2010, 10, 31), local(2011, 2, 1)), [
18
 
        local(2010, 11, 1),
19
 
        local(2011, 0, 1),
20
 
        local(2011, 1, 1)
21
 
      ]);
22
 
    },
23
 
    "has an inclusive lower bound": function(range) {
24
 
      assert.deepEqual(range(local(2010, 10, 31), local(2011, 2, 1))[0], local(2010, 11, 1));
25
 
    },
26
 
    "has an exclusive upper bound": function(range) {
27
 
      assert.deepEqual(range(local(2010, 10, 31), local(2011, 2, 1))[2], local(2011, 1, 1));
28
 
    },
29
 
    "can skip months": function(range) {
30
 
      assert.deepEqual(range(local(2011, 1, 1), local(2012, 1, 1), 3), [
31
 
        local(2011, 3, 1),
32
 
        local(2011, 6, 1),
33
 
        local(2011, 9, 1),
34
 
        local(2012, 0, 1)
35
 
      ]);
36
 
    },
37
 
    "observes start of daylight savings time": function(range) {
38
 
      assert.deepEqual(range(local(2011, 0, 1), local(2011, 4, 1)), [
39
 
        local(2011, 0, 1),
40
 
        local(2011, 1, 1),
41
 
        local(2011, 2, 1),
42
 
        local(2011, 3, 1)
43
 
      ]);
44
 
    },
45
 
    "observes end of daylight savings time": function(range) {
46
 
      assert.deepEqual(range(local(2011, 9, 1), local(2012, 1, 1)), [
47
 
        local(2011, 9, 1),
48
 
        local(2011, 10, 1),
49
 
        local(2011, 11, 1),
50
 
        local(2012, 0, 1)
51
 
      ]);
52
 
    },
53
 
    "UTC": {
54
 
      topic: function(range) {
55
 
        return range.utc;
56
 
      },
57
 
      "returns months": function(range) {
58
 
        assert.deepEqual(range(utc(2010, 10, 31), utc(2011, 2, 1)), [
59
 
          utc(2010, 11, 1),
60
 
          utc(2011, 0, 1),
61
 
          utc(2011, 1, 1)
62
 
        ]);
63
 
      },
64
 
      "has an inclusive lower bound": function(range) {
65
 
        assert.deepEqual(range(utc(2010, 10, 31), utc(2011, 2, 1))[0], utc(2010, 11, 1));
66
 
      },
67
 
      "has an exclusive upper bound": function(range) {
68
 
        assert.deepEqual(range(utc(2010, 10, 31), utc(2011, 2, 1))[2], utc(2011, 1, 1));
69
 
      },
70
 
      "can skip months": function(range) {
71
 
        assert.deepEqual(range(utc(2011, 1, 1), utc(2012, 1, 1), 3), [
72
 
          utc(2011, 3, 1),
73
 
          utc(2011, 6, 1),
74
 
          utc(2011, 9, 1),
75
 
          utc(2012, 0, 1)
76
 
        ]);
77
 
      },
78
 
      "does not observe the start of daylight savings time": function(range) {
79
 
        assert.deepEqual(range(utc(2011, 0, 1), utc(2011, 4, 1)), [
80
 
          utc(2011, 0, 1),
81
 
          utc(2011, 1, 1),
82
 
          utc(2011, 2, 1),
83
 
          utc(2011, 3, 1)
84
 
        ]);
85
 
      },
86
 
      "does not observe the end of daylight savings time": function(range) {
87
 
        assert.deepEqual(range(utc(2011, 9, 1), utc(2012, 1, 1)), [
88
 
          utc(2011, 9, 1),
89
 
          utc(2011, 10, 1),
90
 
          utc(2011, 11, 1),
91
 
          utc(2012, 0, 1)
92
 
        ]);
93
 
      }
94
 
    }
95
 
  }
96
 
});
97
 
 
98
 
suite.export(module);