annotate test/unit/lib/redmine/scm/adapters/cvs_adapter_test.rb @ 850:e9e53db0c93a bug_213

Close obsolete branch bug_213
author Chris Cannam
date Sat, 13 Aug 2011 14:51:48 +0100
parents cbce1fd3b1b7
children cbb26bc654de
rev   line source
Chris@210 1 require File.expand_path('../../../../../../test_helper', __FILE__)
Chris@210 2 begin
Chris@210 3 require 'mocha'
Chris@441 4
Chris@210 5 class CvsAdapterTest < ActiveSupport::TestCase
Chris@441 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@441 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@441 27 @adapter.revisions('', nil, nil, :log_encoding => 'UTF-8') do |revision|
Chris@210 28 cnt += 1
Chris@210 29 end
Chris@441 30 assert_equal 16, 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@441 36 @adapter.revisions('', rev3_committed_on, nil, :log_encoding => 'UTF-8') do |revision|
Chris@210 37 cnt += 1
Chris@210 38 end
Chris@441 39 assert_equal 4, cnt
Chris@441 40 end
Chris@441 41
Chris@441 42 def test_entries_rev3
Chris@441 43 rev3_committed_on = Time.gm(2007, 12, 13, 16, 27, 22)
Chris@441 44 entries = @adapter.entries('sources', rev3_committed_on)
Chris@441 45 assert_equal 2, entries.size
Chris@441 46 assert_equal entries[0].name, "watchers_controller.rb"
Chris@441 47 assert_equal entries[0].lastrev.time, Time.gm(2007, 12, 13, 16, 27, 22)
Chris@441 48 end
Chris@441 49
Chris@441 50 def test_path_encoding_default_utf8
Chris@441 51 adpt1 = Redmine::Scm::Adapters::CvsAdapter.new(
Chris@441 52 MODULE_NAME,
Chris@441 53 REPOSITORY_PATH
Chris@441 54 )
Chris@441 55 assert_equal "UTF-8", adpt1.path_encoding
Chris@441 56 adpt2 = Redmine::Scm::Adapters::CvsAdapter.new(
Chris@441 57 MODULE_NAME,
Chris@441 58 REPOSITORY_PATH,
Chris@441 59 nil,
Chris@441 60 nil,
Chris@441 61 ""
Chris@441 62 )
Chris@441 63 assert_equal "UTF-8", adpt2.path_encoding
Chris@210 64 end
Chris@245 65
Chris@245 66 private
Chris@245 67
Chris@245 68 def test_scm_version_for(scm_command_version, version)
Chris@245 69 @adapter.class.expects(:scm_version_from_command_line).returns(scm_command_version)
Chris@245 70 assert_equal version, @adapter.class.scm_command_version
Chris@245 71 end
Chris@210 72 else
Chris@210 73 puts "Cvs test repository NOT FOUND. Skipping unit tests !!!"
Chris@210 74 def test_fake; assert true end
Chris@210 75 end
Chris@210 76 end
Chris@210 77
Chris@210 78 rescue LoadError
Chris@210 79 class CvsMochaFake < ActiveSupport::TestCase
Chris@210 80 def test_fake; assert(false, "Requires mocha to run those tests") end
Chris@210 81 end
Chris@210 82 end
Chris@210 83