comparison test/unit/lib/redmine/scm/adapters/cvs_adapter_test.rb @ 523:0b6c82dead28 luisf

Merge from branch "cannam"
author luisf <luis.figueira@eecs.qmul.ac.uk>
date Mon, 25 Jul 2011 14:23:37 +0100
parents cbce1fd3b1b7
children cbb26bc654de
comparison
equal deleted inserted replaced
318:f7c525dc7585 523:0b6c82dead28
1 require File.expand_path('../../../../../../test_helper', __FILE__)
2 begin
3 require 'mocha'
4
5 class CvsAdapterTest < ActiveSupport::TestCase
6
7 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/cvs_repository'
8 REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
9 MODULE_NAME = 'test'
10
11 if File.directory?(REPOSITORY_PATH)
12 def setup
13 @adapter = Redmine::Scm::Adapters::CvsAdapter.new(MODULE_NAME, REPOSITORY_PATH)
14 end
15
16 def test_scm_version
17 to_test = { "\nConcurrent Versions System (CVS) 1.12.13 (client/server)\n" => [1,12,13],
18 "\r\n1.12.12\r\n1.12.11" => [1,12,12],
19 "1.12.11\r\n1.12.10\r\n" => [1,12,11]}
20 to_test.each do |s, v|
21 test_scm_version_for(s, v)
22 end
23 end
24
25 def test_revisions_all
26 cnt = 0
27 @adapter.revisions('', nil, nil, :log_encoding => 'UTF-8') do |revision|
28 cnt += 1
29 end
30 assert_equal 16, cnt
31 end
32
33 def test_revisions_from_rev3
34 rev3_committed_on = Time.gm(2007, 12, 13, 16, 27, 22)
35 cnt = 0
36 @adapter.revisions('', rev3_committed_on, nil, :log_encoding => 'UTF-8') do |revision|
37 cnt += 1
38 end
39 assert_equal 4, cnt
40 end
41
42 def test_entries_rev3
43 rev3_committed_on = Time.gm(2007, 12, 13, 16, 27, 22)
44 entries = @adapter.entries('sources', rev3_committed_on)
45 assert_equal 2, entries.size
46 assert_equal entries[0].name, "watchers_controller.rb"
47 assert_equal entries[0].lastrev.time, Time.gm(2007, 12, 13, 16, 27, 22)
48 end
49
50 def test_path_encoding_default_utf8
51 adpt1 = Redmine::Scm::Adapters::CvsAdapter.new(
52 MODULE_NAME,
53 REPOSITORY_PATH
54 )
55 assert_equal "UTF-8", adpt1.path_encoding
56 adpt2 = Redmine::Scm::Adapters::CvsAdapter.new(
57 MODULE_NAME,
58 REPOSITORY_PATH,
59 nil,
60 nil,
61 ""
62 )
63 assert_equal "UTF-8", adpt2.path_encoding
64 end
65
66 private
67
68 def test_scm_version_for(scm_command_version, version)
69 @adapter.class.expects(:scm_version_from_command_line).returns(scm_command_version)
70 assert_equal version, @adapter.class.scm_command_version
71 end
72 else
73 puts "Cvs test repository NOT FOUND. Skipping unit tests !!!"
74 def test_fake; assert true end
75 end
76 end
77
78 rescue LoadError
79 class CvsMochaFake < ActiveSupport::TestCase
80 def test_fake; assert(false, "Requires mocha to run those tests") end
81 end
82 end
83