attachment: add a functional test to show invalid UTF-8 text file (#2371)

Stripping invalid UTF-8 is Redmine 1.2 behaviour.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7824 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2011-11-17 07:01:40 +00:00
parent 67bc801abc
commit fdf6e8547b
2 changed files with 30 additions and 0 deletions

13
test/fixtures/files/iso8859-1.txt vendored Normal file
View File

@ -0,0 +1,13 @@
Index: trunk/app/controllers/issues_controller.rb
===================================================================
--- trunk/app/controllers/issues_controller.rb (révision 1483)
+++ trunk/app/controllers/issues_controller.rb (révision 1484)
@@ -149,7 +149,7 @@
attach_files(@issue, params[:attachments])
flash[:notice] = 'Demande créée avec succès'
Mailer.deliver_issue_add(@issue) if Setting.notified_events.include?('issue_added')
- redirect_to :controller => 'issues', :action => 'show', :id => @issue, :project_id => @project
+ redirect_to :controller => 'issues', :action => 'show', :id => @issue
return
end
end

View File

@ -91,6 +91,23 @@ class AttachmentsControllerTest < ActionController::TestCase
:sibling => { :tag => 'td', :content => /#{str_japanese}/ }
end
def test_show_text_file_should_strip_non_utf8_content
a = Attachment.new(:container => Issue.find(1),
:file => uploaded_test_file("iso8859-1.txt", "text/plain"),
:author => User.find(1))
assert a.save
assert_equal 'iso8859-1.txt', a.filename
get :show, :id => a.id
assert_response :success
assert_template 'file'
assert_equal 'text/html', @response.content_type
assert_tag :tag => 'th',
:content => '7',
:attributes => { :class => 'line-num' },
:sibling => { :tag => 'td', :content => /Demande cre avec succs/ }
end
def test_show_text_file_should_send_if_too_big
Setting.file_max_size_displayed = 512
Attachment.find(4).update_attribute :filesize, 754.kilobyte