diff --git a/test/fixtures/repositories/mercurial_repository.hg b/test/fixtures/repositories/mercurial_repository.hg index 54a8c2ef7bb70808e8de52cb80ee7ec5885e4d95..0b621e724a4844cea74393a2cd71e54254072897 100644 GIT binary patch literal 11046 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 R{X4i;s6@xZck20L`hO57u9^S< literal 10130 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 diff --git a/test/functional/repositories_mercurial_controller_test.rb b/test/functional/repositories_mercurial_controller_test.rb index 418d7f5..71a29af 100644 --- a/test/functional/repositories_mercurial_controller_test.rb +++ b/test/functional/repositories_mercurial_controller_test.rb @@ -28,7 +28,7 @@ class RepositoriesMercurialControllerTest < ActionController::TestCase REPOSITORY_PATH = Rails.root.join('tmp/test/mercurial_repository').to_s CHAR_1_HEX = "\xc3\x9c" PRJ_ID = 3 - NUM_REV = 29 + NUM_REV = 32 ruby19_non_utf8_pass = (RUBY_VERSION >= '1.9' && Encoding.default_external.to_s != 'UTF-8') diff --git a/test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb b/test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb index 10a78c4..cbd67c8 100644 --- a/test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb +++ b/test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb @@ -72,8 +72,8 @@ begin adp = Redmine::Scm::Adapters::MercurialAdapter.new(repo) repo_path = adp.info.root_url.gsub(/\\/, "/") assert_equal REPOSITORY_PATH, repo_path - assert_equal '28', adp.info.lastrev.revision - assert_equal '3ae45e2d177d',adp.info.lastrev.scmid + assert_equal '31', adp.info.lastrev.revision + assert_equal '31eeee7395c8',adp.info.lastrev.scmid end end @@ -257,6 +257,7 @@ begin def test_branches assert_equal [ 'default', + 'test-branch-01', @branch_char_1, 'branch (1)[2]&,%.-3_4', @branch_char_0, @@ -267,10 +268,11 @@ begin def test_branchmap bm = { - 'default' => '3ae45e2d177d', + 'default' => '31eeee7395c8', 'test_branch.latin-1' => 'c2ffe7da686a', 'branch (1)[2]&,%.-3_4' => 'afc61e85bde7', 'test-branch-00' => '3a330eb32958', + "test-branch-01" => 'ad4dc4f80284', @branch_char_0 => 'c8d3e4887474', @branch_char_1 => '7bbf4c738e71', } diff --git a/test/unit/repository_mercurial_test.rb b/test/unit/repository_mercurial_test.rb index 402565e..f33640d 100644 --- a/test/unit/repository_mercurial_test.rb +++ b/test/unit/repository_mercurial_test.rb @@ -21,7 +21,7 @@ class RepositoryMercurialTest < ActiveSupport::TestCase fixtures :projects REPOSITORY_PATH = Rails.root.join('tmp/test/mercurial_repository').to_s - NUM_REV = 29 + NUM_REV = 32 CHAR_1_HEX = "\xc3\x9c" if File.directory?(REPOSITORY_PATH) @@ -56,7 +56,7 @@ class RepositoryMercurialTest < ActiveSupport::TestCase @repository.fetch_changesets @project.reload assert_equal NUM_REV, @repository.changesets.count - assert_equal 37, @repository.changes.count + assert_equal 46, @repository.changes.count assert_equal "Initial import.\nThe repository contains 3 files.", @repository.changesets.find_by_revision('0').comments end @@ -109,19 +109,19 @@ class RepositoryMercurialTest < ActiveSupport::TestCase # with_limit changesets = @repository.latest_changesets('', nil, 2) - assert_equal %w|28 27|, changesets.collect(&:revision) + assert_equal %w|31 30|, changesets.collect(&:revision) # with_filepath changesets = @repository.latest_changesets( '/sql_escape/percent%dir/percent%file1.txt', nil) - assert_equal %w|11 10 9|, changesets.collect(&:revision) + assert_equal %w|30 11 10 9|, changesets.collect(&:revision) changesets = @repository.latest_changesets( '/sql_escape/underscore_dir/understrike_file.txt', nil) - assert_equal %w|12 9|, changesets.collect(&:revision) + assert_equal %w|30 12 9|, changesets.collect(&:revision) changesets = @repository.latest_changesets('README', nil) - assert_equal %w|28 17 8 6 1 0|, changesets.collect(&:revision) + assert_equal %w|31 30 28 17 8 6 1 0|, changesets.collect(&:revision) changesets = @repository.latest_changesets('README','8') assert_equal %w|8 6 1 0|, changesets.collect(&:revision) @@ -135,7 +135,7 @@ class RepositoryMercurialTest < ActiveSupport::TestCase path = 'sql_escape/percent%dir' changesets = @repository.latest_changesets(path, nil) - assert_equal %w|13 11 10 9|, changesets.collect(&:revision) + assert_equal %w|30 13 11 10 9|, changesets.collect(&:revision) changesets = @repository.latest_changesets(path, '11') assert_equal %w|11 10 9|, changesets.collect(&:revision) @@ -145,7 +145,7 @@ class RepositoryMercurialTest < ActiveSupport::TestCase path = 'sql_escape/underscore_dir' changesets = @repository.latest_changesets(path, nil) - assert_equal %w|13 12 9|, changesets.collect(&:revision) + assert_equal %w|30 13 12 9|, changesets.collect(&:revision) changesets = @repository.latest_changesets(path, '12') assert_equal %w|12 9|, changesets.collect(&:revision) @@ -312,7 +312,7 @@ class RepositoryMercurialTest < ActiveSupport::TestCase @repository.fetch_changesets @project.reload assert_equal NUM_REV, @repository.changesets.count - %w|28 3ae45e2d177d 3ae45|.each do |r1| + %w|31 31eeee7395c8 31eee|.each do |r1| changeset = @repository.find_changeset_by_name(r1) assert_nil changeset.next end