1 | {MockDate} = require('../lib/karen')
|
2 |
|
3 | describe 'MockDate', ->
|
4 | describe '#setTime/#getTime', ->
|
5 | it 'sets and gets time', ->
|
6 | date = new Date(2010, 1, 2, 12, 22, 15)
|
7 | date1 = new MockDate
|
8 | date2 = new MockDate(2014, 11, 24, 15, 0, 0)
|
9 | date1.getTime().should.not.equal(date2.getTime())
|
10 | date1.setTime(date.getTime())
|
11 | date2.setTime(date.getTime())
|
12 | date1.getTime().should.equal(date.getTime())
|
13 | date2.getTime().should.equal(date.getTime())
|
14 |
|
15 | describe '#setUTCDate/#getUTCDate', ->
|
16 | it 'sets and gets UTC date', ->
|
17 | date = new MockDate(2014, 11, 24, 15, 0, 0)
|
18 | date.getUTCDate().should.equal(24)
|
19 | date.setUTCDate(10)
|
20 | date.getUTCDate().should.equal(10)
|
21 |
|
22 | describe '#setMinutes/#getMinutes', ->
|
23 | it 'sets and gets minutes', ->
|
24 | date = new MockDate(2014, 11, 24, 15, 0, 0)
|
25 | date.getMinutes().should.equal(0)
|
26 | date.setMinutes(10)
|
27 | date.getMinutes().should.equal(10)
|
28 |
|
29 | ['toUTCString', 'getTimezoneOffset'].forEach (fnName) ->
|
30 | describe '#' + fnName, ->
|
31 | it 'is inherited from date', ->
|
32 | realDate = new Date(2014, 11, 24, 15, 0, 0)
|
33 | mockDate = new MockDate(2014, 11, 24, 15, 0, 0)
|
34 | actual = realDate[fnName]()
|
35 | expected = mockDate[fnName]()
|
36 | expected.should.equal(actual)
|
37 |
|
38 | describe '.add', ->
|
39 | it 'adds offset to instances created (without arguments) after', ->
|
40 | date1 = new MockDate
|
41 | MockDate.add(100)
|
42 | date2 = new MockDate
|
43 | (date2.getTime() - date1.getTime()).should.equal(100)
|