OSDN Git Service

Merged r6206 from trunk.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 9 Jul 2011 12:01:56 +0000 (12:01 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 9 Jul 2011 12:01:56 +0000 (12:01 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.2-stable@6207 e93f8b46-1217-0410-a6f0-8f06a7374b81

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

index 3c16797..99a88cf 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 004680f..e32367b 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