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
def scm_iconv(to, from, str)
return nil if str.nil?
return str if to == from
- begin
- Iconv.conv(to, from, str)
- rescue Iconv::Failure => err
- logger.error("failed to convert from #{from} to #{to}. #{err}")
- nil
+ 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
+ Iconv.conv(to, from, str)
+ rescue Iconv::Failure => err
+ logger.error("failed to convert from #{from} to #{to}. #{err}")
+ nil
+ end
end
end