diff options
-rw-r--r-- | app/views/common/_calendar.rhtml | 2 | ||||
-rw-r--r-- | test/functional/calendars_controller_test.rb | 44 |
2 files changed, 45 insertions, 1 deletions
diff --git a/app/views/common/_calendar.rhtml b/app/views/common/_calendar.rhtml index d0cf2a07a..14d26badd 100644 --- a/app/views/common/_calendar.rhtml +++ b/app/views/common/_calendar.rhtml @@ -6,7 +6,7 @@ <tr> <% day = calendar.startdt while day <= calendar.enddt %> -<%= "<td class='week-number' title='#{ l(:label_week) }'>#{day.cweek}</td>" if day.cwday == calendar.first_wday %> +<%= "<td class='week-number' title='#{ l(:label_week) }'>#{(day+(11-day.cwday)%7).cweek}</td>" if day.cwday == calendar.first_wday %> <td class="<%= day.month==calendar.month ? 'even' : 'odd' %><%= ' today' if Date.today == day %>"> <p class="day-num"><%= day.day %></p> <% calendar.events_on(day).each do |i| %> diff --git a/test/functional/calendars_controller_test.rb b/test/functional/calendars_controller_test.rb index fa07fdd47..79cfe28a0 100644 --- a/test/functional/calendars_controller_test.rb +++ b/test/functional/calendars_controller_test.rb @@ -17,4 +17,48 @@ class CalendarsControllerTest < ActionController::TestCase assert_not_nil assigns(:calendar) end + def test_week_number_calculation + Setting.start_of_week = 7 + + get :show, :month => '1', :year => '2010' + assert_response :success + + assert_tag :tag => 'tr', + :descendant => {:tag => 'td', + :attributes => {:class => 'week-number'}, :content => '53'}, + :descendant => {:tag => 'td', + :attributes => {:class => 'odd'}, :content => '27'}, + :descendant => {:tag => 'td', + :attributes => {:class => 'even'}, :content => '2'} + + assert_tag :tag => 'tr', + :descendant => {:tag => 'td', + :attributes => {:class => 'week-number'}, :content => '1'}, + :descendant => {:tag => 'td', + :attributes => {:class => 'odd'}, :content => '3'}, + :descendant => {:tag => 'td', + :attributes => {:class => 'even'}, :content => '9'} + + + Setting.start_of_week = 1 + get :show, :month => '1', :year => '2010' + assert_response :success + + assert_tag :tag => 'tr', + :descendant => {:tag => 'td', + :attributes => {:class => 'week-number'}, :content => '53'}, + :descendant => {:tag => 'td', + :attributes => {:class => 'even'}, :content => '28'}, + :descendant => {:tag => 'td', + :attributes => {:class => 'even'}, :content => '3'} + + assert_tag :tag => 'tr', + :descendant => {:tag => 'td', + :attributes => {:class => 'week-number'}, :content => '1'}, + :descendant => {:tag => 'td', + :attributes => {:class => 'even'}, :content => '4'}, + :descendant => {:tag => 'td', + :attributes => {:class => 'even'}, :content => '10'} + + end end |