]> source.dussan.org Git - redmine.git/commitdiff
scm: git: add utf-8 log test in app unit test (#3396).
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Sun, 27 Feb 2011 13:49:37 +0000 (13:49 +0000)
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>
Sun, 27 Feb 2011 13:49:37 +0000 (13:49 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4956 e93f8b46-1217-0410-a6f0-8f06a7374b81

test/unit/repository_git_test.rb

index 407250c16365659206039fbd386dfa7d82b45e4b..46d1ad6bb52d2aee555c4bdb09be90c4e4c365be 100644 (file)
@@ -24,7 +24,10 @@ class RepositoryGitTest < ActiveSupport::TestCase
   REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/git_repository'
   REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
 
+  FELIX_HEX  = "Felix Sch\xC3\xA4fer"
+
   def setup
+    Setting.commit_logs_encoding = 'UTF-8'
     @project = Project.find(3)
     @repository = Repository::Git.create(:project => @project, :url => REPOSITORY_PATH)
     assert @repository
@@ -104,6 +107,17 @@ class RepositoryGitTest < ActiveSupport::TestCase
       assert c.event_title.include?('abc7234c:')
       assert_equal 'abc7234cb2750b63f47bff735edc50a1c0a433c2', c.event_url[:rev]
     end
+
+    def test_log_utf8
+      @repository.fetch_changesets
+      @repository.reload
+      str_felix_hex  = FELIX_HEX
+      if str_felix_hex.respond_to?(:force_encoding)
+          str_felix_hex.force_encoding('UTF-8')
+      end
+      c = @repository.changesets.find_by_revision('ed5bb786bbda2dee66a2d50faf51429dbc043a7b')
+      assert_equal "#{str_felix_hex} <felix@fachschaften.org>", c.committer
+    end
   else
     puts "Git test repository NOT FOUND. Skipping unit tests !!!"
     def test_fake; assert true end