summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/helpers/application_helper.rb4
-rw-r--r--test/fixtures/wiki_content_versions.yml14
-rw-r--r--test/functional/wiki_controller_test.rb13
3 files changed, 29 insertions, 2 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index afc6acb9c..4118d5bac 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -545,9 +545,9 @@ module ApplicationHelper
def parse_inline_attachments(text, project, obj, attr, only_path, options)
# when using an image link, try to use an attachment, if possible
- if options[:attachments].present? || (obj && obj.respond_to?(:attachments))
+ if options[:attachments].present? || obj.respond_to?(:attachments)
attachments = options[:attachments] || []
- attachments += obj.attachments if obj
+ attachments += obj.attachments if obj.respond_to?(:attachments)
text.gsub!(/src="([^\/"]+\.(bmp|gif|jpg|jpe|jpeg|png))"(\s+alt="([^"]*)")?/i) do |m|
filename, ext, alt, alttext = $1.downcase, $2, $3, $4
# search for the picture in attachments
diff --git a/test/fixtures/wiki_content_versions.yml b/test/fixtures/wiki_content_versions.yml
index e7c0d4832..d3a614ac9 100644
--- a/test/fixtures/wiki_content_versions.yml
+++ b/test/fixtures/wiki_content_versions.yml
@@ -99,4 +99,18 @@ wiki_content_versions_006:
version: 3
author_id: 1
comments:
+wiki_content_versions_007:
+ data: |-
+ h1. Page with an inline image
+
+ This is an inline image:
+
+ !logo.gif!
+ updated_on: 2007-03-08 00:18:07 +01:00
+ page_id: 4
+ wiki_content_id: 4
+ id: 7
+ version: 1
+ author_id: 1
+ comments:
diff --git a/test/functional/wiki_controller_test.rb b/test/functional/wiki_controller_test.rb
index 05f4eb3af..7bd89c20d 100644
--- a/test/functional/wiki_controller_test.rb
+++ b/test/functional/wiki_controller_test.rb
@@ -68,6 +68,19 @@ class WikiControllerTest < ActionController::TestCase
assert_select 'a[href=?]', '/projects/ecookbook/wiki/CookBook_documentation', :text => /Current version/
end
+ def test_show_old_version_with_attachments
+ page = WikiPage.find(4)
+ assert page.attachments.any?
+ content = page.content
+ content.text = "update"
+ content.save!
+
+ get :show, :project_id => 'ecookbook', :id => page.title, :version => '1'
+ assert_kind_of WikiContent::Version, assigns(:content)
+ assert_response :success
+ assert_template 'show'
+ end
+
def test_show_old_version_without_permission_should_be_denied
Role.anonymous.remove_permission! :view_wiki_edits