summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2011-07-09 12:01:08 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2011-07-09 12:01:08 +0000
commitb0728550a35c0bb1cea7efa345d6781cbe3683d4 (patch)
treecfcca165eb45565f0d1306337cd219b07e9534f7
parent3c2ebd7aa2bd4663b0c4a4ab06906cd1554ed095 (diff)
downloadredmine-b0728550a35c0bb1cea7efa345d6781cbe3683d4.tar.gz
redmine-b0728550a35c0bb1cea7efa345d6781cbe3683d4.zip
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
-rw-r--r--app/models/wiki_page.rb6
-rw-r--r--test/functional/wiki_controller_test.rb24
2 files changed, 22 insertions, 8 deletions
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