Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
describe '#labelSeries', ->
2
 
3
  it 'should generate decade intervals', ->
4
    Morris.labelSeries(
5
      new Date(1952, 0, 1).getTime(),
6
      new Date(2012, 0, 1).getTime(),
7
      1000
8
    ).should.deep.equal([
9
      ["1960", new Date(1960, 0, 1).getTime()],
10
      ["1970", new Date(1970, 0, 1).getTime()],
11
      ["1980", new Date(1980, 0, 1).getTime()],
12
      ["1990", new Date(1990, 0, 1).getTime()],
13
      ["2000", new Date(2000, 0, 1).getTime()],
14
      ["2010", new Date(2010, 0, 1).getTime()]
15
    ])
16
    Morris.labelSeries(
17
      new Date(1952, 3, 1).getTime(),
18
      new Date(2012, 3, 1).getTime(),
19
      1000
20
    ).should.deep.equal([
21
      ["1960", new Date(1960, 0, 1).getTime()],
22
      ["1970", new Date(1970, 0, 1).getTime()],
23
      ["1980", new Date(1980, 0, 1).getTime()],
24
      ["1990", new Date(1990, 0, 1).getTime()],
25
      ["2000", new Date(2000, 0, 1).getTime()],
26
      ["2010", new Date(2010, 0, 1).getTime()]
27
    ])
28
 
29
  it 'should generate year intervals', ->
30
    Morris.labelSeries(
31
      new Date(2007, 0, 1).getTime(),
32
      new Date(2012, 0, 1).getTime(),
33
      1000
34
    ).should.deep.equal([
35
      ["2007", new Date(2007, 0, 1).getTime()],
36
      ["2008", new Date(2008, 0, 1).getTime()],
37
      ["2009", new Date(2009, 0, 1).getTime()],
38
      ["2010", new Date(2010, 0, 1).getTime()],
39
      ["2011", new Date(2011, 0, 1).getTime()],
40
      ["2012", new Date(2012, 0, 1).getTime()]
41
    ])
42
    Morris.labelSeries(
43
      new Date(2007, 3, 1).getTime(),
44
      new Date(2012, 3, 1).getTime(),
45
      1000
46
    ).should.deep.equal([
47
      ["2008", new Date(2008, 0, 1).getTime()],
48
      ["2009", new Date(2009, 0, 1).getTime()],
49
      ["2010", new Date(2010, 0, 1).getTime()],
50
      ["2011", new Date(2011, 0, 1).getTime()],
51
      ["2012", new Date(2012, 0, 1).getTime()]
52
    ])
53
 
54
  it 'should generate month intervals', ->
55
    Morris.labelSeries(
56
      new Date(2012, 0, 1).getTime(),
57
      new Date(2012, 5, 1).getTime(),
58
      1000
59
    ).should.deep.equal([
60
      ["2012-01", new Date(2012, 0, 1).getTime()],
61
      ["2012-02", new Date(2012, 1, 1).getTime()],
62
      ["2012-03", new Date(2012, 2, 1).getTime()],
63
      ["2012-04", new Date(2012, 3, 1).getTime()],
64
      ["2012-05", new Date(2012, 4, 1).getTime()],
65
      ["2012-06", new Date(2012, 5, 1).getTime()]
66
    ])
67
 
68
  it 'should generate week intervals', ->
69
    Morris.labelSeries(
70
      new Date(2012, 0, 1).getTime(),
71
      new Date(2012, 1, 10).getTime(),
72
      1000
73
    ).should.deep.equal([
74
      ["2012-01-01", new Date(2012, 0, 1).getTime()],
75
      ["2012-01-08", new Date(2012, 0, 8).getTime()],
76
      ["2012-01-15", new Date(2012, 0, 15).getTime()],
77
      ["2012-01-22", new Date(2012, 0, 22).getTime()],
78
      ["2012-01-29", new Date(2012, 0, 29).getTime()],
79
      ["2012-02-05", new Date(2012, 1, 5).getTime()]
80
    ])
81
 
82
  it 'should generate day intervals', ->
83
    Morris.labelSeries(
84
      new Date(2012, 0, 1).getTime(),
85
      new Date(2012, 0, 6).getTime(),
86
      1000
87
    ).should.deep.equal([
88
      ["2012-01-01", new Date(2012, 0, 1).getTime()],
89
      ["2012-01-02", new Date(2012, 0, 2).getTime()],
90
      ["2012-01-03", new Date(2012, 0, 3).getTime()],
91
      ["2012-01-04", new Date(2012, 0, 4).getTime()],
92
      ["2012-01-05", new Date(2012, 0, 5).getTime()],
93
      ["2012-01-06", new Date(2012, 0, 6).getTime()]
94
    ])
95
 
96
  it 'should generate hour intervals', ->
97
    Morris.labelSeries(
98
      new Date(2012, 0, 1, 0).getTime(),
99
      new Date(2012, 0, 1, 5).getTime(),
100
      1000
101
    ).should.deep.equal([
102
      ["00:00", new Date(2012, 0, 1, 0).getTime()],
103
      ["01:00", new Date(2012, 0, 1, 1).getTime()],
104
      ["02:00", new Date(2012, 0, 1, 2).getTime()],
105
      ["03:00", new Date(2012, 0, 1, 3).getTime()],
106
      ["04:00", new Date(2012, 0, 1, 4).getTime()],
107
      ["05:00", new Date(2012, 0, 1, 5).getTime()]
108
    ])
109
 
110
  it 'should generate half-hour intervals', ->
111
    Morris.labelSeries(
112
      new Date(2012, 0, 1, 0, 0).getTime(),
113
      new Date(2012, 0, 1, 2, 30).getTime(),
114
      1000
115
    ).should.deep.equal([
116
      ["00:00", new Date(2012, 0, 1, 0, 0).getTime()],
117
      ["00:30", new Date(2012, 0, 1, 0, 30).getTime()],
118
      ["01:00", new Date(2012, 0, 1, 1, 0).getTime()],
119
      ["01:30", new Date(2012, 0, 1, 1, 30).getTime()],
120
      ["02:00", new Date(2012, 0, 1, 2, 0).getTime()],
121
      ["02:30", new Date(2012, 0, 1, 2, 30).getTime()]
122
    ])
123
    Morris.labelSeries(
124
      new Date(2012, 4, 12, 0, 0).getTime(),
125
      new Date(2012, 4, 12, 2, 30).getTime(),
126
      1000
127
    ).should.deep.equal([
128
      ["00:00", new Date(2012, 4, 12, 0, 0).getTime()],
129
      ["00:30", new Date(2012, 4, 12, 0, 30).getTime()],
130
      ["01:00", new Date(2012, 4, 12, 1, 0).getTime()],
131
      ["01:30", new Date(2012, 4, 12, 1, 30).getTime()],
132
      ["02:00", new Date(2012, 4, 12, 2, 0).getTime()],
133
      ["02:30", new Date(2012, 4, 12, 2, 30).getTime()]
134
    ])
135
 
136
  it 'should generate fifteen-minute intervals', ->
137
    Morris.labelSeries(
138
      new Date(2012, 0, 1, 0, 0).getTime(),
139
      new Date(2012, 0, 1, 1, 15).getTime(),
140
      1000
141
    ).should.deep.equal([
142
      ["00:00", new Date(2012, 0, 1, 0, 0).getTime()],
143
      ["00:15", new Date(2012, 0, 1, 0, 15).getTime()],
144
      ["00:30", new Date(2012, 0, 1, 0, 30).getTime()],
145
      ["00:45", new Date(2012, 0, 1, 0, 45).getTime()],
146
      ["01:00", new Date(2012, 0, 1, 1, 0).getTime()],
147
      ["01:15", new Date(2012, 0, 1, 1, 15).getTime()]
148
    ])
149
    Morris.labelSeries(
150
      new Date(2012, 4, 12, 0, 0).getTime(),
151
      new Date(2012, 4, 12, 1, 15).getTime(),
152
      1000
153
    ).should.deep.equal([
154
      ["00:00", new Date(2012, 4, 12, 0, 0).getTime()],
155
      ["00:15", new Date(2012, 4, 12, 0, 15).getTime()],
156
      ["00:30", new Date(2012, 4, 12, 0, 30).getTime()],
157
      ["00:45", new Date(2012, 4, 12, 0, 45).getTime()],
158
      ["01:00", new Date(2012, 4, 12, 1, 0).getTime()],
159
      ["01:15", new Date(2012, 4, 12, 1, 15).getTime()]
160
    ])
161
 
162
  it 'should override automatic intervals', ->
163
    Morris.labelSeries(
164
      new Date(2011, 11, 12).getTime(),
165
      new Date(2012, 0, 12).getTime(),
166
      1000,
167
      "year"
168
    ).should.deep.equal([
169
      ["2012", new Date(2012, 0, 1).getTime()]
170
    ])
171
 
172
  it 'should apply custom formatters', ->
173
    Morris.labelSeries(
174
      new Date(2012, 0, 1).getTime(),
175
      new Date(2012, 0, 6).getTime(),
176
      1000,
177
      "day",
178
      (d) -> "#{d.getMonth()+1}/#{d.getDate()}/#{d.getFullYear()}"
179
    ).should.deep.equal([
180
      ["1/1/2012", new Date(2012, 0, 1).getTime()],
181
      ["1/2/2012", new Date(2012, 0, 2).getTime()],
182
      ["1/3/2012", new Date(2012, 0, 3).getTime()],
183
      ["1/4/2012", new Date(2012, 0, 4).getTime()],
184
      ["1/5/2012", new Date(2012, 0, 5).getTime()],
185
      ["1/6/2012", new Date(2012, 0, 6).getTime()]
186
    ])