]> source.dussan.org Git - redmine.git/commitdiff
Fixed: Wiki annotated page does not display author of version 1 (#8449).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 9 Jul 2011 12:01:08 +0000 (12:01 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 9 Jul 2011 12:01:08 +0000 (12:01 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6206 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/wiki_page.rb
test/functional/wiki_controller_test.rb

index 3c1679716eafdac0f5a5241bfe45e93b001fdb39..99a88cf9c9fed33365d9ae474e185fa1d0f35739 100644 (file)
@@ -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
index 004680f5f9a73c74d6cac1d35571d2c13f6c66c8..e32367b4f54e0e4921fac8405e347862296b3137 100644 (file)
@@ -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