summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/fixtures/files/iso8859-1.txt13
-rw-r--r--test/functional/attachments_controller_test.rb17
2 files changed, 30 insertions, 0 deletions
diff --git a/test/fixtures/files/iso8859-1.txt b/test/fixtures/files/iso8859-1.txt
new file mode 100644
index 000000000..9bade6ab9
--- /dev/null
+++ b/test/fixtures/files/iso8859-1.txt
@@ -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
diff --git a/test/functional/attachments_controller_test.rb b/test/functional/attachments_controller_test.rb
index 514cc107a..034a090a6 100644
--- a/test/functional/attachments_controller_test.rb
+++ b/test/functional/attachments_controller_test.rb
@@ -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