mirror of
https://github.com/wassname/fullcalendar.git
synced 2026-09-09 11:22:41 +08:00
different behavior when end-time equals nextDayThreshold. tests
This commit is contained in:
+2
-1
@@ -604,7 +604,8 @@ function View(element, calendar, viewName) {
|
||||
// day offset for given date range
|
||||
var rangeDayOffsetStart = dateToDayOffset(start);
|
||||
var rangeDayOffsetEnd = dateToDayOffset(end); // an exclusive value
|
||||
if (end.time() > nextDayThreshold) {
|
||||
var endTimeMS = +end.time();
|
||||
if (endTimeMS && endTimeMS >= nextDayThreshold) {
|
||||
rangeDayOffsetEnd++;
|
||||
}
|
||||
rangeDayOffsetEnd = Math.max(rangeDayOffsetEnd, rangeDayOffsetStart + 1);
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
|
||||
describe('nextDayThreshold', function() {
|
||||
|
||||
// when a view object exposes its nextDayThreshold value (after some refactoring)...
|
||||
// TODO: detect the default of 9am
|
||||
// TODO: detect 2 or more different types of Duration-ish parsing
|
||||
|
||||
beforeEach(function() {
|
||||
affix('#cal');
|
||||
});
|
||||
|
||||
it('renders an event before the threshold', function() {
|
||||
$('#cal').fullCalendar({
|
||||
nextDayThreshold: '10:00:00',
|
||||
defaultDate: '2014-06',
|
||||
defaultView: 'month',
|
||||
events: [
|
||||
{
|
||||
title: 'event1',
|
||||
start: '2014-06-08T22:00:00',
|
||||
end: '2014-06-10T09:00:00'
|
||||
}
|
||||
]
|
||||
});
|
||||
expect(renderedDayCount()).toBe(2);
|
||||
});
|
||||
|
||||
it('renders an event equal to the threshold', function() {
|
||||
$('#cal').fullCalendar({
|
||||
nextDayThreshold: '10:00:00',
|
||||
defaultDate: '2014-06',
|
||||
defaultView: 'month',
|
||||
events: [
|
||||
{
|
||||
title: 'event1',
|
||||
start: '2014-06-08T22:00:00',
|
||||
end: '2014-06-10T10:00:00'
|
||||
}
|
||||
]
|
||||
});
|
||||
expect(renderedDayCount()).toBe(3);
|
||||
});
|
||||
|
||||
it('renders an event after the threshold', function() {
|
||||
$('#cal').fullCalendar({
|
||||
nextDayThreshold: '10:00:00',
|
||||
defaultDate: '2014-06',
|
||||
defaultView: 'month',
|
||||
events: [
|
||||
{
|
||||
title: 'event1',
|
||||
start: '2014-06-08T22:00:00',
|
||||
end: '2014-06-10T11:00:00'
|
||||
}
|
||||
]
|
||||
});
|
||||
expect(renderedDayCount()).toBe(3);
|
||||
});
|
||||
|
||||
|
||||
function renderedDayCount() { // assumes only one event on the calendar
|
||||
var cellWidth = $('.fc-sun').outerWidth(); // works with basic and agenda
|
||||
var totalWidth = 0;
|
||||
$('.fc-event').each(function() {
|
||||
totalWidth += $(this).outerWidth();
|
||||
});
|
||||
return Math.round(totalWidth / cellWidth);
|
||||
}
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user