diff --git a/lib/redmine/helpers/gantt.rb b/lib/redmine/helpers/gantt.rb index b859c6c7d..4db78dc03 100644 --- a/lib/redmine/helpers/gantt.rb +++ b/lib/redmine/helpers/gantt.rb @@ -595,11 +595,11 @@ module Redmine coords[:bar_progress_end] = self.date_to - self.date_from + 1 end end - if progress_date < User.current.today - late_date = [User.current.today, end_date].min + if progress_date <= User.current.today + late_date = [User.current.today, end_date].min + 1 if late_date > self.date_from && late_date > start_date if late_date < self.date_to - coords[:bar_late_end] = late_date - self.date_from + 1 + coords[:bar_late_end] = late_date - self.date_from else coords[:bar_late_end] = self.date_to - self.date_from + 1 end diff --git a/test/unit/lib/redmine/helpers/gantt_test.rb b/test/unit/lib/redmine/helpers/gantt_test.rb index d7dc956ce..672c912c4 100644 --- a/test/unit/lib/redmine/helpers/gantt_test.rb +++ b/test/unit/lib/redmine/helpers/gantt_test.rb @@ -353,6 +353,20 @@ class Redmine::Helpers::GanttHelperTest < Redmine::HelperTest assert_select 'div.task_late[style*="width:30px"]', 1 end + test "#line late line should be the same width as task_todo when start date and end date are the same" do + create_gantt + @output_buffer = @gantt.line(today - 7, today - 7, 0, false, 'line', :format => :html, :zoom => 4) + assert_select 'div.task_late[style*="width:2px"]', 1 + assert_select 'div.task_todo[style*="width:2px"]', 1 + end + + test "#line late line should be the same width as task_todo when start date and today are the same" do + create_gantt + @output_buffer = @gantt.line(today, today, 0, false, 'line', :format => :html, :zoom => 4) + assert_select 'div.task_late[style*="width:2px"]', 1 + assert_select 'div.task_todo[style*="width:2px"]', 1 + end + test "#line done line should start from the starting point on the left" do create_gantt @output_buffer = @gantt.line(today - 7, today + 7, 30, false, 'line', :format => :html, :zoom => 4)