From: Toshi MARUYAMA Date: Fri, 4 Mar 2011 08:08:32 +0000 (+0000) Subject: scm: mercurial: additional unit model tests for path encoding (#2664). X-Git-Tag: 1.2.0~831 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=17219baa626d8140d81749ab1e5b1ffb2090ed06;p=redmine.git scm: mercurial: additional unit model tests for path encoding (#2664). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4999 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/test/unit/repository_mercurial_test.rb b/test/unit/repository_mercurial_test.rb index d4053e1f4..6d8d7a474 100644 --- a/test/unit/repository_mercurial_test.rb +++ b/test/unit/repository_mercurial_test.rb @@ -23,6 +23,8 @@ class RepositoryMercurialTest < ActiveSupport::TestCase # No '..' in the repository path REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/mercurial_repository' + CHAR_1_HEX = "\xc3\x9c" + def setup @project = Project.find(3) @repository = Repository::Mercurial.create( @@ -31,6 +33,10 @@ class RepositoryMercurialTest < ActiveSupport::TestCase :path_encoding => 'ISO-8859-1' ) assert @repository + @char_1 = CHAR_1_HEX.dup + if @char_1.respond_to?(:force_encoding) + @char_1.force_encoding('UTF-8') + end end if File.directory?(REPOSITORY_PATH) @@ -115,6 +121,13 @@ class RepositoryMercurialTest < ActiveSupport::TestCase assert_equal 'A', c2[0].action assert_equal '/README (1)[2]&,%.-3_4', c2[0].path assert_equal '/README', c2[0].from_path + + cs3 = @repository.changesets.find_by_revision('19') + c3 = cs3.changes + assert_equal 1, c3.size + assert_equal 'A', c3[0].action + assert_equal "/latin-1-dir/test-#{@char_1}-1.txt", c3[0].path + assert_equal "/latin-1-dir/test-#{@char_1}.txt", c3[0].from_path end def test_find_changeset_by_name