scm: git: add utf-8 log test in app unit test (#3396).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4956 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Toshi MARUYAMA 2011-02-27 13:49:37 +00:00
parent 5f44bf1e7a
commit 186a64c557
1 changed files with 14 additions and 0 deletions

View 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