]> source.dussan.org Git - redmine.git/commitdiff
attachment: add a functional test to show UTF-8 text file (#2371)
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Thu, 17 Nov 2011 07:00:30 +0000 (07:00 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Thu, 17 Nov 2011 07:00:30 +0000 (07:00 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7823 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/fixtures/files/japanese-utf-8.txt [new file with mode: 0644]
test/functional/attachments_controller_test.rb

diff --git a/test/fixtures/files/japanese-utf-8.txt b/test/fixtures/files/japanese-utf-8.txt
new file mode 100644 (file)
index 0000000..c77dbef
--- /dev/null
@@ -0,0 +1 @@
+日本語
index 72a23efc4e2e44d466c81e093727b30d0219e5c9..514cc107ac9033ceff5fd19ba526850423a7fad2 100644 (file)
@@ -71,6 +71,26 @@ class AttachmentsControllerTest < ActionController::TestCase
     assert_equal 'text/html', @response.content_type
   end
 
+  def test_show_text_file_utf_8
+    a = Attachment.new(:container => Issue.find(1),
+                       :file => uploaded_test_file("japanese-utf-8.txt", "text/plain"),
+                       :author => User.find(1))
+    assert a.save
+    assert_equal 'japanese-utf-8.txt', a.filename
+
+    str_japanese = "\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e"
+    str_japanese.force_encoding('UTF-8') if str_japanese.respond_to?(:force_encoding)
+
+    get :show, :id => a.id
+    assert_response :success
+    assert_template 'file'
+    assert_equal 'text/html', @response.content_type
+    assert_tag :tag => 'th',
+               :content => '1',
+               :attributes => { :class => 'line-num' },
+               :sibling => { :tag => 'td', :content => /#{str_japanese}/ }
+  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