annotate test/unit/lib/redmine/scm/adapters/cvs_adapter_test.rb @ 245:051f544170fe

* Update to SVN trunk revision 4993
author Chris Cannam
date Thu, 03 Mar 2011 11:42:28 +0000
parents 0579821a129a
children cbce1fd3b1b7
rev   line source
Chris@210 1 require File.expand_path('../../../../../../test_helper', __FILE__)
Chris@210 2 begin
Chris@210 3 require 'mocha'
Chris@210 4
Chris@210 5 class CvsAdapterTest < ActiveSupport::TestCase
Chris@210 6
Chris@210 7 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/cvs_repository'
Chris@245 8 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
Chris@210 9 MODULE_NAME = 'test'
Chris@210 10
Chris@210 11 if File.directory?(REPOSITORY_PATH)
Chris@210 12 def setup
Chris@210 13 @adapter = Redmine::Scm::Adapters::CvsAdapter.new(MODULE_NAME, REPOSITORY_PATH)
Chris@210 14 end
Chris@210 15
Chris@245 16 def test_scm_version
Chris@245 17 to_test = { "\nConcurrent Versions System (CVS) 1.12.13 (client/server)\n" => [1,12,13],
Chris@245 18 "\r\n1.12.12\r\n1.12.11" => [1,12,12],
Chris@245 19 "1.12.11\r\n1.12.10\r\n" => [1,12,11]}
Chris@245 20 to_test.each do |s, v|
Chris@245 21 test_scm_version_for(s, v)
Chris@245 22 end
Chris@245 23 end
Chris@245 24
Chris@210 25 def test_revisions_all
Chris@210 26 cnt = 0
Chris@210 27 @adapter.revisions('', nil, nil, :with_paths => true) do |revision|
Chris@210 28 cnt += 1
Chris@210 29 end
Chris@210 30 assert_equal 14, cnt
Chris@210 31 end
Chris@210 32
Chris@210 33 def test_revisions_from_rev3
Chris@210 34 rev3_committed_on = Time.gm(2007, 12, 13, 16, 27, 22)
Chris@210 35 cnt = 0
Chris@210 36 @adapter.revisions('', rev3_committed_on, nil, :with_paths => true) do |revision|
Chris@210 37 cnt += 1
Chris@210 38 end
Chris@210 39 assert_equal 2, cnt
Chris@210 40 end
Chris@245 41
Chris@245 42 private
Chris@245 43
Chris@245 44 def test_scm_version_for(scm_command_version, version)
Chris@245 45 @adapter.class.expects(:scm_version_from_command_line).returns(scm_command_version)
Chris@245 46 assert_equal version, @adapter.class.scm_command_version
Chris@245 47 end
Chris@210 48 else
Chris@210 49 puts "Cvs test repository NOT FOUND. Skipping unit tests !!!"
Chris@210 50 def test_fake; assert true end
Chris@210 51 end
Chris@210 52 end
Chris@210 53
Chris@210 54 rescue LoadError
Chris@210 55 class CvsMochaFake < ActiveSupport::TestCase
Chris@210 56 def test_fake; assert(false, "Requires mocha to run those tests") end
Chris@210 57 end
Chris@210 58 end
Chris@210 59