comparison test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb @ 1517:dffacf8a6908 redmine-2.5

Update to Redmine SVN revision 13367 on 2.5-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:29:00 +0100
parents e248c7af89ec
children fb9a13467253
comparison
equal deleted inserted replaced
1516:b450a9d58aed 1517:dffacf8a6908
88 REPOSITORY_PATH + "//"].each do |repo| 88 REPOSITORY_PATH + "//"].each do |repo|
89 adp = Redmine::Scm::Adapters::MercurialAdapter.new(repo) 89 adp = Redmine::Scm::Adapters::MercurialAdapter.new(repo)
90 repo_path = adp.info.root_url.gsub(/\\/, "/") 90 repo_path = adp.info.root_url.gsub(/\\/, "/")
91 assert_equal REPOSITORY_PATH, repo_path 91 assert_equal REPOSITORY_PATH, repo_path
92 assert_equal '33', adp.info.lastrev.revision 92 assert_equal '33', adp.info.lastrev.revision
93 assert_equal '2e6d54642923',adp.info.lastrev.scmid 93 assert_equal '2e6d546429230f377d7d19c2078abd2dd909f235',adp.info.lastrev.scmid
94 end 94 end
95 end 95 end
96 96
97 def test_revisions 97 def test_revisions
98 revisions = @adapter.revisions(nil, 2, 4) 98 revisions = @adapter.revisions(nil, 2, 4)
99 assert_equal 3, revisions.size 99 assert_equal 3, revisions.size
100 assert_equal '2', revisions[0].revision 100 assert_equal '2', revisions[0].revision
101 assert_equal '400bb8672109', revisions[0].scmid 101 assert_equal '400bb86721098697c7d17b3724c794c57636de70', revisions[0].scmid
102 assert_equal '4', revisions[2].revision 102 assert_equal '4', revisions[2].revision
103 assert_equal 'def6d2f1254a', revisions[2].scmid 103 assert_equal 'def6d2f1254a56fb8fbe9ec3b5c0451674dbd8b8', revisions[2].scmid
104 104
105 revisions = @adapter.revisions(nil, 2, 4, {:limit => 2}) 105 revisions = @adapter.revisions(nil, 2, 4, {:limit => 2})
106 assert_equal 2, revisions.size 106 assert_equal 2, revisions.size
107 assert_equal '2', revisions[0].revision 107 assert_equal '2', revisions[0].revision
108 assert_equal '400bb8672109', revisions[0].scmid 108 assert_equal '400bb86721098697c7d17b3724c794c57636de70', revisions[0].scmid
109 end 109 end
110 110
111 def test_parents 111 def test_parents
112 revs1 = @adapter.revisions(nil, 0, 0) 112 revs1 = @adapter.revisions(nil, 0, 0)
113 assert_equal 1, revs1.size 113 assert_equal 1, revs1.size
114 assert_equal [], revs1[0].parents 114 assert_equal [], revs1[0].parents
115 revs2 = @adapter.revisions(nil, 1, 1) 115 revs2 = @adapter.revisions(nil, 1, 1)
116 assert_equal 1, revs2.size 116 assert_equal 1, revs2.size
117 assert_equal 1, revs2[0].parents.size 117 assert_equal 1, revs2[0].parents.size
118 assert_equal "0885933ad4f6", revs2[0].parents[0] 118 assert_equal "0885933ad4f68d77c2649cd11f8311276e7ef7ce", revs2[0].parents[0]
119 revs3 = @adapter.revisions(nil, 30, 30) 119 revs3 = @adapter.revisions(nil, 30, 30)
120 assert_equal 1, revs3.size 120 assert_equal 1, revs3.size
121 assert_equal 2, revs3[0].parents.size 121 assert_equal 2, revs3[0].parents.size
122 assert_equal "a94b0528f24f", revs3[0].parents[0] 122 assert_equal "a94b0528f24fe05ebaef496ae0500bb050772e36", revs3[0].parents[0]
123 assert_equal "3a330eb32958", revs3[0].parents[1] 123 assert_equal "3a330eb329586ea2adb3f83237c23310e744ebe9", revs3[0].parents[1]
124 end 124 end
125 125
126 def test_diff 126 def test_diff
127 if @adapter.class.client_version_above?([1, 2]) 127 if @adapter.class.client_version_above?([1, 2])
128 assert_nil @adapter.diff(nil, '100000') 128 assert_nil @adapter.diff(nil, '100000')
211 assert_equal 'README', readme.name 211 assert_equal 'README', readme.name
212 assert_equal 'README', readme.path 212 assert_equal 'README', readme.path
213 assert_equal 'file', readme.kind 213 assert_equal 'file', readme.kind
214 assert_equal 27, readme.size 214 assert_equal 27, readme.size
215 assert_equal '1', readme.lastrev.revision 215 assert_equal '1', readme.lastrev.revision
216 assert_equal '9d5b5b004199', readme.lastrev.identifier 216 assert_equal '9d5b5b00419901478496242e0768deba1ce8c51e', readme.lastrev.identifier
217 # 2007-12-14 10:24:01 +0100 217 # 2007-12-14 10:24:01 +0100
218 assert_equal Time.gm(2007, 12, 14, 9, 24, 1), readme.lastrev.time 218 assert_equal Time.gm(2007, 12, 14, 9, 24, 1), readme.lastrev.time
219 219
220 entries2 = @adapter.entries('sources', r) 220 entries2 = @adapter.entries('sources', r)
221 assert entries2 221 assert entries2
240 assert_equal 'README', readme.name 240 assert_equal 'README', readme.name
241 assert_equal 'README', readme.path 241 assert_equal 'README', readme.path
242 assert_equal 'file', readme.kind 242 assert_equal 'file', readme.kind
243 assert_equal 21, readme.size 243 assert_equal 21, readme.size
244 assert_equal '0', readme.lastrev.revision 244 assert_equal '0', readme.lastrev.revision
245 assert_equal '0885933ad4f6', readme.lastrev.identifier 245 assert_equal '0885933ad4f68d77c2649cd11f8311276e7ef7ce', readme.lastrev.identifier
246 # 2007-12-14 10:22:52 +0100 246 # 2007-12-14 10:22:52 +0100
247 assert_equal Time.gm(2007, 12, 14, 9, 22, 52), readme.lastrev.time 247 assert_equal Time.gm(2007, 12, 14, 9, 22, 52), readme.lastrev.time
248 end 248 end
249 249
250 def test_entries_branch 250 def test_entries_branch
258 assert_equal 'README', readme.name 258 assert_equal 'README', readme.name
259 assert_equal 'README', readme.path 259 assert_equal 'README', readme.path
260 assert_equal 'file', readme.kind 260 assert_equal 'file', readme.kind
261 assert_equal 365, readme.size 261 assert_equal 365, readme.size
262 assert_equal '8', readme.lastrev.revision 262 assert_equal '8', readme.lastrev.revision
263 assert_equal 'c51f5bb613cd', readme.lastrev.identifier 263 assert_equal 'c51f5bb613cd60793c2a9fe9df29332e74bb949f', readme.lastrev.identifier
264 # 2001-02-01 00:00:00 -0900 264 # 2001-02-01 00:00:00 -0900
265 assert_equal Time.gm(2001, 2, 1, 9, 0, 0), readme.lastrev.time 265 assert_equal Time.gm(2001, 2, 1, 9, 0, 0), readme.lastrev.time
266 end
267
268 def test_entry
269 entry = @adapter.entry()
270 assert_equal "", entry.path
271 assert_equal "dir", entry.kind
272 entry = @adapter.entry('')
273 assert_equal "", entry.path
274 assert_equal "dir", entry.kind
275 assert_nil @adapter.entry('invalid')
276 assert_nil @adapter.entry('/invalid')
277 assert_nil @adapter.entry('/invalid/')
278 assert_nil @adapter.entry('invalid/invalid')
279 assert_nil @adapter.entry('invalid/invalid/')
280 assert_nil @adapter.entry('/invalid/invalid')
281 assert_nil @adapter.entry('/invalid/invalid/')
282 ["README", "/README"].each do |path|
283 ["0", "0885933ad4f6", "0885933ad4f68d77c2649cd11f8311276e7ef7ce"].each do |rev|
284 entry = @adapter.entry(path, rev)
285 assert_equal "README", entry.path
286 assert_equal "file", entry.kind
287 assert_equal '0', entry.lastrev.revision
288 assert_equal '0885933ad4f68d77c2649cd11f8311276e7ef7ce', entry.lastrev.identifier
289 end
290 end
291 ["sources", "/sources", "/sources/"].each do |path|
292 ["0", "0885933ad4f6", "0885933ad4f68d77c2649cd11f8311276e7ef7ce"].each do |rev|
293 entry = @adapter.entry(path, rev)
294 assert_equal "sources", entry.path
295 assert_equal "dir", entry.kind
296 end
297 end
298 ["sources/watchers_controller.rb", "/sources/watchers_controller.rb"].each do |path|
299 ["0", "0885933ad4f6", "0885933ad4f68d77c2649cd11f8311276e7ef7ce"].each do |rev|
300 entry = @adapter.entry(path, rev)
301 assert_equal "sources/watchers_controller.rb", entry.path
302 assert_equal "file", entry.kind
303 assert_equal '0', entry.lastrev.revision
304 assert_equal '0885933ad4f68d77c2649cd11f8311276e7ef7ce', entry.lastrev.identifier
305 end
306 end
266 end 307 end
267 308
268 def test_locate_on_outdated_repository 309 def test_locate_on_outdated_repository
269 assert_equal 1, @adapter.entries("images", 0).size 310 assert_equal 1, @adapter.entries("images", 0).size
270 assert_equal 2, @adapter.entries("images").size 311 assert_equal 2, @adapter.entries("images").size
286 assert_equal [@tag_char_1, 'tag_test.00', 'tag-init-revision'], @adapter.tags 327 assert_equal [@tag_char_1, 'tag_test.00', 'tag-init-revision'], @adapter.tags
287 end 328 end
288 329
289 def test_tagmap 330 def test_tagmap
290 tm = { 331 tm = {
291 @tag_char_1 => 'adf805632193', 332 @tag_char_1 => 'adf805632193500ad3b615cd04f58f9b0769f576',
292 'tag_test.00' => '6987191f453a', 333 'tag_test.00' => '6987191f453a5f6557018d522feea2c450d5588d',
293 'tag-init-revision' => '0885933ad4f6', 334 'tag-init-revision' => '0885933ad4f68d77c2649cd11f8311276e7ef7ce',
294 } 335 }
295 assert_equal tm, @adapter.tagmap 336 assert_equal tm, @adapter.tagmap
296 end 337 end
297 338
298 def test_branches 339 def test_branches
301 brs << b 342 brs << b
302 end 343 end
303 assert_equal 7, brs.length 344 assert_equal 7, brs.length
304 assert_equal 'default', brs[0].to_s 345 assert_equal 'default', brs[0].to_s
305 assert_equal '31', brs[0].revision 346 assert_equal '31', brs[0].revision
306 assert_equal '31eeee7395c8', brs[0].scmid 347 assert_equal '31eeee7395c8c78e66dd54c50addd078d10b2355', brs[0].scmid
307 assert_equal 'test-branch-01', brs[1].to_s 348 assert_equal 'test-branch-01', brs[1].to_s
308 assert_equal '30', brs[1].revision 349 assert_equal '30', brs[1].revision
309 assert_equal 'ad4dc4f80284', brs[1].scmid 350 assert_equal 'ad4dc4f80284a4f9168b77e0b6de288e5d207ee7', brs[1].scmid
310 assert_equal @branch_char_1, brs[2].to_s 351 assert_equal @branch_char_1, brs[2].to_s
311 assert_equal '27', brs[2].revision 352 assert_equal '27', brs[2].revision
312 assert_equal '7bbf4c738e71', brs[2].scmid 353 assert_equal '7bbf4c738e7145149d2e5eb1eed1d3a8ddd3b914', brs[2].scmid
313 assert_equal 'branch (1)[2]&,%.-3_4', brs[3].to_s 354 assert_equal 'branch (1)[2]&,%.-3_4', brs[3].to_s
314 assert_equal '25', brs[3].revision 355 assert_equal '25', brs[3].revision
315 assert_equal 'afc61e85bde7', brs[3].scmid 356 assert_equal 'afc61e85bde74de930e5846c8451bd55b5bafc9c', brs[3].scmid
316 assert_equal @branch_char_0, brs[4].to_s 357 assert_equal @branch_char_0, brs[4].to_s
317 assert_equal '23', brs[4].revision 358 assert_equal '23', brs[4].revision
318 assert_equal 'c8d3e4887474', brs[4].scmid 359 assert_equal 'c8d3e4887474af6a589190140508037ebaa9d9c3', brs[4].scmid
319 assert_equal 'test_branch.latin-1', brs[5].to_s 360 assert_equal 'test_branch.latin-1', brs[5].to_s
320 assert_equal '22', brs[5].revision 361 assert_equal '22', brs[5].revision
321 assert_equal 'c2ffe7da686a', brs[5].scmid 362 assert_equal 'c2ffe7da686aa3d956e59f2a2854cf8980a8b768', brs[5].scmid
322 assert_equal 'test-branch-00', brs[6].to_s 363 assert_equal 'test-branch-00', brs[6].to_s
323 assert_equal '13', brs[6].revision 364 assert_equal '13', brs[6].revision
324 assert_equal '3a330eb32958', brs[6].scmid 365 assert_equal '3a330eb329586ea2adb3f83237c23310e744ebe9', brs[6].scmid
325 end 366 end
326 367
327 def test_branchmap 368 def test_branchmap
328 bm = { 369 bm = {
329 'default' => '31eeee7395c8', 370 'default' => '31eeee7395c8c78e66dd54c50addd078d10b2355',
330 'test_branch.latin-1' => 'c2ffe7da686a', 371 'test_branch.latin-1' => 'c2ffe7da686aa3d956e59f2a2854cf8980a8b768',
331 'branch (1)[2]&,%.-3_4' => 'afc61e85bde7', 372 'branch (1)[2]&,%.-3_4' => 'afc61e85bde74de930e5846c8451bd55b5bafc9c',
332 'test-branch-00' => '3a330eb32958', 373 'test-branch-00' => '3a330eb329586ea2adb3f83237c23310e744ebe9',
333 "test-branch-01" => 'ad4dc4f80284', 374 "test-branch-01" => 'ad4dc4f80284a4f9168b77e0b6de288e5d207ee7',
334 @branch_char_0 => 'c8d3e4887474', 375 @branch_char_0 => 'c8d3e4887474af6a589190140508037ebaa9d9c3',
335 @branch_char_1 => '7bbf4c738e71', 376 @branch_char_1 => '7bbf4c738e7145149d2e5eb1eed1d3a8ddd3b914',
336 } 377 }
337 assert_equal bm, @adapter.branchmap 378 assert_equal bm, @adapter.branchmap
338 end 379 end
339 380
340 def test_path_space 381 def test_path_space
376 assert_equal 1, nib1.size 417 assert_equal 1, nib1.size
377 case bra 418 case bra
378 when 'branch (1)[2]&,%.-3_4' 419 when 'branch (1)[2]&,%.-3_4'
379 if @adapter.class.client_version_above?([1, 6]) 420 if @adapter.class.client_version_above?([1, 6])
380 assert_equal 3, nib0.size 421 assert_equal 3, nib0.size
381 assert_equal nib0[0], 'afc61e85bde7' 422 assert_equal 'afc61e85bde74de930e5846c8451bd55b5bafc9c', nib0[0]
382 nib2 = @adapter.nodes_in_branch(bra, :limit => 2) 423 nib2 = @adapter.nodes_in_branch(bra, :limit => 2)
383 assert_equal 2, nib2.size 424 assert_equal 2, nib2.size
384 assert_equal nib2[1], '933ca60293d7' 425 assert_equal '933ca60293d78f7c7979dd123cc0c02431683575', nib2[1]
385 end 426 end
386 when @branch_char_1 427 when @branch_char_1
387 if @adapter.class.client_version_above?([1, 6]) 428 if @adapter.class.client_version_above?([1, 6])
388 assert_equal 2, nib0.size 429 assert_equal 2, nib0.size
389 assert_equal nib0[1], '08ff3227303e' 430 assert_equal '08ff3227303ec0dfcc818efa8e9cc652fe81859f', nib0[1]
390 nib2 = @adapter.nodes_in_branch(bra, :limit => 1) 431 nib2 = @adapter.nodes_in_branch(bra, :limit => 1)
391 assert_equal 1, nib2.size 432 assert_equal 1, nib2.size
392 assert_equal nib2[0], '7bbf4c738e71' 433 assert_equal '7bbf4c738e7145149d2e5eb1eed1d3a8ddd3b914', nib2[0]
393 end 434 end
394 end 435 end
395 end 436 end
396 end 437 end
397 438