From: Jean-Philippe Lang Date: Sat, 9 Jul 2011 12:01:08 +0000 (+0000) Subject: Fixed: Wiki annotated page does not display author of version 1 (#8449). X-Git-Tag: 1.3.0~1715 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b0728550a35c0bb1cea7efa345d6781cbe3683d4;p=redmine.git Fixed: Wiki annotated page does not display author of version 1 (#8449). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6206 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 3c1679716..99a88cf9c 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -212,6 +212,10 @@ class WikiAnnotate break unless @lines.detect { |line| line[0].nil? } current = current.previous end - @lines.each { |line| line[0] ||= current.version } + @lines.each { |line| + line[0] ||= current.version + # if the last known version is > 1 (eg. history was cleared), we don't know the author + line[1] ||= current.author if current.version == 1 + } end end diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb index 004680f5f..e32367b4f 100644 --- a/test/functional/wiki_controller_test.rb +++ b/test/functional/wiki_controller_test.rb @@ -250,14 +250,24 @@ class WikiControllerTest < ActionController::TestCase get :annotate, :project_id => 1, :id => 'CookBook_documentation', :version => 2 assert_response :success assert_template 'annotate' + # Line 1 - assert_tag :tag => 'tr', :child => { :tag => 'th', :attributes => {:class => 'line-num'}, :content => '1' }, - :child => { :tag => 'td', :attributes => {:class => 'author'}, :content => /John Smith/ }, - :child => { :tag => 'td', :content => /h1\. CookBook documentation/ } - # Line 2 - assert_tag :tag => 'tr', :child => { :tag => 'th', :attributes => {:class => 'line-num'}, :content => '2' }, - :child => { :tag => 'td', :attributes => {:class => 'author'}, :content => /redMine Admin/ }, - :child => { :tag => 'td', :content => /Some updated \[\[documentation\]\] here/ } + assert_tag :tag => 'tr', :child => { + :tag => 'th', :attributes => {:class => 'line-num'}, :content => '1', :sibling => { + :tag => 'td', :attributes => {:class => 'author'}, :content => /John Smith/, :sibling => { + :tag => 'td', :content => /h1\. CookBook documentation/ + } + } + } + + # Line 5 + assert_tag :tag => 'tr', :child => { + :tag => 'th', :attributes => {:class => 'line-num'}, :content => '5', :sibling => { + :tag => 'td', :attributes => {:class => 'author'}, :content => /redMine Admin/, :sibling => { + :tag => 'td', :content => /Some updated \[\[documentation\]\] here/ + } + } + } end def test_get_rename