|
@@ -31,83 +31,103 @@ describe('timezone', function() {
|
|
|
};
|
|
};
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+
|
|
|
it('receives events correctly when no timezone', function(done) {
|
|
it('receives events correctly when no timezone', function(done) {
|
|
|
options.eventAfterAllRender = function() {
|
|
options.eventAfterAllRender = function() {
|
|
|
- var allDayEvent = $('#cal').fullCalendar('clientEvents', '1')[0];
|
|
|
|
|
- var timedEvent = $('#cal').fullCalendar('clientEvents', '2')[0];
|
|
|
|
|
- var zonedEvent = $('#cal').fullCalendar('clientEvents', '3')[0];
|
|
|
|
|
- expect(allDayEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
- expect(allDayEvent.start.hasTime()).toEqual(false);
|
|
|
|
|
- expect(allDayEvent.start.format()).toEqual('2014-05-02');
|
|
|
|
|
- expect(timedEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
- expect(timedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
- expect(timedEvent.start.format()).toEqual('2014-05-10T12:00:00');
|
|
|
|
|
- expect(zonedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
- expect(zonedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
- expect(zonedEvent.start.format()).toEqual('2014-05-10T14:00:00+11:00');
|
|
|
|
|
|
|
+ expectNoTimezone();
|
|
|
done();
|
|
done();
|
|
|
};
|
|
};
|
|
|
$('#cal').fullCalendar(options);
|
|
$('#cal').fullCalendar(options);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ function expectNoTimezone() {
|
|
|
|
|
+ var allDayEvent = $('#cal').fullCalendar('clientEvents', '1')[0];
|
|
|
|
|
+ var timedEvent = $('#cal').fullCalendar('clientEvents', '2')[0];
|
|
|
|
|
+ var zonedEvent = $('#cal').fullCalendar('clientEvents', '3')[0];
|
|
|
|
|
+ expect(allDayEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
+ expect(allDayEvent.start.hasTime()).toEqual(false);
|
|
|
|
|
+ expect(allDayEvent.start.format()).toEqual('2014-05-02');
|
|
|
|
|
+ expect(timedEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
+ expect(timedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
+ expect(timedEvent.start.format()).toEqual('2014-05-10T12:00:00');
|
|
|
|
|
+ expect(zonedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
+ expect(zonedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
+ expect(zonedEvent.start.format()).toEqual('2014-05-10T14:00:00+11:00');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
it('receives events correctly when local timezone', function(done) {
|
|
it('receives events correctly when local timezone', function(done) {
|
|
|
options.timezone = 'local';
|
|
options.timezone = 'local';
|
|
|
options.eventAfterAllRender = function() {
|
|
options.eventAfterAllRender = function() {
|
|
|
- var allDayEvent = $('#cal').fullCalendar('clientEvents', '1')[0];
|
|
|
|
|
- var timedEvent = $('#cal').fullCalendar('clientEvents', '2')[0];
|
|
|
|
|
- var zonedEvent = $('#cal').fullCalendar('clientEvents', '3')[0];
|
|
|
|
|
- expect(allDayEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
- expect(allDayEvent.start.hasTime()).toEqual(false);
|
|
|
|
|
- expect(allDayEvent.start.format()).toEqual('2014-05-02');
|
|
|
|
|
- expect(timedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
- expect(timedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
- expect(timedEvent.start.zone()).toEqual(new Date(2014, 4, 10, 12).getTimezoneOffset());
|
|
|
|
|
- expect(zonedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
- expect(zonedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
- expect(zonedEvent.start.zone()).toEqual(new Date('Sat May 10 2014 14:00:00 GMT+1100').getTimezoneOffset());
|
|
|
|
|
|
|
+ expectLocalTimezone();
|
|
|
done();
|
|
done();
|
|
|
};
|
|
};
|
|
|
$('#cal').fullCalendar(options);
|
|
$('#cal').fullCalendar(options);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ function expectLocalTimezone() {
|
|
|
|
|
+ var allDayEvent = $('#cal').fullCalendar('clientEvents', '1')[0];
|
|
|
|
|
+ var timedEvent = $('#cal').fullCalendar('clientEvents', '2')[0];
|
|
|
|
|
+ var zonedEvent = $('#cal').fullCalendar('clientEvents', '3')[0];
|
|
|
|
|
+ expect(allDayEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
+ expect(allDayEvent.start.hasTime()).toEqual(false);
|
|
|
|
|
+ expect(allDayEvent.start.format()).toEqual('2014-05-02');
|
|
|
|
|
+ expect(timedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
+ expect(timedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
+ expect(timedEvent.start.zone()).toEqual(new Date(2014, 4, 10, 12).getTimezoneOffset());
|
|
|
|
|
+ expect(zonedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
+ expect(zonedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
+ expect(zonedEvent.start.zone()).toEqual(new Date('Sat May 10 2014 14:00:00 GMT+1100').getTimezoneOffset());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
it('receives events correctly when UTC timezone', function(done) {
|
|
it('receives events correctly when UTC timezone', function(done) {
|
|
|
options.timezone = 'UTC';
|
|
options.timezone = 'UTC';
|
|
|
options.eventAfterAllRender = function() {
|
|
options.eventAfterAllRender = function() {
|
|
|
- var allDayEvent = $('#cal').fullCalendar('clientEvents', '1')[0];
|
|
|
|
|
- var timedEvent = $('#cal').fullCalendar('clientEvents', '2')[0];
|
|
|
|
|
- var zonedEvent = $('#cal').fullCalendar('clientEvents', '3')[0];
|
|
|
|
|
- expect(allDayEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
- expect(allDayEvent.start.hasTime()).toEqual(false);
|
|
|
|
|
- expect(allDayEvent.start.format()).toEqual('2014-05-02');
|
|
|
|
|
- expect(timedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
- expect(timedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
- expect(timedEvent.start.format()).toEqual('2014-05-10T12:00:00Z');
|
|
|
|
|
- expect(zonedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
- expect(zonedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
- expect(zonedEvent.start.format()).toEqual('2014-05-10T03:00:00Z');
|
|
|
|
|
|
|
+ expectUtcTimezone();
|
|
|
done();
|
|
done();
|
|
|
};
|
|
};
|
|
|
$('#cal').fullCalendar(options);
|
|
$('#cal').fullCalendar(options);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ function expectUtcTimezone() {
|
|
|
|
|
+ var allDayEvent = $('#cal').fullCalendar('clientEvents', '1')[0];
|
|
|
|
|
+ var timedEvent = $('#cal').fullCalendar('clientEvents', '2')[0];
|
|
|
|
|
+ var zonedEvent = $('#cal').fullCalendar('clientEvents', '3')[0];
|
|
|
|
|
+ expect(allDayEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
+ expect(allDayEvent.start.hasTime()).toEqual(false);
|
|
|
|
|
+ expect(allDayEvent.start.format()).toEqual('2014-05-02');
|
|
|
|
|
+ expect(timedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
+ expect(timedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
+ expect(timedEvent.start.format()).toEqual('2014-05-10T12:00:00Z');
|
|
|
|
|
+ expect(zonedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
+ expect(zonedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
+ expect(zonedEvent.start.format()).toEqual('2014-05-10T03:00:00Z');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
it('receives events correctly when custom timezone', function(done) {
|
|
it('receives events correctly when custom timezone', function(done) {
|
|
|
options.timezone = 'America/Chicago';
|
|
options.timezone = 'America/Chicago';
|
|
|
options.eventAfterAllRender = function() {
|
|
options.eventAfterAllRender = function() {
|
|
|
- var allDayEvent = $('#cal').fullCalendar('clientEvents', '1')[0];
|
|
|
|
|
- var timedEvent = $('#cal').fullCalendar('clientEvents', '2')[0];
|
|
|
|
|
- var zonedEvent = $('#cal').fullCalendar('clientEvents', '3')[0];
|
|
|
|
|
- expect(allDayEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
- expect(allDayEvent.start.hasTime()).toEqual(false);
|
|
|
|
|
- expect(allDayEvent.start.format()).toEqual('2014-05-02');
|
|
|
|
|
- expect(timedEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
- expect(timedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
- expect(timedEvent.start.format()).toEqual('2014-05-10T12:00:00');
|
|
|
|
|
- expect(zonedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
- expect(zonedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
- expect(zonedEvent.start.format()).toEqual('2014-05-10T14:00:00+11:00');
|
|
|
|
|
|
|
+ expectCustomTimezone();
|
|
|
done();
|
|
done();
|
|
|
};
|
|
};
|
|
|
$('#cal').fullCalendar(options);
|
|
$('#cal').fullCalendar(options);
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ function expectCustomTimezone() {
|
|
|
|
|
+ var allDayEvent = $('#cal').fullCalendar('clientEvents', '1')[0];
|
|
|
|
|
+ var timedEvent = $('#cal').fullCalendar('clientEvents', '2')[0];
|
|
|
|
|
+ var zonedEvent = $('#cal').fullCalendar('clientEvents', '3')[0];
|
|
|
|
|
+ expect(allDayEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
+ expect(allDayEvent.start.hasTime()).toEqual(false);
|
|
|
|
|
+ expect(allDayEvent.start.format()).toEqual('2014-05-02');
|
|
|
|
|
+ expect(timedEvent.start.hasZone()).toEqual(false);
|
|
|
|
|
+ expect(timedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
+ expect(timedEvent.start.format()).toEqual('2014-05-10T12:00:00');
|
|
|
|
|
+ expect(zonedEvent.start.hasZone()).toEqual(true);
|
|
|
|
|
+ expect(zonedEvent.start.hasTime()).toEqual(true);
|
|
|
|
|
+ expect(zonedEvent.start.format()).toEqual('2014-05-10T14:00:00+11:00');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
});
|
|
});
|