use String#encode at scm_iconv on Ruby 1.9 (#12228)
Unit git adapter test fails on JRuby 1.7. <pre> Failure: <"test-Ü-2.txt">("UTF-8") expected but was <"test-\xC3\x9C-2.txt">("ASCII-8BIT"). diff: - test-Ü-2.txt ? ^ + test-Ü-2.txt ? ^^ test_entries_latin_1_files(GitAdapterTest) test/unit/lib/redmine/scm/adapters/git_adapter_test.rb:468:in `test_entries_latin_1_files' 465: assert entries1 466: assert_equal 3, entries1.size 467: f1 = entries1[1] => 468: assert_equal "test-#{@char_1}-2.txt", f1.name 469: assert_equal "latin-1-dir/test-#{@char_1}-2.txt", f1.path 470: assert_equal 'file', f1.kind 471: end </pre> git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10740 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
a71ff93f8f
commit
5a2c80cb48
|
@ -260,6 +260,15 @@ module Redmine
|
||||||
def scm_iconv(to, from, str)
|
def scm_iconv(to, from, str)
|
||||||
return nil if str.nil?
|
return nil if str.nil?
|
||||||
return str if to == from
|
return str if to == from
|
||||||
|
if str.respond_to?(:force_encoding)
|
||||||
|
str.force_encoding(from)
|
||||||
|
begin
|
||||||
|
s = str.encode(to)
|
||||||
|
rescue Exception => e
|
||||||
|
logger.error("failed to convert from #{from} to #{to}. #{err}")
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
else
|
||||||
begin
|
begin
|
||||||
Iconv.conv(to, from, str)
|
Iconv.conv(to, from, str)
|
||||||
rescue Iconv::Failure => err
|
rescue Iconv::Failure => err
|
||||||
|
@ -267,6 +276,7 @@ module Redmine
|
||||||
nil
|
nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def parse_xml(xml)
|
def parse_xml(xml)
|
||||||
if RUBY_PLATFORM == 'java'
|
if RUBY_PLATFORM == 'java'
|
||||||
|
|
Loading…
Reference in New Issue