##// END OF EJS Templates
When copying issues, let the status be changed to default or left unchanged....
When copying issues, let the status be changed to default or left unchanged. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9404 e93f8b46-1217-0410-a6f0-8f06a7374b81

File last commit:

r9155:cdb7ea8b916e
r9270:09375960d69d
Show More
repository_git_test.rb
556 lines | 21.1 KiB | text/x-ruby | RubyLexer
/ test / unit / repository_git_test.rb
Toshi MARUYAMA
scm: git: remove trailing white-spaces from unit model test....
r5580 # Redmine - project management software
# Copyright (C) 2006-2011 Jean-Philippe Lang
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 #
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
Toshi MARUYAMA
scm: git: remove trailing white-spaces from unit model test....
r5580 #
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
Toshi MARUYAMA
scm: git: remove trailing white-spaces from unit model test....
r5580 #
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Jean-Baptiste Barth
Use absolute paths in test/**/* requires for Ruby 1.9.2 compatibility. #4050...
r4395 require File.expand_path('../../test_helper', __FILE__)
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222
Eric Davis
Upgraded to Rails 2.3.4 (#3597)...
r2773 class RepositoryGitTest < ActiveSupport::TestCase
Toshi MARUYAMA
scm: git: change project id of unit app test from 1 to 3....
r4730 fixtures :projects, :repositories, :enabled_modules, :users, :roles
Toshi MARUYAMA
scm: git: add test to override human_attribute_name of "path to repository"...
r8843 include Redmine::I18n
Toshi MARUYAMA
scm: git: replace RAILS_ROOT to Rails.root in unit model test....
r5924 REPOSITORY_PATH = Rails.root.join('tmp/test/git_repository').to_s
Jean-Philippe Lang
Fixes platform determination under JRuby (#1804)....
r1752 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
Toshi MARUYAMA
scm: git: change project id of unit app test from 1 to 3....
r4730
Toshi MARUYAMA
scm: git: update test repository (#8857)...
r8700 NUM_REV = 28
Toshi MARUYAMA
scm: git: update test repository (#10207)...
r8735 NUM_HEAD = 6
Toshi MARUYAMA
scm: git: define NUM_REV as the number of test repository revisions at unit model test...
r6943
Toshi MARUYAMA
scm: git: add utf-8 log test in app unit test (#3396)....
r4836 FELIX_HEX = "Felix Sch\xC3\xA4fer"
Toshi MARUYAMA
scm: git: prepare path encoding test in unit model test (#5251)....
r4937 CHAR_1_HEX = "\xc3\x9c"
Toshi MARUYAMA
scm: git: add utf-8 log test in app unit test (#3396)....
r4836
Toshi MARUYAMA
scm: git: fix newlines of test/unit/repository_git_test.rb....
r4955 ## Ruby uses ANSI api to fork a process on Windows.
## Japanese Shift_JIS and Traditional Chinese Big5 have 0x5c(backslash) problem
## and these are incompatible with ASCII.
# WINDOWS_PASS = Redmine::Platform.mswin?
WINDOWS_PASS = false
Toshi MARUYAMA
scm: git: unit model latin-1 path encoding test passes on Japanese Windows (#5251)....
r4952
Toshi MARUYAMA
scm: git: skip non UTF-8 path encoding test of unit model test in JRuby (#5251)....
r5885 ## Git, Mercurial and CVS path encodings are binary.
## Subversion supports URL encoding for path.
## Redmine Mercurial adapter and extension use URL encoding.
## Git accepts only binary path in command line parameter.
## So, there is no way to use binary command line parameter in JRuby.
JRUBY_SKIP = (RUBY_PLATFORM == 'java')
JRUBY_SKIP_STR = "TODO: This test fails in JRuby"
Toshi MARUYAMA
scm: git: split unit model test setup whether repository required or not...
r8841 def setup
@project = Project.find(3)
@repository = Repository::Git.create(
:project => @project,
:url => REPOSITORY_PATH,
: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
Toshi MARUYAMA
scm: git: add test to override human_attribute_name of "path to repository"...
r8843 def test_blank_path_to_repository_error_message
set_language_if_valid 'en'
repo = Repository::Git.new(
:project => @project,
Toshi MARUYAMA
scm: git: remove unnecessary log_encoding from overriding human_attribute_name test...
r8845 :identifier => 'test'
Toshi MARUYAMA
scm: git: add test to override human_attribute_name of "path to repository"...
r8843 )
assert !repo.save
assert_include "Path to repository can't be blank",
repo.errors.full_messages
end
def test_blank_path_to_repository_error_message_fr
set_language_if_valid 'fr'
str = "Chemin du d\xc3\xa9p\xc3\xb4t doit \xc3\xaatre renseign\xc3\xa9(e)"
str.force_encoding('UTF-8') if str.respond_to?(:force_encoding)
repo = Repository::Git.new(
:project => @project,
:url => "",
:identifier => 'test',
Toshi MARUYAMA
scm: git: remove unnecessary log_encoding from overriding human_attribute_name test...
r8845 :path_encoding => ''
Toshi MARUYAMA
scm: git: add test to override human_attribute_name of "path to repository"...
r8843 )
assert !repo.save
assert_include str, repo.errors.full_messages
end
Toshi MARUYAMA
scm: git: unit model latin-1 path encoding test passes on Japanese Windows (#5251)....
r4952 if File.directory?(REPOSITORY_PATH)
Toshi MARUYAMA
scm: git: split unit model test setup whether repository required or not...
r8841 def test_scm_available
Jean-Philippe Lang
Fixed: #setup triggers a failure even if git tests should not run....
r5297 klass = Repository::Git
assert_equal "Git", klass.scm_name
assert klass.scm_adapter_class
assert_not_equal "", klass.scm_command
assert_equal true, klass.scm_available
end
Toshi MARUYAMA
scm: git: remove trailing white-spaces from unit model test....
r5580
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 def test_fetch_changesets_from_scratch
Toshi MARUYAMA
scm: git: fix fetching 7 days problem (#7146, #6013)....
r5668 assert_nil @repository.extra_info
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_from_scratch at unit model test...
r6942 assert_equal 0, @repository.changesets.count
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_from_scratch at unit model test...
r6942 @project.reload
Toshi MARUYAMA
scm: git: change project id of unit app test from 1 to 3....
r4730
Toshi MARUYAMA
scm: git: use NUM_REV at test_fetch_changesets_from_scratch of unit model test...
r6944 assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: update test repository (#8857)...
r8700 assert_equal 39, @repository.changes.count
Toshi MARUYAMA
scm: git: change project id of unit app test from 1 to 3....
r4730
Toshi MARUYAMA
scm: git: replace "order" at unit model test of fetching from scratch (#5357)...
r8778 commit = @repository.changesets.find_by_revision("7234cb2750b63f47bff735edc50a1c0a433c2518")
assert_equal "7234cb2750b63f47bff735edc50a1c0a433c2518", commit.scmid
Jean-Philippe Lang
Git adapter: use commit time instead of author time (#2108)....
r1997 assert_equal "Initial import.\nThe repository contains 3 files.", commit.comments
assert_equal "jsmith <jsmith@foo.bar>", commit.committer
Jean-Philippe Lang
Maps repository users to Redmine users (#1383)....
r2004 assert_equal User.find_by_login('jsmith'), commit.user
Jean-Philippe Lang
Git adapter: use commit time instead of author time (#2108)....
r1997 # TODO: add a commit with commit time <> author time to the test repository
assert_equal "2007-12-14 09:22:52".to_time, commit.committed_on
assert_equal "2007-12-14".to_date, commit.commit_date
assert_equal 3, commit.changes.count
change = commit.changes.sort_by(&:path).first
assert_equal "README", change.path
Toshi MARUYAMA
scm: git: add test of from_path at unit model test_fetch_changesets_from_scratch...
r9155 assert_equal nil, change.from_path
Jean-Philippe Lang
Git adapter: use commit time instead of author time (#2108)....
r1997 assert_equal "A", change.action
Toshi MARUYAMA
scm: git: fix fetching 7 days problem (#7146, #6013)....
r5668
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 assert_equal NUM_HEAD, @repository.extra_info["heads"].size
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 end
Toshi MARUYAMA
scm: git: remove trailing white-spaces from unit model test....
r5580
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 def test_fetch_changesets_incremental
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_incremental at unit model test...
r6945 assert_equal 0, @repository.changesets.count
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_incremental at unit model test...
r6945 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 extra_info_heads = @repository.extra_info["heads"].dup
assert_equal NUM_HEAD, extra_info_heads.size
extra_info_heads.delete_if { |x| x == "83ca5fd546063a3c7dc2e568ba3355661a9e2b2c" }
assert_equal 4, extra_info_heads.size
Toshi MARUYAMA
scm: git: fix fetching 7 days problem (#7146, #6013)....
r5668 del_revs = [
"83ca5fd546063a3c7dc2e568ba3355661a9e2b2c",
"ed5bb786bbda2dee66a2d50faf51429dbc043a7b",
"4f26664364207fa8b1af9f8722647ab2d4ac5d43",
"deff712f05a90d96edbd70facc47d944be5897e3",
"32ae898b720c2f7eec2723d5bdd558b4cb2d3ddf",
"7e61ac704deecde634b51e59daa8110435dcb3da",
]
@repository.changesets.each do |rev|
rev.destroy if del_revs.detect {|r| r == rev.scmid.to_s }
end
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_incremental at unit model test...
r6945 @project.reload
Toshi MARUYAMA
scm: git: add more tests in fetch changesets incremental unit model test (#5357)....
r4866 cs1 = @repository.changesets
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 assert_equal NUM_REV - 6, cs1.count
extra_info_heads << "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8"
h = {}
h["heads"] = extra_info_heads
Toshi MARUYAMA
scm: git: fix fetching 7 days problem (#7146, #6013)....
r5668 @repository.merge_extra_info(h)
@repository.save
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_incremental at unit model test...
r6945 @project.reload
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 assert @repository.extra_info["heads"].index("4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8")
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_incremental at unit model test...
r6945 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 assert_equal NUM_HEAD, @repository.extra_info["heads"].size
assert @repository.extra_info["heads"].index("83ca5fd546063a3c7dc2e568ba3355661a9e2b2c")
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 end
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493
Toshi MARUYAMA
scm: git: clarify the purpose of the unit model test to fetch history editing revisions...
r8712 def test_fetch_changesets_history_editing
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_invalid_rev at unit model test...
r6950 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add test of fetching invalid revision in unit model test (#7146)....
r5669 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_invalid_rev at unit model test...
r6950 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 extra_info_heads = @repository.extra_info["heads"].dup
assert_equal NUM_HEAD, extra_info_heads.size
extra_info_heads.delete_if { |x| x == "83ca5fd546063a3c7dc2e568ba3355661a9e2b2c" }
assert_equal 4, extra_info_heads.size
Toshi MARUYAMA
scm: git: add test of fetching invalid revision in unit model test (#7146)....
r5669 del_revs = [
"83ca5fd546063a3c7dc2e568ba3355661a9e2b2c",
"ed5bb786bbda2dee66a2d50faf51429dbc043a7b",
"4f26664364207fa8b1af9f8722647ab2d4ac5d43",
"deff712f05a90d96edbd70facc47d944be5897e3",
"32ae898b720c2f7eec2723d5bdd558b4cb2d3ddf",
"7e61ac704deecde634b51e59daa8110435dcb3da",
]
@repository.changesets.each do |rev|
rev.destroy if del_revs.detect {|r| r == rev.scmid.to_s }
end
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_invalid_rev at unit model test...
r6950 @project.reload
Toshi MARUYAMA
scm: git: clarify the purpose of the unit model test to fetch history editing revisions...
r8712 assert_equal NUM_REV - 6, @repository.changesets.count
c = Changeset.new(:repository => @repository,
:committed_on => Time.now,
:revision => "abcd1234efgh",
:scmid => "abcd1234efgh",
:comments => 'test')
assert c.save
@project.reload
assert_equal NUM_REV - 5, @repository.changesets.count
Toshi MARUYAMA
scm: git: fix test revision value of unit app test...
r9151 extra_info_heads << "1234abcd5678"
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 h = {}
h["heads"] = extra_info_heads
Toshi MARUYAMA
scm: git: add test of fetching invalid revision in unit model test (#7146)....
r5669 @repository.merge_extra_info(h)
@repository.save
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_invalid_rev at unit model test...
r6950 @project.reload
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 h1 = @repository.extra_info["heads"].dup
Toshi MARUYAMA
scm: git: fix test revision value of unit app test...
r9151 assert h1.index("1234abcd5678")
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 assert_equal 5, h1.size
Toshi MARUYAMA
scm: git: add test of fetching invalid revision in unit model test (#7146)....
r5669
@repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_fetch_changesets_invalid_rev at unit model test...
r6950 @project.reload
Toshi MARUYAMA
scm: git: clarify the purpose of the unit model test to fetch history editing revisions...
r8712 assert_equal NUM_REV - 5, @repository.changesets.count
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 h2 = @repository.extra_info["heads"].dup
assert_equal h1, h2
Toshi MARUYAMA
scm: git: add test of fetching invalid revision in unit model test (#7146)....
r5669 end
Toshi MARUYAMA
scm: git: test: model: add test of parents (#5501)...
r7592 def test_parents
assert_equal 0, @repository.changesets.count
@repository.fetch_changesets
@project.reload
assert_equal NUM_REV, @repository.changesets.count
r1 = @repository.find_changeset_by_name("7234cb2750b63")
assert_equal [], r1.parents
r2 = @repository.find_changeset_by_name("899a15dba03a3")
assert_equal 1, r2.parents.length
assert_equal "7234cb2750b63f47bff735edc50a1c0a433c2518",
r2.parents[0].identifier
r3 = @repository.find_changeset_by_name("32ae898b720c2")
assert_equal 2, r3.parents.length
Toshi MARUYAMA
scm: git: test: model: fix failing test_parents on PostgreSQL (#5501)...
r7600 r4 = [r3.parents[0].identifier, r3.parents[1].identifier].sort
assert_equal "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8", r4[0]
assert_equal "7e61ac704deecde634b51e59daa8110435dcb3da", r4[1]
Toshi MARUYAMA
scm: git: test: model: add test of parents (#5501)...
r7592 end
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is consistent in new database (#5357)....
r5734 def test_db_consistent_ordering_init
assert_nil @repository.extra_info
Toshi MARUYAMA
Rails3: scm: git: fix error of test_db_consistent_ordering_init at unit model test...
r6951 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is consistent in new database (#5357)....
r5734 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_db_consistent_ordering_init at unit model test...
r6951 @project.reload
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is consistent in new database (#5357)....
r5734 assert_equal 1, @repository.extra_info["db_consistent"]["ordering"]
end
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 def test_db_consistent_ordering_before_1_2
assert_nil @repository.extra_info
Toshi MARUYAMA
Rails3: scm: git: fix error of test_db_consistent_ordering_before_1_2 at unit model test...
r6952 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_db_consistent_ordering_before_1_2 at unit model test...
r6952 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 assert_not_nil @repository.extra_info
Toshi MARUYAMA
scm: git: replace "write_attribute" at unit model test for database order consistency (#5357)...
r8779 h = {}
h["heads"] = []
h["branches"] = {}
h["db_consistent"] = {}
@repository.merge_extra_info(h)
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 @repository.save
Toshi MARUYAMA
Rails3: scm: git: fix error of test_db_consistent_ordering_before_1_2 at unit model test...
r6952 assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_db_consistent_ordering_before_1_2 at unit model test...
r6952 @project.reload
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 assert_equal 0, @repository.extra_info["db_consistent"]["ordering"]
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 extra_info_heads = @repository.extra_info["heads"].dup
extra_info_heads.delete_if { |x| x == "83ca5fd546063a3c7dc2e568ba3355661a9e2b2c" }
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 del_revs = [
"83ca5fd546063a3c7dc2e568ba3355661a9e2b2c",
"ed5bb786bbda2dee66a2d50faf51429dbc043a7b",
"4f26664364207fa8b1af9f8722647ab2d4ac5d43",
"deff712f05a90d96edbd70facc47d944be5897e3",
"32ae898b720c2f7eec2723d5bdd558b4cb2d3ddf",
"7e61ac704deecde634b51e59daa8110435dcb3da",
]
@repository.changesets.each do |rev|
rev.destroy if del_revs.detect {|r| r == rev.scmid.to_s }
end
Toshi MARUYAMA
Rails3: scm: git: fix error of test_db_consistent_ordering_before_1_2 at unit model test...
r6964 @project.reload
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 cs1 = @repository.changesets
Toshi MARUYAMA
scm: git: update test repository (#8857)...
r8700 assert_equal NUM_REV - 6, cs1.count
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 assert_equal 0, @repository.extra_info["db_consistent"]["ordering"]
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149
extra_info_heads << "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8"
h = {}
h["heads"] = extra_info_heads
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 @repository.merge_extra_info(h)
@repository.save
Toshi MARUYAMA
Rails3: scm: git: fix error of test_db_consistent_ordering_before_1_2 at unit model test...
r6952 @project.reload
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 assert @repository.extra_info["heads"].index("4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8")
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 @repository.fetch_changesets
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 @project.reload
Toshi MARUYAMA
Rails3: scm: git: fix error of test_db_consistent_ordering_before_1_2 at unit model test...
r6952 assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 assert_equal NUM_HEAD, @repository.extra_info["heads"].size
Toshi MARUYAMA
scm: git: add unit model test that revisions ordering is inconsistent in existing database (#5357)....
r5735 assert_equal 0, @repository.extra_info["db_consistent"]["ordering"]
end
Toshi MARUYAMA
scm: git: add model method to get heads from extra_info branches hash (#8857)...
r8696 def test_heads_from_branches_hash
assert_nil @repository.extra_info
assert_equal 0, @repository.changesets.count
assert_equal [], @repository.heads_from_branches_hash
h = {}
h["branches"] = {}
h["branches"]["test1"] = {}
h["branches"]["test1"]["last_scmid"] = "1234abcd"
h["branches"]["test2"] = {}
h["branches"]["test2"]["last_scmid"] = "abcd1234"
@repository.merge_extra_info(h)
@repository.save
@project.reload
assert_equal ["1234abcd", "abcd1234"], @repository.heads_from_branches_hash.sort
end
Toshi MARUYAMA
scm: git: add latest changesets test in unit model test (#5357)....
r4932 def test_latest_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_latest_changesets at unit model test...
r6965 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add latest changesets test in unit model test (#5357)....
r4932 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_latest_changesets at unit model test...
r6965 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: add latest changesets test in unit model test (#5357)....
r4932 # with limit
Toshi MARUYAMA
scm: git: use explicit "master" for latest_changesets at unit app test...
r8690 changesets = @repository.latest_changesets('', 'master', 2)
Toshi MARUYAMA
scm: git: add latest changesets test in unit model test (#5357)....
r4932 assert_equal 2, changesets.size
# with path
Toshi MARUYAMA
scm: git: use explicit "master" for latest_changesets at unit app test...
r8690 changesets = @repository.latest_changesets('images', 'master')
Toshi MARUYAMA
scm: git: add latest changesets test in unit model test (#5357)....
r4932 assert_equal [
'deff712f05a90d96edbd70facc47d944be5897e3',
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
'7234cb2750b63f47bff735edc50a1c0a433c2518',
], changesets.collect(&:revision)
changesets = @repository.latest_changesets('README', nil)
assert_equal [
'32ae898b720c2f7eec2723d5bdd558b4cb2d3ddf',
'4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8',
'713f4944648826f558cf548222f813dabe7cbb04',
'61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
'7234cb2750b63f47bff735edc50a1c0a433c2518',
], changesets.collect(&:revision)
Toshi MARUYAMA
scm: git: add latest changesets limit test in unit model test (#5357)....
r4934 # with path, revision and limit
Toshi MARUYAMA
scm: git: add latest changesets test in unit model test (#5357)....
r4932 changesets = @repository.latest_changesets('images', '899a15dba')
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
'7234cb2750b63f47bff735edc50a1c0a433c2518',
], changesets.collect(&:revision)
Toshi MARUYAMA
scm: git: add latest changesets limit test in unit model test (#5357)....
r4934 changesets = @repository.latest_changesets('images', '899a15dba', 1)
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
], changesets.collect(&:revision)
Toshi MARUYAMA
scm: git: add latest changesets test in unit model test (#5357)....
r4932 changesets = @repository.latest_changesets('README', '899a15dba')
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
'7234cb2750b63f47bff735edc50a1c0a433c2518',
], changesets.collect(&:revision)
Toshi MARUYAMA
scm: git: add latest changesets limit test in unit model test (#5357)....
r4934
changesets = @repository.latest_changesets('README', '899a15dba', 1)
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
], changesets.collect(&:revision)
Toshi MARUYAMA
scm: git: add latest changesets tag test in unit model test (#5357)....
r4935 # with path, tag and limit
changesets = @repository.latest_changesets('images', 'tag01.annotated')
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
'7234cb2750b63f47bff735edc50a1c0a433c2518',
], changesets.collect(&:revision)
changesets = @repository.latest_changesets('images', 'tag01.annotated', 1)
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
], changesets.collect(&:revision)
changesets = @repository.latest_changesets('README', 'tag01.annotated')
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
'7234cb2750b63f47bff735edc50a1c0a433c2518',
], changesets.collect(&:revision)
changesets = @repository.latest_changesets('README', 'tag01.annotated', 1)
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
], changesets.collect(&:revision)
Toshi MARUYAMA
scm: git: add latest changesets branch test in unit model test (#5357)....
r4936
# with path, branch and limit
changesets = @repository.latest_changesets('images', 'test_branch')
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
'7234cb2750b63f47bff735edc50a1c0a433c2518',
], changesets.collect(&:revision)
changesets = @repository.latest_changesets('images', 'test_branch', 1)
assert_equal [
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
], changesets.collect(&:revision)
changesets = @repository.latest_changesets('README', 'test_branch')
assert_equal [
'713f4944648826f558cf548222f813dabe7cbb04',
'61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
'899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
'7234cb2750b63f47bff735edc50a1c0a433c2518',
], changesets.collect(&:revision)
changesets = @repository.latest_changesets('README', 'test_branch', 2)
assert_equal [
'713f4944648826f558cf548222f813dabe7cbb04',
'61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
], changesets.collect(&:revision)
Toshi MARUYAMA
scm: git: add latest changesets path encoding test in unit model test (#5251)....
r4938
Toshi MARUYAMA
scm: git: skip non UTF-8 path encoding test of unit model test in JRuby (#5251)....
r5885 if JRUBY_SKIP
puts JRUBY_SKIP_STR
else
# latin-1 encoding path
changesets = @repository.latest_changesets(
"latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89')
assert_equal [
Toshi MARUYAMA
scm: git: add latest changesets path encoding test in unit model test (#5251)....
r4938 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
'4fc55c43bf3d3dc2efb66145365ddc17639ce81e',
], changesets.collect(&:revision)
Toshi MARUYAMA
scm: git: skip non UTF-8 path encoding test of unit model test in JRuby (#5251)....
r5885 changesets = @repository.latest_changesets(
Toshi MARUYAMA
scm: git: add latest changesets path encoding test in unit model test (#5251)....
r4938 "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89', 1)
Toshi MARUYAMA
scm: git: skip non UTF-8 path encoding test of unit model test in JRuby (#5251)....
r5885 assert_equal [
Toshi MARUYAMA
scm: git: add latest changesets path encoding test in unit model test (#5251)....
r4938 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
], changesets.collect(&:revision)
Toshi MARUYAMA
scm: git: skip non UTF-8 path encoding test of unit model test in JRuby (#5251)....
r5885 end
Toshi MARUYAMA
scm: git: add latest changesets test in unit model test (#5357)....
r4932 end
Toshi MARUYAMA
scm: git: add latin-1 encoding directory test in unit model test (#5251)....
r4943 def test_latest_changesets_latin_1_dir
Toshi MARUYAMA
scm: git: unit model latin-1 path encoding test passes on Japanese Windows (#5251)....
r4952 if WINDOWS_PASS
#
Toshi MARUYAMA
scm: git: skip non UTF-8 path encoding test of unit model test in JRuby (#5251)....
r5885 elsif JRUBY_SKIP
puts JRUBY_SKIP_STR
Toshi MARUYAMA
scm: git: add latin-1 encoding directory test in unit model test (#5251)....
r4943 else
Toshi MARUYAMA
Rails3: scm: git: fix error of test_latest_changesets_latin_1_dir at unit model test...
r6967 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add latin-1 encoding directory test in unit model test (#5251)....
r4943 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_latest_changesets_latin_1_dir at unit model test...
r6967 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: add latin-1 encoding directory test in unit model test (#5251)....
r4943 changesets = @repository.latest_changesets(
"latin-1-dir/test-#{@char_1}-subdir", '1ca7f5ed')
assert_equal [
'1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127',
], changesets.collect(&:revision)
end
end
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 def test_find_changeset_by_name
Toshi MARUYAMA
Rails3: scm: git: fix error of test_find_changeset_by_name at unit model test...
r6966 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_find_changeset_by_name at unit model test...
r6966 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 ['7234cb2750b63f47bff735edc50a1c0a433c2518', '7234cb2750b'].each do |r|
assert_equal '7234cb2750b63f47bff735edc50a1c0a433c2518',
@repository.find_changeset_by_name(r).revision
end
end
def test_find_changeset_by_empty_name
Toshi MARUYAMA
Rails3: scm: git: fix error of test_find_changeset_by_empty_name at unit model test...
r6968 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_find_changeset_by_empty_name at unit model test...
r6968 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: fix error on revision page for empty revision (#7307)....
r4583 ['', ' ', nil].each do |r|
assert_nil @repository.find_changeset_by_name(r)
end
end
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 def test_identifier
Toshi MARUYAMA
Rails3: scm: git: fix error of test_identifier at unit model test...
r6969 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_identifier at unit model test...
r6969 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: fix incorrect comment in unit model test and code clean up unit model test....
r5602 c = @repository.changesets.find_by_revision(
'7234cb2750b63f47bff735edc50a1c0a433c2518')
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 assert_equal c.scmid, c.identifier
end
def test_format_identifier
Toshi MARUYAMA
Rails3: scm: git: fix error of test_format_identifier at unit model test...
r6970 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_format_identifier at unit model test...
r6970 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: fix incorrect comment in unit model test and code clean up unit model test....
r5602 c = @repository.changesets.find_by_revision(
'7234cb2750b63f47bff735edc50a1c0a433c2518')
Toshi MARUYAMA
scm: fix assert_equal parameter order in subversion and git unit test....
r4571 assert_equal '7234cb27', c.format_identifier
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 end
def test_activities
Toshi MARUYAMA
scm: fix assert_equal parameter order in subversion and git unit test....
r4571 c = Changeset.new(:repository => @repository,
:committed_on => Time.now,
Toshi MARUYAMA
Fix subversion and git activities test reffering r4621....
r4503 :revision => 'abc7234cb2750b63f47bff735edc50a1c0a433c2',
:scmid => 'abc7234cb2750b63f47bff735edc50a1c0a433c2',
:comments => 'test')
assert c.event_title.include?('abc7234c:')
Toshi MARUYAMA
scm: fix assert_equal parameter order in subversion and git unit test....
r4571 assert_equal 'abc7234cb2750b63f47bff735edc50a1c0a433c2', c.event_url[:rev]
Toshi MARUYAMA
Changing revision label and identifier at SCM adapter level (#3724, #6092)...
r4493 end
Toshi MARUYAMA
scm: git: add utf-8 log test in app unit test (#3396)....
r4836
def test_log_utf8
Toshi MARUYAMA
Rails3: scm: git: fix error of test_log_utf8 at unit model test...
r6971 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add utf-8 log test in app unit test (#3396)....
r4836 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_log_utf8 at unit model test...
r6971 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: strict Ruby 1.9 string test in unit model test....
r5043 str_felix_hex = FELIX_HEX.dup
Toshi MARUYAMA
scm: git: add utf-8 log test in app unit test (#3396)....
r4836 if str_felix_hex.respond_to?(:force_encoding)
str_felix_hex.force_encoding('UTF-8')
end
Toshi MARUYAMA
scm: git: fix incorrect comment in unit model test and code clean up unit model test....
r5602 c = @repository.changesets.find_by_revision(
'ed5bb786bbda2dee66a2d50faf51429dbc043a7b')
Toshi MARUYAMA
scm: git: add utf-8 log test in app unit test (#3396)....
r4836 assert_equal "#{str_felix_hex} <felix@fachschaften.org>", c.committer
end
Toshi MARUYAMA
scm: git: add tests for previous and next versions in unit model test (#7821, #5357)....
r4954
def test_previous
Toshi MARUYAMA
Rails3: scm: git: fix error of test_previous at unit model test...
r6974 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add tests for previous and next versions in unit model test (#7821, #5357)....
r4954 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_previous at unit model test...
r6974 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: add tests for previous and next versions in unit model test (#7821, #5357)....
r4954 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1|
changeset = @repository.find_changeset_by_name(r1)
%w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2|
assert_equal @repository.find_changeset_by_name(r2), changeset.previous
end
end
end
def test_previous_nil
Toshi MARUYAMA
Rails3: scm: git: fix error of test_previous_nil at unit model test...
r6975 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add tests for previous and next versions in unit model test (#7821, #5357)....
r4954 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_previous_nil at unit model test...
r6975 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 %w|7234cb2750b63f47bff735edc50a1c0a433c2518 7234cb275|.each do |r1|
Toshi MARUYAMA
scm: git: add tests for previous and next versions in unit model test (#7821, #5357)....
r4954 changeset = @repository.find_changeset_by_name(r1)
assert_nil changeset.previous
end
end
def test_next
Toshi MARUYAMA
Rails3: scm: git: fix error of test_next at unit model test...
r6976 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add tests for previous and next versions in unit model test (#7821, #5357)....
r4954 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_next at unit model test...
r6976 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: add tests for previous and next versions in unit model test (#7821, #5357)....
r4954 %w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2|
changeset = @repository.find_changeset_by_name(r2)
%w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1|
assert_equal @repository.find_changeset_by_name(r1), changeset.next
end
end
end
def test_next_nil
Toshi MARUYAMA
Rails3: scm: git: fix error of test_next_nil at unit model test...
r6977 assert_equal 0, @repository.changesets.count
Toshi MARUYAMA
scm: git: add tests for previous and next versions in unit model test (#7821, #5357)....
r4954 @repository.fetch_changesets
Toshi MARUYAMA
Rails3: scm: git: fix error of test_next_nil at unit model test...
r6977 @project.reload
assert_equal NUM_REV, @repository.changesets.count
Toshi MARUYAMA
scm: git: process new git revisions all at once rather than per branch (#10470)...
r9149 %w|2a682156a3b6e77a8bf9cd4590e8db757f3c6c78 2a682156a3b6e77a|.each do |r1|
Toshi MARUYAMA
scm: git: add tests for previous and next versions in unit model test (#7821, #5357)....
r4954 changeset = @repository.find_changeset_by_name(r1)
assert_nil changeset.next
end
end
Jean-Philippe Lang
Merged Git support branch (r1200 to r1226)....
r1222 else
puts "Git test repository NOT FOUND. Skipping unit tests !!!"
def test_fake; assert true end
end
end