To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / .svn / pristine / 61 / 61e50703af02347b6cb421c714576454eb248e4a.svn-base @ 1297:0a574315af3e

History | View | Annotate | Download (2.75 KB)

1
require File.expand_path('../../../../../../test_helper', __FILE__)
2
begin
3
  require 'mocha'
4

    
5
  class CvsAdapterTest < ActiveSupport::TestCase
6
    REPOSITORY_PATH = Rails.root.join('tmp/test/cvs_repository').to_s
7
    REPOSITORY_PATH.gsub!(/\//, "\\") if Redmine::Platform.mswin?
8
    MODULE_NAME = 'test'
9

    
10
    if File.directory?(REPOSITORY_PATH)
11
      def setup
12
        @adapter = Redmine::Scm::Adapters::CvsAdapter.new(MODULE_NAME, REPOSITORY_PATH)
13
      end
14

    
15
      def test_scm_version
16
        to_test = { "\nConcurrent Versions System (CVS) 1.12.13 (client/server)\n"  => [1,12,13],
17
                    "\r\n1.12.12\r\n1.12.11"                   => [1,12,12],
18
                    "1.12.11\r\n1.12.10\r\n"                   => [1,12,11]}
19
        to_test.each do |s, v|
20
          test_scm_version_for(s, v)
21
        end
22
      end
23

    
24
      def test_revisions_all
25
        cnt = 0
26
        @adapter.revisions('', nil, nil, :log_encoding => 'UTF-8') do |revision|
27
          cnt += 1
28
        end
29
        assert_equal 16, cnt
30
      end
31

    
32
      def test_revisions_from_rev3
33
        rev3_committed_on = Time.gm(2007, 12, 13, 16, 27, 22)
34
        cnt = 0
35
        @adapter.revisions('', rev3_committed_on, nil, :log_encoding => 'UTF-8') do |revision|
36
          cnt += 1
37
        end
38
        assert_equal 4, cnt
39
      end
40

    
41
      def test_entries_rev3
42
        rev3_committed_on = Time.gm(2007, 12, 13, 16, 27, 22)
43
        entries = @adapter.entries('sources', rev3_committed_on)
44
        assert_equal 2, entries.size
45
        assert_equal entries[0].name, "watchers_controller.rb"
46
        assert_equal entries[0].lastrev.time, Time.gm(2007, 12, 13, 16, 27, 22)
47
      end
48

    
49
      def test_path_encoding_default_utf8
50
        adpt1 = Redmine::Scm::Adapters::CvsAdapter.new(
51
                                  MODULE_NAME,
52
                                  REPOSITORY_PATH
53
                                )
54
        assert_equal "UTF-8", adpt1.path_encoding
55
        adpt2 = Redmine::Scm::Adapters::CvsAdapter.new(
56
                                  MODULE_NAME,
57
                                  REPOSITORY_PATH,
58
                                  nil,
59
                                  nil,
60
                                  ""
61
                                )
62
        assert_equal "UTF-8", adpt2.path_encoding
63
      end
64

    
65
      private
66

    
67
      def test_scm_version_for(scm_command_version, version)
68
        @adapter.class.expects(:scm_version_from_command_line).returns(scm_command_version)
69
        assert_equal version, @adapter.class.scm_command_version
70
      end
71
    else
72
      puts "Cvs test repository NOT FOUND. Skipping unit tests !!!"
73
      def test_fake; assert true end
74
    end
75
  end
76

    
77
rescue LoadError
78
  class CvsMochaFake < ActiveSupport::TestCase
79
    def test_fake; assert(false, "Requires mocha to run those tests")  end
80
  end
81
end
82