diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-01-18 16:16:23 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2015-01-18 16:16:23 +0000 |
commit | 9915962356ce4bb218ffce55a6120a5d72eb2d08 (patch) | |
tree | 8bbdb31e29a1989deed241eb8c1ee3d91eeb7a58 | |
parent | 6cc1f2be5439c177583c2c45ae7aebdc8d056895 (diff) | |
download | redmine-9915962356ce4bb218ffce55a6120a5d72eb2d08.tar.gz redmine-9915962356ce4bb218ffce55a6120a5d72eb2d08.zip |
Make sure that #scm_iconv returns a string with the target encoding (#14534).
filechanges.find_by_revision_and_path fails with SQLite if arguments are not UTF-8 encoded.
git-svn-id: http://svn.redmine.org/redmine/trunk@13902 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | lib/redmine/scm/adapters/abstract_adapter.rb | 2 | ||||
-rw-r--r-- | test/unit/repository_cvs_test.rb | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/lib/redmine/scm/adapters/abstract_adapter.rb b/lib/redmine/scm/adapters/abstract_adapter.rb index 1d10abb16..98683b015 100644 --- a/lib/redmine/scm/adapters/abstract_adapter.rb +++ b/lib/redmine/scm/adapters/abstract_adapter.rb @@ -283,7 +283,7 @@ module Redmine def scm_iconv(to, from, str) return nil if str.nil? - return str if to == from + return str if to == from && str.encoding.to_s == from str.force_encoding(from) begin str.encode(to) diff --git a/test/unit/repository_cvs_test.rb b/test/unit/repository_cvs_test.rb index fc5bbb8a1..04d086306 100644 --- a/test/unit/repository_cvs_test.rb +++ b/test/unit/repository_cvs_test.rb @@ -179,6 +179,7 @@ class RepositoryCvsTest < ActiveSupport::TestCase assert_kind_of Redmine::Scm::Adapters::Entries, entries assert_equal 3, entries.size assert_equal entries[2].name, "README" + assert_equal 'UTF-8', entries[2].path.encoding.to_s assert_equal entries[2].lastrev.time, Time.gm(2007, 12, 13, 16, 27, 22) assert_equal entries[2].lastrev.identifier, '3' assert_equal entries[2].lastrev.revision, '3' |