comparison test/unit/lib/redmine/scm/adapters/bazaar_adapter_test.rb @ 909:cbb26bc654de redmine-1.3

Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author Chris Cannam
date Fri, 24 Feb 2012 19:09:32 +0000
parents cbce1fd3b1b7
children 433d4f72a19b
comparison
equal deleted inserted replaced
908:c6c2cbd0afee 909:cbb26bc654de
1 require File.expand_path('../../../../../../test_helper', __FILE__) 1 require File.expand_path('../../../../../../test_helper', __FILE__)
2 begin 2 begin
3 require 'mocha' 3 require 'mocha'
4 4
5 class BazaarAdapterTest < ActiveSupport::TestCase 5 class BazaarAdapterTest < ActiveSupport::TestCase
6 6 REPOSITORY_PATH = Rails.root.join('tmp/test/bazaar_repository').to_s
7 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/bazaar_repository'
8 REPOSITORY_PATH.gsub!(/\/+/, '/') 7 REPOSITORY_PATH.gsub!(/\/+/, '/')
9 8
10 if File.directory?(REPOSITORY_PATH) 9 if File.directory?(REPOSITORY_PATH)
11 def setup 10 def setup
12 @adapter = Redmine::Scm::Adapters::BazaarAdapter.new(REPOSITORY_PATH) 11 @adapter = Redmine::Scm::Adapters::BazaarAdapter.new(
12 File.join(REPOSITORY_PATH, "trunk")
13 )
13 end 14 end
14 15
15 def test_scm_version 16 def test_scm_version
16 to_test = { "Bazaar (bzr) 2.1.2\n" => [2,1,2], 17 to_test = { "Bazaar (bzr) 2.1.2\n" => [2,1,2],
17 "2.1.1\n1.7\n1.8" => [2,1,1], 18 "2.1.1\n1.7\n1.8" => [2,1,1],
24 def test_cat 25 def test_cat
25 cat = @adapter.cat('directory/document.txt') 26 cat = @adapter.cat('directory/document.txt')
26 assert cat =~ /Write the contents of a file as of a given revision to standard output/ 27 assert cat =~ /Write the contents of a file as of a given revision to standard output/
27 end 28 end
28 29
30 def test_cat_path_invalid
31 assert_nil @adapter.cat('invalid')
32 end
33
34 def test_cat_revision_invalid
35 assert_nil @adapter.cat('doc-mkdir.txt', '12345678')
36 end
37
38 def test_diff_path_invalid
39 assert_equal [], @adapter.diff('invalid', 1)
40 end
41
42 def test_diff_revision_invalid
43 assert_equal [], @adapter.diff(nil, 12345678)
44 assert_equal [], @adapter.diff(nil, 12345678, 87654321)
45 end
46
29 def test_annotate 47 def test_annotate
30 annotate = @adapter.annotate('doc-mkdir.txt') 48 annotate = @adapter.annotate('doc-mkdir.txt')
31 assert_equal 17, annotate.lines.size 49 assert_equal 17, annotate.lines.size
32 assert_equal '1', annotate.revisions[0].identifier 50 assert_equal '1', annotate.revisions[0].identifier
33 assert_equal 'jsmith@', annotate.revisions[0].author 51 assert_equal 'jsmith@', annotate.revisions[0].author
34 assert_equal 'mkdir', annotate.lines[0] 52 assert_equal 'mkdir', annotate.lines[0]
53 end
54
55 def test_annotate_path_invalid
56 assert_nil @adapter.annotate('invalid')
57 end
58
59 def test_annotate_revision_invalid
60 assert_nil @adapter.annotate('doc-mkdir.txt', '12345678')
61 end
62
63 def test_branch_conf_path
64 p = "c:\\test\\test\\"
65 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
66 assert_equal File.join("c:\\test\\test", ".bzr", "branch", "branch.conf"), bcp
67 p = "c:\\test\\test\\.bzr"
68 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
69 assert_equal File.join("c:\\test\\test", ".bzr", "branch", "branch.conf"), bcp
70 p = "c:\\test\\test\\.bzr\\"
71 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
72 assert_equal File.join("c:\\test\\test", ".bzr", "branch", "branch.conf"), bcp
73 p = "c:\\test\\test"
74 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
75 assert_equal File.join("c:\\test\\test", ".bzr", "branch", "branch.conf"), bcp
76 p = "\\\\server\\test\\test\\"
77 bcp = Redmine::Scm::Adapters::BazaarAdapter.branch_conf_path(p)
78 assert_equal File.join("\\\\server\\test\\test", ".bzr", "branch", "branch.conf"), bcp
79 end
80
81 def test_append_revisions_only_true
82 assert_equal true, @adapter.append_revisions_only
83 end
84
85 def test_append_revisions_only_false
86 adpt = Redmine::Scm::Adapters::BazaarAdapter.new(
87 File.join(REPOSITORY_PATH, "empty-branch")
88 )
89 assert_equal false, adpt.append_revisions_only
90 end
91
92 def test_append_revisions_only_shared_repo
93 adpt = Redmine::Scm::Adapters::BazaarAdapter.new(
94 REPOSITORY_PATH
95 )
96 assert_equal false, adpt.append_revisions_only
97 end
98
99 def test_info_not_nil
100 assert_not_nil @adapter.info
101 end
102
103 def test_info_nil
104 adpt = Redmine::Scm::Adapters::BazaarAdapter.new(
105 "/invalid/invalid/"
106 )
107 assert_nil adpt.info
108 end
109
110 def test_info
111 info = @adapter.info
112 assert_equal 4, info.lastrev.identifier.to_i
113 end
114
115 def test_info_emtpy
116 adpt = Redmine::Scm::Adapters::BazaarAdapter.new(
117 File.join(REPOSITORY_PATH, "empty-branch")
118 )
119 assert_equal 0, adpt.info.lastrev.identifier.to_i
120 end
121
122 def test_entries_path_invalid
123 assert_equal [], @adapter.entries('invalid')
124 end
125
126 def test_entries_revision_invalid
127 assert_nil @adapter.entries(nil, 12345678)
128 end
129
130 def test_revisions_path_invalid
131 assert_nil @adapter.revisions('invalid')
132 end
133
134 def test_revisions_revision_invalid
135 assert_nil @adapter.revisions(nil, 12345678)
136 assert_nil @adapter.revisions(nil, 12345678, 87654321)
35 end 137 end
36 138
37 private 139 private
38 140
39 def test_scm_version_for(scm_command_version, version) 141 def test_scm_version_for(scm_command_version, version)