Mercurial > hg > soundsoftware-site
comparison test/unit/repository_git_test.rb @ 909:cbb26bc654de redmine-1.3
Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author | Chris Cannam |
---|---|
date | Fri, 24 Feb 2012 19:09:32 +0000 |
parents | cbce1fd3b1b7 |
children | 433d4f72a19b |
comparison
equal
deleted
inserted
replaced
908:c6c2cbd0afee | 909:cbb26bc654de |
---|---|
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 REPOSITORY_PATH = Rails.root.join('tmp/test/git_repository').to_s |
24 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/git_repository' | |
25 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin? | 24 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin? |
25 | |
26 NUM_REV = 21 | |
26 | 27 |
27 FELIX_HEX = "Felix Sch\xC3\xA4fer" | 28 FELIX_HEX = "Felix Sch\xC3\xA4fer" |
28 CHAR_1_HEX = "\xc3\x9c" | 29 CHAR_1_HEX = "\xc3\x9c" |
29 | 30 |
30 ## Ruby uses ANSI api to fork a process on Windows. | 31 ## Ruby uses ANSI api to fork a process on Windows. |
31 ## Japanese Shift_JIS and Traditional Chinese Big5 have 0x5c(backslash) problem | 32 ## Japanese Shift_JIS and Traditional Chinese Big5 have 0x5c(backslash) problem |
32 ## and these are incompatible with ASCII. | 33 ## and these are incompatible with ASCII. |
33 # WINDOWS_PASS = Redmine::Platform.mswin? | 34 # WINDOWS_PASS = Redmine::Platform.mswin? |
34 WINDOWS_PASS = false | 35 WINDOWS_PASS = false |
36 | |
37 ## Git, Mercurial and CVS path encodings are binary. | |
38 ## Subversion supports URL encoding for path. | |
39 ## Redmine Mercurial adapter and extension use URL encoding. | |
40 ## Git accepts only binary path in command line parameter. | |
41 ## So, there is no way to use binary command line parameter in JRuby. | |
42 JRUBY_SKIP = (RUBY_PLATFORM == 'java') | |
43 JRUBY_SKIP_STR = "TODO: This test fails in JRuby" | |
35 | 44 |
36 if File.directory?(REPOSITORY_PATH) | 45 if File.directory?(REPOSITORY_PATH) |
37 def setup | 46 def setup |
38 klass = Repository::Git | 47 klass = Repository::Git |
39 assert_equal "Git", klass.scm_name | 48 assert_equal "Git", klass.scm_name |
55 end | 64 end |
56 | 65 |
57 def test_fetch_changesets_from_scratch | 66 def test_fetch_changesets_from_scratch |
58 assert_nil @repository.extra_info | 67 assert_nil @repository.extra_info |
59 | 68 |
60 @repository.fetch_changesets | 69 assert_equal 0, @repository.changesets.count |
61 @repository.reload | 70 @repository.fetch_changesets |
62 | 71 @project.reload |
63 assert_equal 21, @repository.changesets.count | 72 |
73 assert_equal NUM_REV, @repository.changesets.count | |
64 assert_equal 33, @repository.changes.count | 74 assert_equal 33, @repository.changes.count |
65 | 75 |
66 commit = @repository.changesets.find(:first, :order => 'committed_on ASC') | 76 commit = @repository.changesets.find(:first, :order => 'committed_on ASC') |
67 assert_equal "Initial import.\nThe repository contains 3 files.", commit.comments | 77 assert_equal "Initial import.\nThe repository contains 3 files.", commit.comments |
68 assert_equal "jsmith <jsmith@foo.bar>", commit.committer | 78 assert_equal "jsmith <jsmith@foo.bar>", commit.committer |
79 | 89 |
80 assert_equal 4, @repository.extra_info["branches"].size | 90 assert_equal 4, @repository.extra_info["branches"].size |
81 end | 91 end |
82 | 92 |
83 def test_fetch_changesets_incremental | 93 def test_fetch_changesets_incremental |
84 @repository.fetch_changesets | 94 assert_equal 0, @repository.changesets.count |
85 @repository.reload | 95 @repository.fetch_changesets |
86 assert_equal 21, @repository.changesets.count | 96 @project.reload |
97 assert_equal NUM_REV, @repository.changesets.count | |
87 assert_equal 33, @repository.changes.count | 98 assert_equal 33, @repository.changes.count |
88 extra_info_db = @repository.extra_info["branches"] | 99 extra_info_db = @repository.extra_info["branches"] |
89 assert_equal 4, extra_info_db.size | 100 assert_equal 4, extra_info_db.size |
90 assert_equal "1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127", | 101 assert_equal "1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127", |
91 extra_info_db["latin-1-path-encoding"]["last_scmid"] | 102 extra_info_db["latin-1-path-encoding"]["last_scmid"] |
101 "7e61ac704deecde634b51e59daa8110435dcb3da", | 112 "7e61ac704deecde634b51e59daa8110435dcb3da", |
102 ] | 113 ] |
103 @repository.changesets.each do |rev| | 114 @repository.changesets.each do |rev| |
104 rev.destroy if del_revs.detect {|r| r == rev.scmid.to_s } | 115 rev.destroy if del_revs.detect {|r| r == rev.scmid.to_s } |
105 end | 116 end |
106 @repository.reload | 117 @project.reload |
107 cs1 = @repository.changesets | 118 cs1 = @repository.changesets |
108 assert_equal 15, cs1.count | 119 assert_equal 15, cs1.count |
109 h = @repository.extra_info.dup | 120 h = @repository.extra_info.dup |
110 h["branches"]["master"]["last_scmid"] = | 121 h["branches"]["master"]["last_scmid"] = |
111 "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8" | 122 "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8" |
112 @repository.merge_extra_info(h) | 123 @repository.merge_extra_info(h) |
113 @repository.save | 124 @repository.save |
114 @repository.reload | 125 @project.reload |
115 extra_info_db_1 = @repository.extra_info["branches"] | 126 extra_info_db_1 = @repository.extra_info["branches"] |
116 assert_equal "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8", | 127 assert_equal "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8", |
117 extra_info_db_1["master"]["last_scmid"] | 128 extra_info_db_1["master"]["last_scmid"] |
118 | 129 |
119 @repository.fetch_changesets | 130 @repository.fetch_changesets |
120 assert_equal 21, @repository.changesets.count | 131 @project.reload |
132 assert_equal NUM_REV, @repository.changesets.count | |
121 end | 133 end |
122 | 134 |
123 def test_fetch_changesets_invalid_rev | 135 def test_fetch_changesets_invalid_rev |
124 @repository.fetch_changesets | 136 assert_equal 0, @repository.changesets.count |
125 @repository.reload | 137 @repository.fetch_changesets |
126 assert_equal 21, @repository.changesets.count | 138 @project.reload |
127 assert_equal 33, @repository.changes.count | 139 assert_equal NUM_REV, @repository.changesets.count |
128 extra_info_db = @repository.extra_info["branches"] | 140 extra_info_db = @repository.extra_info["branches"] |
129 assert_equal 4, extra_info_db.size | 141 assert_equal 4, extra_info_db.size |
130 assert_equal "1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127", | 142 assert_equal "1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127", |
131 extra_info_db["latin-1-path-encoding"]["last_scmid"] | 143 extra_info_db["latin-1-path-encoding"]["last_scmid"] |
132 assert_equal "83ca5fd546063a3c7dc2e568ba3355661a9e2b2c", | 144 assert_equal "83ca5fd546063a3c7dc2e568ba3355661a9e2b2c", |
141 "7e61ac704deecde634b51e59daa8110435dcb3da", | 153 "7e61ac704deecde634b51e59daa8110435dcb3da", |
142 ] | 154 ] |
143 @repository.changesets.each do |rev| | 155 @repository.changesets.each do |rev| |
144 rev.destroy if del_revs.detect {|r| r == rev.scmid.to_s } | 156 rev.destroy if del_revs.detect {|r| r == rev.scmid.to_s } |
145 end | 157 end |
146 @repository.reload | 158 @project.reload |
147 cs1 = @repository.changesets | 159 cs1 = @repository.changesets |
148 assert_equal 15, cs1.count | 160 assert_equal 15, cs1.count |
149 h = @repository.extra_info.dup | 161 h = @repository.extra_info.dup |
150 h["branches"]["master"]["last_scmid"] = | 162 h["branches"]["master"]["last_scmid"] = |
151 "abcd1234efgh" | 163 "abcd1234efgh" |
152 @repository.merge_extra_info(h) | 164 @repository.merge_extra_info(h) |
153 @repository.save | 165 @repository.save |
154 @repository.reload | 166 @project.reload |
155 extra_info_db_1 = @repository.extra_info["branches"] | 167 extra_info_db_1 = @repository.extra_info["branches"] |
156 assert_equal "abcd1234efgh", | 168 assert_equal "abcd1234efgh", |
157 extra_info_db_1["master"]["last_scmid"] | 169 extra_info_db_1["master"]["last_scmid"] |
158 | 170 |
159 @repository.fetch_changesets | 171 @repository.fetch_changesets |
172 @project.reload | |
160 assert_equal 15, @repository.changesets.count | 173 assert_equal 15, @repository.changesets.count |
174 end | |
175 | |
176 def test_parents | |
177 assert_equal 0, @repository.changesets.count | |
178 @repository.fetch_changesets | |
179 @project.reload | |
180 assert_equal NUM_REV, @repository.changesets.count | |
181 r1 = @repository.find_changeset_by_name("7234cb2750b63") | |
182 assert_equal [], r1.parents | |
183 r2 = @repository.find_changeset_by_name("899a15dba03a3") | |
184 assert_equal 1, r2.parents.length | |
185 assert_equal "7234cb2750b63f47bff735edc50a1c0a433c2518", | |
186 r2.parents[0].identifier | |
187 r3 = @repository.find_changeset_by_name("32ae898b720c2") | |
188 assert_equal 2, r3.parents.length | |
189 r4 = [r3.parents[0].identifier, r3.parents[1].identifier].sort | |
190 assert_equal "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8", r4[0] | |
191 assert_equal "7e61ac704deecde634b51e59daa8110435dcb3da", r4[1] | |
161 end | 192 end |
162 | 193 |
163 def test_db_consistent_ordering_init | 194 def test_db_consistent_ordering_init |
164 assert_nil @repository.extra_info | 195 assert_nil @repository.extra_info |
165 @repository.fetch_changesets | 196 assert_equal 0, @repository.changesets.count |
166 @repository.reload | 197 @repository.fetch_changesets |
198 @project.reload | |
167 assert_equal 1, @repository.extra_info["db_consistent"]["ordering"] | 199 assert_equal 1, @repository.extra_info["db_consistent"]["ordering"] |
168 end | 200 end |
169 | 201 |
170 def test_db_consistent_ordering_before_1_2 | 202 def test_db_consistent_ordering_before_1_2 |
171 assert_nil @repository.extra_info | 203 assert_nil @repository.extra_info |
172 @repository.fetch_changesets | 204 assert_equal 0, @repository.changesets.count |
173 @repository.reload | 205 @repository.fetch_changesets |
174 assert_equal 21, @repository.changesets.count | 206 @project.reload |
207 assert_equal NUM_REV, @repository.changesets.count | |
175 assert_not_nil @repository.extra_info | 208 assert_not_nil @repository.extra_info |
176 @repository.write_attribute(:extra_info, nil) | 209 @repository.write_attribute(:extra_info, nil) |
177 @repository.save | 210 @repository.save |
178 assert_nil @repository.extra_info | 211 assert_nil @repository.extra_info |
179 assert_equal 21, @repository.changesets.count | 212 assert_equal NUM_REV, @repository.changesets.count |
180 @repository.fetch_changesets | 213 @repository.fetch_changesets |
181 @repository.reload | 214 @project.reload |
182 assert_equal 0, @repository.extra_info["db_consistent"]["ordering"] | 215 assert_equal 0, @repository.extra_info["db_consistent"]["ordering"] |
183 | 216 |
184 del_revs = [ | 217 del_revs = [ |
185 "83ca5fd546063a3c7dc2e568ba3355661a9e2b2c", | 218 "83ca5fd546063a3c7dc2e568ba3355661a9e2b2c", |
186 "ed5bb786bbda2dee66a2d50faf51429dbc043a7b", | 219 "ed5bb786bbda2dee66a2d50faf51429dbc043a7b", |
190 "7e61ac704deecde634b51e59daa8110435dcb3da", | 223 "7e61ac704deecde634b51e59daa8110435dcb3da", |
191 ] | 224 ] |
192 @repository.changesets.each do |rev| | 225 @repository.changesets.each do |rev| |
193 rev.destroy if del_revs.detect {|r| r == rev.scmid.to_s } | 226 rev.destroy if del_revs.detect {|r| r == rev.scmid.to_s } |
194 end | 227 end |
195 @repository.reload | 228 @project.reload |
196 cs1 = @repository.changesets | 229 cs1 = @repository.changesets |
197 assert_equal 15, cs1.count | 230 assert_equal 15, cs1.count |
198 assert_equal 0, @repository.extra_info["db_consistent"]["ordering"] | 231 assert_equal 0, @repository.extra_info["db_consistent"]["ordering"] |
199 h = @repository.extra_info.dup | 232 h = @repository.extra_info.dup |
200 h["branches"]["master"]["last_scmid"] = | 233 h["branches"]["master"]["last_scmid"] = |
201 "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8" | 234 "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8" |
202 @repository.merge_extra_info(h) | 235 @repository.merge_extra_info(h) |
203 @repository.save | 236 @repository.save |
204 @repository.reload | 237 @project.reload |
205 extra_info_db_1 = @repository.extra_info["branches"] | 238 extra_info_db_1 = @repository.extra_info["branches"] |
206 assert_equal "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8", | 239 assert_equal "4a07fe31bffcf2888791f3e6cbc9c4545cefe3e8", |
207 extra_info_db_1["master"]["last_scmid"] | 240 extra_info_db_1["master"]["last_scmid"] |
208 | 241 |
209 @repository.fetch_changesets | 242 @repository.fetch_changesets |
210 assert_equal 21, @repository.changesets.count | 243 assert_equal NUM_REV, @repository.changesets.count |
211 assert_equal 0, @repository.extra_info["db_consistent"]["ordering"] | 244 assert_equal 0, @repository.extra_info["db_consistent"]["ordering"] |
212 end | 245 end |
213 | 246 |
214 def test_latest_changesets | 247 def test_latest_changesets |
215 @repository.fetch_changesets | 248 assert_equal 0, @repository.changesets.count |
216 @repository.reload | 249 @repository.fetch_changesets |
250 @project.reload | |
251 assert_equal NUM_REV, @repository.changesets.count | |
217 # with limit | 252 # with limit |
218 changesets = @repository.latest_changesets('', nil, 2) | 253 changesets = @repository.latest_changesets('', nil, 2) |
219 assert_equal 2, changesets.size | 254 assert_equal 2, changesets.size |
220 | 255 |
221 # with path | 256 # with path |
306 assert_equal [ | 341 assert_equal [ |
307 '713f4944648826f558cf548222f813dabe7cbb04', | 342 '713f4944648826f558cf548222f813dabe7cbb04', |
308 '61b685fbe55ab05b5ac68402d5720c1a6ac973d1', | 343 '61b685fbe55ab05b5ac68402d5720c1a6ac973d1', |
309 ], changesets.collect(&:revision) | 344 ], changesets.collect(&:revision) |
310 | 345 |
311 # latin-1 encoding path | 346 if JRUBY_SKIP |
312 changesets = @repository.latest_changesets( | 347 puts JRUBY_SKIP_STR |
313 "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89') | 348 else |
314 assert_equal [ | 349 # latin-1 encoding path |
350 changesets = @repository.latest_changesets( | |
351 "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89') | |
352 assert_equal [ | |
315 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d', | 353 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d', |
316 '4fc55c43bf3d3dc2efb66145365ddc17639ce81e', | 354 '4fc55c43bf3d3dc2efb66145365ddc17639ce81e', |
317 ], changesets.collect(&:revision) | 355 ], changesets.collect(&:revision) |
318 | 356 |
319 changesets = @repository.latest_changesets( | 357 changesets = @repository.latest_changesets( |
320 "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89', 1) | 358 "latin-1-dir/test-#{@char_1}-2.txt", '64f1f3e89', 1) |
321 assert_equal [ | 359 assert_equal [ |
322 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d', | 360 '64f1f3e89ad1cb57976ff0ad99a107012ba3481d', |
323 ], changesets.collect(&:revision) | 361 ], changesets.collect(&:revision) |
362 end | |
324 end | 363 end |
325 | 364 |
326 def test_latest_changesets_latin_1_dir | 365 def test_latest_changesets_latin_1_dir |
327 if WINDOWS_PASS | 366 if WINDOWS_PASS |
328 # | 367 # |
368 elsif JRUBY_SKIP | |
369 puts JRUBY_SKIP_STR | |
329 else | 370 else |
371 assert_equal 0, @repository.changesets.count | |
330 @repository.fetch_changesets | 372 @repository.fetch_changesets |
331 @repository.reload | 373 @project.reload |
374 assert_equal NUM_REV, @repository.changesets.count | |
332 changesets = @repository.latest_changesets( | 375 changesets = @repository.latest_changesets( |
333 "latin-1-dir/test-#{@char_1}-subdir", '1ca7f5ed') | 376 "latin-1-dir/test-#{@char_1}-subdir", '1ca7f5ed') |
334 assert_equal [ | 377 assert_equal [ |
335 '1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127', | 378 '1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127', |
336 ], changesets.collect(&:revision) | 379 ], changesets.collect(&:revision) |
337 end | 380 end |
338 end | 381 end |
339 | 382 |
340 def test_find_changeset_by_name | 383 def test_find_changeset_by_name |
341 @repository.fetch_changesets | 384 assert_equal 0, @repository.changesets.count |
342 @repository.reload | 385 @repository.fetch_changesets |
386 @project.reload | |
387 assert_equal NUM_REV, @repository.changesets.count | |
343 ['7234cb2750b63f47bff735edc50a1c0a433c2518', '7234cb2750b'].each do |r| | 388 ['7234cb2750b63f47bff735edc50a1c0a433c2518', '7234cb2750b'].each do |r| |
344 assert_equal '7234cb2750b63f47bff735edc50a1c0a433c2518', | 389 assert_equal '7234cb2750b63f47bff735edc50a1c0a433c2518', |
345 @repository.find_changeset_by_name(r).revision | 390 @repository.find_changeset_by_name(r).revision |
346 end | 391 end |
347 end | 392 end |
348 | 393 |
349 def test_find_changeset_by_empty_name | 394 def test_find_changeset_by_empty_name |
350 @repository.fetch_changesets | 395 assert_equal 0, @repository.changesets.count |
351 @repository.reload | 396 @repository.fetch_changesets |
397 @project.reload | |
398 assert_equal NUM_REV, @repository.changesets.count | |
352 ['', ' ', nil].each do |r| | 399 ['', ' ', nil].each do |r| |
353 assert_nil @repository.find_changeset_by_name(r) | 400 assert_nil @repository.find_changeset_by_name(r) |
354 end | 401 end |
355 end | 402 end |
356 | 403 |
357 def test_identifier | 404 def test_identifier |
358 @repository.fetch_changesets | 405 assert_equal 0, @repository.changesets.count |
359 @repository.reload | 406 @repository.fetch_changesets |
407 @project.reload | |
408 assert_equal NUM_REV, @repository.changesets.count | |
360 c = @repository.changesets.find_by_revision( | 409 c = @repository.changesets.find_by_revision( |
361 '7234cb2750b63f47bff735edc50a1c0a433c2518') | 410 '7234cb2750b63f47bff735edc50a1c0a433c2518') |
362 assert_equal c.scmid, c.identifier | 411 assert_equal c.scmid, c.identifier |
363 end | 412 end |
364 | 413 |
365 def test_format_identifier | 414 def test_format_identifier |
366 @repository.fetch_changesets | 415 assert_equal 0, @repository.changesets.count |
367 @repository.reload | 416 @repository.fetch_changesets |
417 @project.reload | |
418 assert_equal NUM_REV, @repository.changesets.count | |
368 c = @repository.changesets.find_by_revision( | 419 c = @repository.changesets.find_by_revision( |
369 '7234cb2750b63f47bff735edc50a1c0a433c2518') | 420 '7234cb2750b63f47bff735edc50a1c0a433c2518') |
370 assert_equal '7234cb27', c.format_identifier | 421 assert_equal '7234cb27', c.format_identifier |
371 end | 422 end |
372 | 423 |
379 assert c.event_title.include?('abc7234c:') | 430 assert c.event_title.include?('abc7234c:') |
380 assert_equal 'abc7234cb2750b63f47bff735edc50a1c0a433c2', c.event_url[:rev] | 431 assert_equal 'abc7234cb2750b63f47bff735edc50a1c0a433c2', c.event_url[:rev] |
381 end | 432 end |
382 | 433 |
383 def test_log_utf8 | 434 def test_log_utf8 |
384 @repository.fetch_changesets | 435 assert_equal 0, @repository.changesets.count |
385 @repository.reload | 436 @repository.fetch_changesets |
437 @project.reload | |
438 assert_equal NUM_REV, @repository.changesets.count | |
386 str_felix_hex = FELIX_HEX.dup | 439 str_felix_hex = FELIX_HEX.dup |
387 if str_felix_hex.respond_to?(:force_encoding) | 440 if str_felix_hex.respond_to?(:force_encoding) |
388 str_felix_hex.force_encoding('UTF-8') | 441 str_felix_hex.force_encoding('UTF-8') |
389 end | 442 end |
390 c = @repository.changesets.find_by_revision( | 443 c = @repository.changesets.find_by_revision( |
391 'ed5bb786bbda2dee66a2d50faf51429dbc043a7b') | 444 'ed5bb786bbda2dee66a2d50faf51429dbc043a7b') |
392 assert_equal "#{str_felix_hex} <felix@fachschaften.org>", c.committer | 445 assert_equal "#{str_felix_hex} <felix@fachschaften.org>", c.committer |
393 end | 446 end |
394 | 447 |
395 def test_previous | 448 def test_previous |
396 @repository.fetch_changesets | 449 assert_equal 0, @repository.changesets.count |
397 @repository.reload | 450 @repository.fetch_changesets |
451 @project.reload | |
452 assert_equal NUM_REV, @repository.changesets.count | |
398 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1| | 453 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1| |
399 changeset = @repository.find_changeset_by_name(r1) | 454 changeset = @repository.find_changeset_by_name(r1) |
400 %w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2| | 455 %w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2| |
401 assert_equal @repository.find_changeset_by_name(r2), changeset.previous | 456 assert_equal @repository.find_changeset_by_name(r2), changeset.previous |
402 end | 457 end |
403 end | 458 end |
404 end | 459 end |
405 | 460 |
406 def test_previous_nil | 461 def test_previous_nil |
407 @repository.fetch_changesets | 462 assert_equal 0, @repository.changesets.count |
408 @repository.reload | 463 @repository.fetch_changesets |
464 @project.reload | |
465 assert_equal NUM_REV, @repository.changesets.count | |
409 %w|7234cb2750b63f47bff735edc50a1c0a433c2518 7234cb2|.each do |r1| | 466 %w|7234cb2750b63f47bff735edc50a1c0a433c2518 7234cb2|.each do |r1| |
410 changeset = @repository.find_changeset_by_name(r1) | 467 changeset = @repository.find_changeset_by_name(r1) |
411 assert_nil changeset.previous | 468 assert_nil changeset.previous |
412 end | 469 end |
413 end | 470 end |
414 | 471 |
415 def test_next | 472 def test_next |
416 @repository.fetch_changesets | 473 assert_equal 0, @repository.changesets.count |
417 @repository.reload | 474 @repository.fetch_changesets |
475 @project.reload | |
476 assert_equal NUM_REV, @repository.changesets.count | |
418 %w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2| | 477 %w|64f1f3e89ad1cb57976ff0ad99a107012ba3481d 64f1f3e89ad1|.each do |r2| |
419 changeset = @repository.find_changeset_by_name(r2) | 478 changeset = @repository.find_changeset_by_name(r2) |
420 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1| | 479 %w|1ca7f5ed374f3cb31a93ae5215c2e25cc6ec5127 1ca7f5ed|.each do |r1| |
421 assert_equal @repository.find_changeset_by_name(r1), changeset.next | 480 assert_equal @repository.find_changeset_by_name(r1), changeset.next |
422 end | 481 end |
423 end | 482 end |
424 end | 483 end |
425 | 484 |
426 def test_next_nil | 485 def test_next_nil |
427 @repository.fetch_changesets | 486 assert_equal 0, @repository.changesets.count |
428 @repository.reload | 487 @repository.fetch_changesets |
488 @project.reload | |
489 assert_equal NUM_REV, @repository.changesets.count | |
429 %w|67e7792ce20ccae2e4bb73eed09bb397819c8834 67e7792ce20cca|.each do |r1| | 490 %w|67e7792ce20ccae2e4bb73eed09bb397819c8834 67e7792ce20cca|.each do |r1| |
430 changeset = @repository.find_changeset_by_name(r1) | 491 changeset = @repository.find_changeset_by_name(r1) |
431 assert_nil changeset.next | 492 assert_nil changeset.next |
432 end | 493 end |
433 end | 494 end |