##// END OF EJS Templates
scm: git: remove trailing white-spaces from unit model test....
Toshi MARUYAMA -
r5580:3a5cf541280c
parent child
Show More
@@ -1,321 +1,321
1 # redMine - project management software
1 # Redmine - project management software
2 # Copyright (C) 2006-2007 Jean-Philippe Lang
2 # Copyright (C) 2006-2011 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 require File.expand_path('../../test_helper', __FILE__)
18 require File.expand_path('../../test_helper', __FILE__)
19
19
20 class RepositoryGitTest < ActiveSupport::TestCase
20 class RepositoryGitTest < ActiveSupport::TestCase
21 fixtures :projects, :repositories, :enabled_modules, :users, :roles
21 fixtures :projects, :repositories, :enabled_modules, :users, :roles
22
22
23 # No '..' in the repository path
23 # No '..' in the repository path
24 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/git_repository'
24 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/git_repository'
25 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
25 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
26
26
27 FELIX_HEX = "Felix Sch\xC3\xA4fer"
27 FELIX_HEX = "Felix Sch\xC3\xA4fer"
28 CHAR_1_HEX = "\xc3\x9c"
28 CHAR_1_HEX = "\xc3\x9c"
29
29
30 ## Ruby uses ANSI api to fork a process on Windows.
30 ## Ruby uses ANSI api to fork a process on Windows.
31 ## Japanese Shift_JIS and Traditional Chinese Big5 have 0x5c(backslash) problem
31 ## Japanese Shift_JIS and Traditional Chinese Big5 have 0x5c(backslash) problem
32 ## and these are incompatible with ASCII.
32 ## and these are incompatible with ASCII.
33 # WINDOWS_PASS = Redmine::Platform.mswin?
33 # WINDOWS_PASS = Redmine::Platform.mswin?
34 WINDOWS_PASS = false
34 WINDOWS_PASS = false
35
35
36 if File.directory?(REPOSITORY_PATH)
36 if File.directory?(REPOSITORY_PATH)
37 def setup
37 def setup
38 klass = Repository::Git
38 klass = Repository::Git
39 assert_equal "Git", klass.scm_name
39 assert_equal "Git", klass.scm_name
40 assert klass.scm_adapter_class
40 assert klass.scm_adapter_class
41 assert_not_equal "", klass.scm_command
41 assert_not_equal "", klass.scm_command
42 assert_equal true, klass.scm_available
42 assert_equal true, klass.scm_available
43
43
44 @project = Project.find(3)
44 @project = Project.find(3)
45 @repository = Repository::Git.create(
45 @repository = Repository::Git.create(
46 :project => @project,
46 :project => @project,
47 :url => REPOSITORY_PATH,
47 :url => REPOSITORY_PATH,
48 :path_encoding => 'ISO-8859-1'
48 :path_encoding => 'ISO-8859-1'
49 )
49 )
50 assert @repository
50 assert @repository
51 @char_1 = CHAR_1_HEX.dup
51 @char_1 = CHAR_1_HEX.dup
52 if @char_1.respond_to?(:force_encoding)
52 if @char_1.respond_to?(:force_encoding)
53 @char_1.force_encoding('UTF-8')
53 @char_1.force_encoding('UTF-8')
54 end
54 end
55 end
55 end
56
56
57 def test_fetch_changesets_from_scratch
57 def test_fetch_changesets_from_scratch
58 @repository.fetch_changesets
58 @repository.fetch_changesets
59 @repository.reload
59 @repository.reload
60
60
61 assert_equal 21, @repository.changesets.count
61 assert_equal 21, @repository.changesets.count
62 assert_equal 33, @repository.changes.count
62 assert_equal 33, @repository.changes.count
63
63
64 commit = @repository.changesets.find(:first, :order => 'committed_on ASC')
64 commit = @repository.changesets.find(:first, :order => 'committed_on ASC')
65 assert_equal "Initial import.\nThe repository contains 3 files.", commit.comments
65 assert_equal "Initial import.\nThe repository contains 3 files.", commit.comments
66 assert_equal "jsmith <jsmith@foo.bar>", commit.committer
66 assert_equal "jsmith <jsmith@foo.bar>", commit.committer
67 assert_equal User.find_by_login('jsmith'), commit.user
67 assert_equal User.find_by_login('jsmith'), commit.user
68 # TODO: add a commit with commit time <> author time to the test repository
68 # TODO: add a commit with commit time <> author time to the test repository
69 assert_equal "2007-12-14 09:22:52".to_time, commit.committed_on
69 assert_equal "2007-12-14 09:22:52".to_time, commit.committed_on
70 assert_equal "2007-12-14".to_date, commit.commit_date
70 assert_equal "2007-12-14".to_date, commit.commit_date
71 assert_equal "7234cb2750b63f47bff735edc50a1c0a433c2518", commit.revision
71 assert_equal "7234cb2750b63f47bff735edc50a1c0a433c2518", commit.revision
72 assert_equal "7234cb2750b63f47bff735edc50a1c0a433c2518", commit.scmid
72 assert_equal "7234cb2750b63f47bff735edc50a1c0a433c2518", commit.scmid
73 assert_equal 3, commit.changes.count
73 assert_equal 3, commit.changes.count
74 change = commit.changes.sort_by(&:path).first
74 change = commit.changes.sort_by(&:path).first
75 assert_equal "README", change.path
75 assert_equal "README", change.path
76 assert_equal "A", change.action
76 assert_equal "A", change.action
77 end
77 end
78
78
79 def test_fetch_changesets_incremental
79 def test_fetch_changesets_incremental
80 @repository.fetch_changesets
80 @repository.fetch_changesets
81 # Remove the 3 latest changesets
81 # Remove the 3 latest changesets
82 @repository.changesets.find(:all, :order => 'committed_on DESC', :limit => 8).each(&:destroy)
82 @repository.changesets.find(:all, :order => 'committed_on DESC', :limit => 8).each(&:destroy)
83 @repository.reload
83 @repository.reload
84 cs1 = @repository.changesets
84 cs1 = @repository.changesets
85 assert_equal 13, cs1.count
85 assert_equal 13, cs1.count
86
86
87 rev_a_commit = @repository.changesets.find(:first, :order => 'committed_on DESC')
87 rev_a_commit = @repository.changesets.find(:first, :order => 'committed_on DESC')
88 assert_equal '4f26664364207fa8b1af9f8722647ab2d4ac5d43', rev_a_commit.revision
88 assert_equal '4f26664364207fa8b1af9f8722647ab2d4ac5d43', rev_a_commit.revision
89 # Mon Jul 5 22:34:26 2010 +0200
89 # Mon Jul 5 22:34:26 2010 +0200
90 rev_a_committed_on = Time.gm(2010, 7, 5, 20, 34, 26)
90 rev_a_committed_on = Time.gm(2010, 7, 5, 20, 34, 26)
91 assert_equal '4f26664364207fa8b1af9f8722647ab2d4ac5d43', rev_a_commit.scmid
91 assert_equal '4f26664364207fa8b1af9f8722647ab2d4ac5d43', rev_a_commit.scmid
92 assert_equal rev_a_committed_on, rev_a_commit.committed_on
92 assert_equal rev_a_committed_on, rev_a_commit.committed_on
93 latest_rev = @repository.latest_changeset
93 latest_rev = @repository.latest_changeset
94 assert_equal rev_a_committed_on, latest_rev.committed_on
94 assert_equal rev_a_committed_on, latest_rev.committed_on
95
95
96 @repository.fetch_changesets
96 @repository.fetch_changesets
97 assert_equal 21, @repository.changesets.count
97 assert_equal 21, @repository.changesets.count
98 end
98 end
99
99
100 def test_latest_changesets
100 def test_latest_changesets
101 @repository.fetch_changesets
101 @repository.fetch_changesets
102 @repository.reload
102 @repository.reload
103 # with limit
103 # with limit
104 changesets = @repository.latest_changesets('', nil, 2)
104 changesets = @repository.latest_changesets('', nil, 2)
105 assert_equal 2, changesets.size
105 assert_equal 2, changesets.size
106
106
107 # with path
107 # with path
108 changesets = @repository.latest_changesets('images', nil)
108 changesets = @repository.latest_changesets('images', nil)
109 assert_equal [
109 assert_equal [
110 'deff712f05a90d96edbd70facc47d944be5897e3',
110 'deff712f05a90d96edbd70facc47d944be5897e3',
111 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
111 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
112 '7234cb2750b63f47bff735edc50a1c0a433c2518',
112 '7234cb2750b63f47bff735edc50a1c0a433c2518',
113 ], changesets.collect(&:revision)
113 ], changesets.collect(&:revision)
114
114
115 changesets = @repository.latest_changesets('README', nil)
115 changesets = @repository.latest_changesets('README', nil)
116 assert_equal [
116 assert_equal [
117 '32ae898b720c2f7eec2723d5bdd558b4cb2d3ddf',
117 '32ae898b720c2f7eec2723d5bdd558b4cb2d3ddf',
118 '4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8',
118 '4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8',
119 '713f4944648826f558cf548222f813dabe7cbb04',
119 '713f4944648826f558cf548222f813dabe7cbb04',
120 '61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
120 '61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
121 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
121 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
122 '7234cb2750b63f47bff735edc50a1c0a433c2518',
122 '7234cb2750b63f47bff735edc50a1c0a433c2518',
123 ], changesets.collect(&:revision)
123 ], changesets.collect(&:revision)
124
124
125 # with path, revision and limit
125 # with path, revision and limit
126 changesets = @repository.latest_changesets('images', '899a15dba')
126 changesets = @repository.latest_changesets('images', '899a15dba')
127 assert_equal [
127 assert_equal [
128 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
128 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
129 '7234cb2750b63f47bff735edc50a1c0a433c2518',
129 '7234cb2750b63f47bff735edc50a1c0a433c2518',
130 ], changesets.collect(&:revision)
130 ], changesets.collect(&:revision)
131
131
132 changesets = @repository.latest_changesets('images', '899a15dba', 1)
132 changesets = @repository.latest_changesets('images', '899a15dba', 1)
133 assert_equal [
133 assert_equal [
134 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
134 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
135 ], changesets.collect(&:revision)
135 ], changesets.collect(&:revision)
136
136
137 changesets = @repository.latest_changesets('README', '899a15dba')
137 changesets = @repository.latest_changesets('README', '899a15dba')
138 assert_equal [
138 assert_equal [
139 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
139 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
140 '7234cb2750b63f47bff735edc50a1c0a433c2518',
140 '7234cb2750b63f47bff735edc50a1c0a433c2518',
141 ], changesets.collect(&:revision)
141 ], changesets.collect(&:revision)
142
142
143 changesets = @repository.latest_changesets('README', '899a15dba', 1)
143 changesets = @repository.latest_changesets('README', '899a15dba', 1)
144 assert_equal [
144 assert_equal [
145 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
145 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
146 ], changesets.collect(&:revision)
146 ], changesets.collect(&:revision)
147
147
148 # with path, tag and limit
148 # with path, tag and limit
149 changesets = @repository.latest_changesets('images', 'tag01.annotated')
149 changesets = @repository.latest_changesets('images', 'tag01.annotated')
150 assert_equal [
150 assert_equal [
151 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
151 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
152 '7234cb2750b63f47bff735edc50a1c0a433c2518',
152 '7234cb2750b63f47bff735edc50a1c0a433c2518',
153 ], changesets.collect(&:revision)
153 ], changesets.collect(&:revision)
154
154
155 changesets = @repository.latest_changesets('images', 'tag01.annotated', 1)
155 changesets = @repository.latest_changesets('images', 'tag01.annotated', 1)
156 assert_equal [
156 assert_equal [
157 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
157 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
158 ], changesets.collect(&:revision)
158 ], changesets.collect(&:revision)
159
159
160 changesets = @repository.latest_changesets('README', 'tag01.annotated')
160 changesets = @repository.latest_changesets('README', 'tag01.annotated')
161 assert_equal [
161 assert_equal [
162 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
162 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
163 '7234cb2750b63f47bff735edc50a1c0a433c2518',
163 '7234cb2750b63f47bff735edc50a1c0a433c2518',
164 ], changesets.collect(&:revision)
164 ], changesets.collect(&:revision)
165
165
166 changesets = @repository.latest_changesets('README', 'tag01.annotated', 1)
166 changesets = @repository.latest_changesets('README', 'tag01.annotated', 1)
167 assert_equal [
167 assert_equal [
168 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
168 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
169 ], changesets.collect(&:revision)
169 ], changesets.collect(&:revision)
170
170
171 # with path, branch and limit
171 # with path, branch and limit
172 changesets = @repository.latest_changesets('images', 'test_branch')
172 changesets = @repository.latest_changesets('images', 'test_branch')
173 assert_equal [
173 assert_equal [
174 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
174 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
175 '7234cb2750b63f47bff735edc50a1c0a433c2518',
175 '7234cb2750b63f47bff735edc50a1c0a433c2518',
176 ], changesets.collect(&:revision)
176 ], changesets.collect(&:revision)
177
177
178 changesets = @repository.latest_changesets('images', 'test_branch', 1)
178 changesets = @repository.latest_changesets('images', 'test_branch', 1)
179 assert_equal [
179 assert_equal [
180 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
180 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
181 ], changesets.collect(&:revision)
181 ], changesets.collect(&:revision)
182
182
183 changesets = @repository.latest_changesets('README', 'test_branch')
183 changesets = @repository.latest_changesets('README', 'test_branch')
184 assert_equal [
184 assert_equal [
185 '713f4944648826f558cf548222f813dabe7cbb04',
185 '713f4944648826f558cf548222f813dabe7cbb04',
186 '61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
186 '61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
187 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
187 '899a15dba03a3b350b89c3f537e4bbe02a03cdc9',
188 '7234cb2750b63f47bff735edc50a1c0a433c2518',
188 '7234cb2750b63f47bff735edc50a1c0a433c2518',
189 ], changesets.collect(&:revision)
189 ], changesets.collect(&:revision)
190
190
191 changesets = @repository.latest_changesets('README', 'test_branch', 2)
191 changesets = @repository.latest_changesets('README', 'test_branch', 2)
192 assert_equal [
192 assert_equal [
193 '713f4944648826f558cf548222f813dabe7cbb04',
193 '713f4944648826f558cf548222f813dabe7cbb04',
194 '61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
194 '61b685fbe55ab05b5ac68402d5720c1a6ac973d1',
195 ], changesets.collect(&:revision)
195 ], changesets.collect(&:revision)
196
196
197 # latin-1 encoding path
197 # latin-1 encoding path
198 changesets = @repository.latest_changesets(
198 changesets = @repository.latest_changesets(
199 "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89')
199 "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89')
200 assert_equal [
200 assert_equal [
201 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
201 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
202 '4fc55c43bf3d3dc2efb66145365ddc17639ce81e',
202 '4fc55c43bf3d3dc2efb66145365ddc17639ce81e',
203 ], changesets.collect(&:revision)
203 ], changesets.collect(&:revision)
204
204
205 changesets = @repository.latest_changesets(
205 changesets = @repository.latest_changesets(
206 "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89', 1)
206 "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89', 1)
207 assert_equal [
207 assert_equal [
208 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
208 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d',
209 ], changesets.collect(&:revision)
209 ], changesets.collect(&:revision)
210 end
210 end
211
211
212 def test_latest_changesets_latin_1_dir
212 def test_latest_changesets_latin_1_dir
213 if WINDOWS_PASS
213 if WINDOWS_PASS
214 #
214 #
215 else
215 else
216 @repository.fetch_changesets
216 @repository.fetch_changesets
217 @repository.reload
217 @repository.reload
218 changesets = @repository.latest_changesets(
218 changesets = @repository.latest_changesets(
219 "latin-1-dir/test-#{@char_1}-subdir", '1ca7f5ed')
219 "latin-1-dir/test-#{@char_1}-subdir", '1ca7f5ed')
220 assert_equal [
220 assert_equal [
221 '1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127',
221 '1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127',
222 ], changesets.collect(&:revision)
222 ], changesets.collect(&:revision)
223 end
223 end
224 end
224 end
225
225
226 def test_find_changeset_by_name
226 def test_find_changeset_by_name
227 @repository.fetch_changesets
227 @repository.fetch_changesets
228 @repository.reload
228 @repository.reload
229 ['7234cb2750b63f47bff735edc50a1c0a433c2518', '7234cb2750b'].each do |r|
229 ['7234cb2750b63f47bff735edc50a1c0a433c2518', '7234cb2750b'].each do |r|
230 assert_equal '7234cb2750b63f47bff735edc50a1c0a433c2518',
230 assert_equal '7234cb2750b63f47bff735edc50a1c0a433c2518',
231 @repository.find_changeset_by_name(r).revision
231 @repository.find_changeset_by_name(r).revision
232 end
232 end
233 end
233 end
234
234
235 def test_find_changeset_by_empty_name
235 def test_find_changeset_by_empty_name
236 @repository.fetch_changesets
236 @repository.fetch_changesets
237 @repository.reload
237 @repository.reload
238 ['', ' ', nil].each do |r|
238 ['', ' ', nil].each do |r|
239 assert_nil @repository.find_changeset_by_name(r)
239 assert_nil @repository.find_changeset_by_name(r)
240 end
240 end
241 end
241 end
242
242
243 def test_identifier
243 def test_identifier
244 @repository.fetch_changesets
244 @repository.fetch_changesets
245 @repository.reload
245 @repository.reload
246 c = @repository.changesets.find_by_revision('7234cb2750b63f47bff735edc50a1c0a433c2518')
246 c = @repository.changesets.find_by_revision('7234cb2750b63f47bff735edc50a1c0a433c2518')
247 assert_equal c.scmid, c.identifier
247 assert_equal c.scmid, c.identifier
248 end
248 end
249
249
250 def test_format_identifier
250 def test_format_identifier
251 @repository.fetch_changesets
251 @repository.fetch_changesets
252 @repository.reload
252 @repository.reload
253 c = @repository.changesets.find_by_revision('7234cb2750b63f47bff735edc50a1c0a433c2518')
253 c = @repository.changesets.find_by_revision('7234cb2750b63f47bff735edc50a1c0a433c2518')
254 assert_equal '7234cb27', c.format_identifier
254 assert_equal '7234cb27', c.format_identifier
255 end
255 end
256
256
257 def test_activities
257 def test_activities
258 c = Changeset.new(:repository => @repository,
258 c = Changeset.new(:repository => @repository,
259 :committed_on => Time.now,
259 :committed_on => Time.now,
260 :revision => 'abc7234cb2750b63f47bff735edc50a1c0a433c2',
260 :revision => 'abc7234cb2750b63f47bff735edc50a1c0a433c2',
261 :scmid => 'abc7234cb2750b63f47bff735edc50a1c0a433c2',
261 :scmid => 'abc7234cb2750b63f47bff735edc50a1c0a433c2',
262 :comments => 'test')
262 :comments => 'test')
263 assert c.event_title.include?('abc7234c:')
263 assert c.event_title.include?('abc7234c:')
264 assert_equal 'abc7234cb2750b63f47bff735edc50a1c0a433c2', c.event_url[:rev]
264 assert_equal 'abc7234cb2750b63f47bff735edc50a1c0a433c2', c.event_url[:rev]
265 end
265 end
266
266
267 def test_log_utf8
267 def test_log_utf8
268 @repository.fetch_changesets
268 @repository.fetch_changesets
269 @repository.reload
269 @repository.reload
270 str_felix_hex = FELIX_HEX.dup
270 str_felix_hex = FELIX_HEX.dup
271 if str_felix_hex.respond_to?(:force_encoding)
271 if str_felix_hex.respond_to?(:force_encoding)
272 str_felix_hex.force_encoding('UTF-8')
272 str_felix_hex.force_encoding('UTF-8')
273 end
273 end
274 c = @repository.changesets.find_by_revision('ed5bb786bbda2dee66a2d50faf51429dbc043a7b')
274 c = @repository.changesets.find_by_revision('ed5bb786bbda2dee66a2d50faf51429dbc043a7b')
275 assert_equal "#{str_felix_hex} <felix@fachschaften.org>", c.committer
275 assert_equal "#{str_felix_hex} <felix@fachschaften.org>", c.committer
276 end
276 end
277
277
278 def test_previous
278 def test_previous
279 @repository.fetch_changesets
279 @repository.fetch_changesets
280 @repository.reload
280 @repository.reload
281 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1|
281 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1|
282 changeset = @repository.find_changeset_by_name(r1)
282 changeset = @repository.find_changeset_by_name(r1)
283 %w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2|
283 %w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2|
284 assert_equal @repository.find_changeset_by_name(r2), changeset.previous
284 assert_equal @repository.find_changeset_by_name(r2), changeset.previous
285 end
285 end
286 end
286 end
287 end
287 end
288
288
289 def test_previous_nil
289 def test_previous_nil
290 @repository.fetch_changesets
290 @repository.fetch_changesets
291 @repository.reload
291 @repository.reload
292 %w|7234cb2750b63f47bff735edc50a1c0a433c2518 7234cb2|.each do |r1|
292 %w|7234cb2750b63f47bff735edc50a1c0a433c2518 7234cb2|.each do |r1|
293 changeset = @repository.find_changeset_by_name(r1)
293 changeset = @repository.find_changeset_by_name(r1)
294 assert_nil changeset.previous
294 assert_nil changeset.previous
295 end
295 end
296 end
296 end
297
297
298 def test_next
298 def test_next
299 @repository.fetch_changesets
299 @repository.fetch_changesets
300 @repository.reload
300 @repository.reload
301 %w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2|
301 %w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2|
302 changeset = @repository.find_changeset_by_name(r2)
302 changeset = @repository.find_changeset_by_name(r2)
303 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1|
303 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1|
304 assert_equal @repository.find_changeset_by_name(r1), changeset.next
304 assert_equal @repository.find_changeset_by_name(r1), changeset.next
305 end
305 end
306 end
306 end
307 end
307 end
308
308
309 def test_next_nil
309 def test_next_nil
310 @repository.fetch_changesets
310 @repository.fetch_changesets
311 @repository.reload
311 @repository.reload
312 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1|
312 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1|
313 changeset = @repository.find_changeset_by_name(r1)
313 changeset = @repository.find_changeset_by_name(r1)
314 assert_nil changeset.next
314 assert_nil changeset.next
315 end
315 end
316 end
316 end
317 else
317 else
318 puts "Git test repository NOT FOUND. Skipping unit tests !!!"
318 puts "Git test repository NOT FOUND. Skipping unit tests !!!"
319 def test_fake; assert true end
319 def test_fake; assert true end
320 end
320 end
321 end
321 end
General Comments 0
You need to be logged in to leave comments. Login now