##// END OF EJS Templates
scm: mercurial: add tests for "nodes_in_branch()" method in adapter (#7246, #4455)....
Toshi MARUYAMA -
r4983:72d6b2c8df4f
parent child
Show More
@@ -1,303 +1,333
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 MercurialAdapterTest < ActiveSupport::TestCase
5 class MercurialAdapterTest < ActiveSupport::TestCase
6
6
7 HELPERS_DIR = Redmine::Scm::Adapters::MercurialAdapter::HELPERS_DIR
7 HELPERS_DIR = Redmine::Scm::Adapters::MercurialAdapter::HELPERS_DIR
8 TEMPLATE_NAME = Redmine::Scm::Adapters::MercurialAdapter::TEMPLATE_NAME
8 TEMPLATE_NAME = Redmine::Scm::Adapters::MercurialAdapter::TEMPLATE_NAME
9 TEMPLATE_EXTENSION = Redmine::Scm::Adapters::MercurialAdapter::TEMPLATE_EXTENSION
9 TEMPLATE_EXTENSION = Redmine::Scm::Adapters::MercurialAdapter::TEMPLATE_EXTENSION
10
10
11 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/mercurial_repository'
11 REPOSITORY_PATH = RAILS_ROOT.gsub(%r{config\/\.\.}, '') + '/tmp/test/mercurial_repository'
12
12
13 CHAR_1_HEX = "\xc3\x9c"
13 CHAR_1_HEX = "\xc3\x9c"
14
14
15 if File.directory?(REPOSITORY_PATH)
15 if File.directory?(REPOSITORY_PATH)
16 def setup
16 def setup
17 @adapter = Redmine::Scm::Adapters::MercurialAdapter.new(REPOSITORY_PATH)
17 @adapter = Redmine::Scm::Adapters::MercurialAdapter.new(REPOSITORY_PATH)
18 @diff_c_support = true
18 @diff_c_support = true
19
19
20 @tag_char_1 = "tag-#{CHAR_1_HEX}-00"
20 @tag_char_1 = "tag-#{CHAR_1_HEX}-00"
21 @branch_char_0 = "branch-#{CHAR_1_HEX}-00"
21 @branch_char_0 = "branch-#{CHAR_1_HEX}-00"
22 @branch_char_1 = "branch-#{CHAR_1_HEX}-01"
22 @branch_char_1 = "branch-#{CHAR_1_HEX}-01"
23 if @tag_char_1.respond_to?(:force_encoding)
23 if @tag_char_1.respond_to?(:force_encoding)
24 @tag_char_1.force_encoding('UTF-8')
24 @tag_char_1.force_encoding('UTF-8')
25 @branch_char_0.force_encoding('UTF-8')
25 @branch_char_0.force_encoding('UTF-8')
26 @branch_char_1.force_encoding('UTF-8')
26 @branch_char_1.force_encoding('UTF-8')
27 end
27 end
28 end
28 end
29
29
30 def test_hgversion
30 def test_hgversion
31 to_test = { "Mercurial Distributed SCM (version 0.9.5)\n" => [0,9,5],
31 to_test = { "Mercurial Distributed SCM (version 0.9.5)\n" => [0,9,5],
32 "Mercurial Distributed SCM (1.0)\n" => [1,0],
32 "Mercurial Distributed SCM (1.0)\n" => [1,0],
33 "Mercurial Distributed SCM (1e4ddc9ac9f7+20080325)\n" => nil,
33 "Mercurial Distributed SCM (1e4ddc9ac9f7+20080325)\n" => nil,
34 "Mercurial Distributed SCM (1.0.1+20080525)\n" => [1,0,1],
34 "Mercurial Distributed SCM (1.0.1+20080525)\n" => [1,0,1],
35 "Mercurial Distributed SCM (1916e629a29d)\n" => nil,
35 "Mercurial Distributed SCM (1916e629a29d)\n" => nil,
36 "Mercurial SCM Distribuito (versione 0.9.5)\n" => [0,9,5],
36 "Mercurial SCM Distribuito (versione 0.9.5)\n" => [0,9,5],
37 "(1.6)\n(1.7)\n(1.8)" => [1,6],
37 "(1.6)\n(1.7)\n(1.8)" => [1,6],
38 "(1.7.1)\r\n(1.8.1)\r\n(1.9.1)" => [1,7,1]}
38 "(1.7.1)\r\n(1.8.1)\r\n(1.9.1)" => [1,7,1]}
39
39
40 to_test.each do |s, v|
40 to_test.each do |s, v|
41 test_hgversion_for(s, v)
41 test_hgversion_for(s, v)
42 end
42 end
43 end
43 end
44
44
45 def test_template_path
45 def test_template_path
46 to_test = { [0,9,5] => "0.9.5",
46 to_test = { [0,9,5] => "0.9.5",
47 [1,0] => "1.0",
47 [1,0] => "1.0",
48 [] => "1.0",
48 [] => "1.0",
49 [1,0,1] => "1.0",
49 [1,0,1] => "1.0",
50 [1,7] => "1.0",
50 [1,7] => "1.0",
51 [1,7,1] => "1.0" }
51 [1,7,1] => "1.0" }
52 to_test.each do |v, template|
52 to_test.each do |v, template|
53 test_template_path_for(v, template)
53 test_template_path_for(v, template)
54 end
54 end
55 end
55 end
56
56
57 def test_info
57 def test_info
58 [REPOSITORY_PATH, REPOSITORY_PATH + "/",
58 [REPOSITORY_PATH, REPOSITORY_PATH + "/",
59 REPOSITORY_PATH + "//"].each do |repo|
59 REPOSITORY_PATH + "//"].each do |repo|
60 adp = Redmine::Scm::Adapters::MercurialAdapter.new(repo)
60 adp = Redmine::Scm::Adapters::MercurialAdapter.new(repo)
61 repo_path = adp.info.root_url.gsub(/\\/, "/")
61 repo_path = adp.info.root_url.gsub(/\\/, "/")
62 assert_equal REPOSITORY_PATH, repo_path
62 assert_equal REPOSITORY_PATH, repo_path
63 assert_equal '28', adp.info.lastrev.revision
63 assert_equal '28', adp.info.lastrev.revision
64 assert_equal '3ae45e2d177d',adp.info.lastrev.scmid
64 assert_equal '3ae45e2d177d',adp.info.lastrev.scmid
65 end
65 end
66 end
66 end
67
67
68 def test_revisions
68 def test_revisions
69 revisions = @adapter.revisions(nil, 2, 4)
69 revisions = @adapter.revisions(nil, 2, 4)
70 assert_equal 3, revisions.size
70 assert_equal 3, revisions.size
71 assert_equal '2', revisions[0].revision
71 assert_equal '2', revisions[0].revision
72 assert_equal '400bb8672109', revisions[0].scmid
72 assert_equal '400bb8672109', revisions[0].scmid
73 assert_equal '4', revisions[2].revision
73 assert_equal '4', revisions[2].revision
74 assert_equal 'def6d2f1254a', revisions[2].scmid
74 assert_equal 'def6d2f1254a', revisions[2].scmid
75
75
76 revisions = @adapter.revisions(nil, 2, 4, {:limit => 2})
76 revisions = @adapter.revisions(nil, 2, 4, {:limit => 2})
77 assert_equal 2, revisions.size
77 assert_equal 2, revisions.size
78 assert_equal '2', revisions[0].revision
78 assert_equal '2', revisions[0].revision
79 assert_equal '400bb8672109', revisions[0].scmid
79 assert_equal '400bb8672109', revisions[0].scmid
80 end
80 end
81
81
82 def test_diff
82 def test_diff
83 if @adapter.class.client_version_above?([1, 2])
83 if @adapter.class.client_version_above?([1, 2])
84 assert_nil @adapter.diff(nil, '100000')
84 assert_nil @adapter.diff(nil, '100000')
85 end
85 end
86 assert_nil @adapter.diff(nil, '100000', '200000')
86 assert_nil @adapter.diff(nil, '100000', '200000')
87 [2, '400bb8672109', '400', 400].each do |r1|
87 [2, '400bb8672109', '400', 400].each do |r1|
88 diff1 = @adapter.diff(nil, r1)
88 diff1 = @adapter.diff(nil, r1)
89 if @diff_c_support
89 if @diff_c_support
90 assert_equal 28, diff1.size
90 assert_equal 28, diff1.size
91 buf = diff1[24].gsub(/\r\n|\r|\n/, "")
91 buf = diff1[24].gsub(/\r\n|\r|\n/, "")
92 assert_equal "+ return true unless klass.respond_to?('watched_by')", buf
92 assert_equal "+ return true unless klass.respond_to?('watched_by')", buf
93 else
93 else
94 assert_equal 0, diff1.size
94 assert_equal 0, diff1.size
95 end
95 end
96 [4, 'def6d2f1254a'].each do |r2|
96 [4, 'def6d2f1254a'].each do |r2|
97 diff2 = @adapter.diff(nil,r1,r2)
97 diff2 = @adapter.diff(nil,r1,r2)
98 assert_equal 49, diff2.size
98 assert_equal 49, diff2.size
99 buf = diff2[41].gsub(/\r\n|\r|\n/, "")
99 buf = diff2[41].gsub(/\r\n|\r|\n/, "")
100 assert_equal "+class WelcomeController < ApplicationController", buf
100 assert_equal "+class WelcomeController < ApplicationController", buf
101 diff3 = @adapter.diff('sources/watchers_controller.rb', r1, r2)
101 diff3 = @adapter.diff('sources/watchers_controller.rb', r1, r2)
102 assert_equal 20, diff3.size
102 assert_equal 20, diff3.size
103 buf = diff3[12].gsub(/\r\n|\r|\n/, "")
103 buf = diff3[12].gsub(/\r\n|\r|\n/, "")
104 assert_equal "+ @watched.remove_watcher(user)", buf
104 assert_equal "+ @watched.remove_watcher(user)", buf
105 end
105 end
106 end
106 end
107 end
107 end
108
108
109 def test_diff_made_by_revision
109 def test_diff_made_by_revision
110 if @diff_c_support
110 if @diff_c_support
111 [24, '24', '4cddb4e45f52'].each do |r1|
111 [24, '24', '4cddb4e45f52'].each do |r1|
112 diff1 = @adapter.diff(nil, r1)
112 diff1 = @adapter.diff(nil, r1)
113 assert_equal 5, diff1.size
113 assert_equal 5, diff1.size
114 buf = diff1[4].gsub(/\r\n|\r|\n/, "")
114 buf = diff1[4].gsub(/\r\n|\r|\n/, "")
115 assert_equal '+0885933ad4f68d77c2649cd11f8311276e7ef7ce tag-init-revision', buf
115 assert_equal '+0885933ad4f68d77c2649cd11f8311276e7ef7ce tag-init-revision', buf
116 end
116 end
117 end
117 end
118 end
118 end
119
119
120 def test_cat
120 def test_cat
121 [2, '400bb8672109', '400', 400].each do |r|
121 [2, '400bb8672109', '400', 400].each do |r|
122 buf = @adapter.cat('sources/welcome_controller.rb', r)
122 buf = @adapter.cat('sources/welcome_controller.rb', r)
123 assert buf
123 assert buf
124 lines = buf.split("\r\n")
124 lines = buf.split("\r\n")
125 assert_equal 25, lines.length
125 assert_equal 25, lines.length
126 assert_equal 'class WelcomeController < ApplicationController', lines[17]
126 assert_equal 'class WelcomeController < ApplicationController', lines[17]
127 end
127 end
128 assert_nil @adapter.cat('sources/welcome_controller.rb')
128 assert_nil @adapter.cat('sources/welcome_controller.rb')
129 end
129 end
130
130
131 def test_annotate
131 def test_annotate
132 assert_equal [], @adapter.annotate("sources/welcome_controller.rb").lines
132 assert_equal [], @adapter.annotate("sources/welcome_controller.rb").lines
133 [2, '400bb8672109', '400', 400].each do |r|
133 [2, '400bb8672109', '400', 400].each do |r|
134 ann = @adapter.annotate('sources/welcome_controller.rb', r)
134 ann = @adapter.annotate('sources/welcome_controller.rb', r)
135 assert ann
135 assert ann
136 assert_equal '1', ann.revisions[17].revision
136 assert_equal '1', ann.revisions[17].revision
137 assert_equal '9d5b5b004199', ann.revisions[17].identifier
137 assert_equal '9d5b5b004199', ann.revisions[17].identifier
138 assert_equal 'jsmith', ann.revisions[0].author
138 assert_equal 'jsmith', ann.revisions[0].author
139 assert_equal 25, ann.lines.length
139 assert_equal 25, ann.lines.length
140 assert_equal 'class WelcomeController < ApplicationController', ann.lines[17]
140 assert_equal 'class WelcomeController < ApplicationController', ann.lines[17]
141 end
141 end
142 end
142 end
143
143
144 def test_entries
144 def test_entries
145 assert_nil @adapter.entries(nil, '100000')
145 assert_nil @adapter.entries(nil, '100000')
146
146
147 assert_equal 1, @adapter.entries("sources", 3).size
147 assert_equal 1, @adapter.entries("sources", 3).size
148 assert_equal 1, @adapter.entries("sources", 'b3a615152df8').size
148 assert_equal 1, @adapter.entries("sources", 'b3a615152df8').size
149
149
150 [2, '400bb8672109', '400', 400].each do |r|
150 [2, '400bb8672109', '400', 400].each do |r|
151 entries1 = @adapter.entries(nil, r)
151 entries1 = @adapter.entries(nil, r)
152 assert entries1
152 assert entries1
153 assert_equal 3, entries1.size
153 assert_equal 3, entries1.size
154 assert_equal 'sources', entries1[1].name
154 assert_equal 'sources', entries1[1].name
155 assert_equal 'sources', entries1[1].path
155 assert_equal 'sources', entries1[1].path
156 assert_equal 'dir', entries1[1].kind
156 assert_equal 'dir', entries1[1].kind
157 readme = entries1[2]
157 readme = entries1[2]
158 assert_equal 'README', readme.name
158 assert_equal 'README', readme.name
159 assert_equal 'README', readme.path
159 assert_equal 'README', readme.path
160 assert_equal 'file', readme.kind
160 assert_equal 'file', readme.kind
161 assert_equal 27, readme.size
161 assert_equal 27, readme.size
162 assert_equal '1', readme.lastrev.revision
162 assert_equal '1', readme.lastrev.revision
163 assert_equal '9d5b5b004199', readme.lastrev.identifier
163 assert_equal '9d5b5b004199', readme.lastrev.identifier
164 # 2007-12-14 10:24:01 +0100
164 # 2007-12-14 10:24:01 +0100
165 assert_equal Time.gm(2007, 12, 14, 9, 24, 1), readme.lastrev.time
165 assert_equal Time.gm(2007, 12, 14, 9, 24, 1), readme.lastrev.time
166
166
167 entries2 = @adapter.entries('sources', r)
167 entries2 = @adapter.entries('sources', r)
168 assert entries2
168 assert entries2
169 assert_equal 2, entries2.size
169 assert_equal 2, entries2.size
170 assert_equal 'watchers_controller.rb', entries2[0].name
170 assert_equal 'watchers_controller.rb', entries2[0].name
171 assert_equal 'sources/watchers_controller.rb', entries2[0].path
171 assert_equal 'sources/watchers_controller.rb', entries2[0].path
172 assert_equal 'file', entries2[0].kind
172 assert_equal 'file', entries2[0].kind
173 assert_equal 'welcome_controller.rb', entries2[1].name
173 assert_equal 'welcome_controller.rb', entries2[1].name
174 assert_equal 'sources/welcome_controller.rb', entries2[1].path
174 assert_equal 'sources/welcome_controller.rb', entries2[1].path
175 assert_equal 'file', entries2[1].kind
175 assert_equal 'file', entries2[1].kind
176 end
176 end
177 end
177 end
178
178
179 def test_entries_tag
179 def test_entries_tag
180 entries1 = @adapter.entries(nil, 'tag_test.00')
180 entries1 = @adapter.entries(nil, 'tag_test.00')
181 assert entries1
181 assert entries1
182 assert_equal 3, entries1.size
182 assert_equal 3, entries1.size
183 assert_equal 'sources', entries1[1].name
183 assert_equal 'sources', entries1[1].name
184 assert_equal 'sources', entries1[1].path
184 assert_equal 'sources', entries1[1].path
185 assert_equal 'dir', entries1[1].kind
185 assert_equal 'dir', entries1[1].kind
186 readme = entries1[2]
186 readme = entries1[2]
187 assert_equal 'README', readme.name
187 assert_equal 'README', readme.name
188 assert_equal 'README', readme.path
188 assert_equal 'README', readme.path
189 assert_equal 'file', readme.kind
189 assert_equal 'file', readme.kind
190 assert_equal 21, readme.size
190 assert_equal 21, readme.size
191 assert_equal '0', readme.lastrev.revision
191 assert_equal '0', readme.lastrev.revision
192 assert_equal '0885933ad4f6', readme.lastrev.identifier
192 assert_equal '0885933ad4f6', readme.lastrev.identifier
193 # 2007-12-14 10:22:52 +0100
193 # 2007-12-14 10:22:52 +0100
194 assert_equal Time.gm(2007, 12, 14, 9, 22, 52), readme.lastrev.time
194 assert_equal Time.gm(2007, 12, 14, 9, 22, 52), readme.lastrev.time
195 end
195 end
196
196
197 def test_entries_branch
197 def test_entries_branch
198 entries1 = @adapter.entries(nil, 'test-branch-00')
198 entries1 = @adapter.entries(nil, 'test-branch-00')
199 assert entries1
199 assert entries1
200 assert_equal 5, entries1.size
200 assert_equal 5, entries1.size
201 assert_equal 'sql_escape', entries1[2].name
201 assert_equal 'sql_escape', entries1[2].name
202 assert_equal 'sql_escape', entries1[2].path
202 assert_equal 'sql_escape', entries1[2].path
203 assert_equal 'dir', entries1[2].kind
203 assert_equal 'dir', entries1[2].kind
204 readme = entries1[4]
204 readme = entries1[4]
205 assert_equal 'README', readme.name
205 assert_equal 'README', readme.name
206 assert_equal 'README', readme.path
206 assert_equal 'README', readme.path
207 assert_equal 'file', readme.kind
207 assert_equal 'file', readme.kind
208 assert_equal 365, readme.size
208 assert_equal 365, readme.size
209 assert_equal '8', readme.lastrev.revision
209 assert_equal '8', readme.lastrev.revision
210 assert_equal 'c51f5bb613cd', readme.lastrev.identifier
210 assert_equal 'c51f5bb613cd', readme.lastrev.identifier
211 # 2001-02-01 00:00:00 -0900
211 # 2001-02-01 00:00:00 -0900
212 assert_equal Time.gm(2001, 2, 1, 9, 0, 0), readme.lastrev.time
212 assert_equal Time.gm(2001, 2, 1, 9, 0, 0), readme.lastrev.time
213 end
213 end
214
214
215 def test_locate_on_outdated_repository
215 def test_locate_on_outdated_repository
216 assert_equal 1, @adapter.entries("images", 0).size
216 assert_equal 1, @adapter.entries("images", 0).size
217 assert_equal 2, @adapter.entries("images").size
217 assert_equal 2, @adapter.entries("images").size
218 assert_equal 2, @adapter.entries("images", 2).size
218 assert_equal 2, @adapter.entries("images", 2).size
219 end
219 end
220
220
221 def test_access_by_nodeid
221 def test_access_by_nodeid
222 path = 'sources/welcome_controller.rb'
222 path = 'sources/welcome_controller.rb'
223 assert_equal @adapter.cat(path, 2), @adapter.cat(path, '400bb8672109')
223 assert_equal @adapter.cat(path, 2), @adapter.cat(path, '400bb8672109')
224 end
224 end
225
225
226 def test_access_by_fuzzy_nodeid
226 def test_access_by_fuzzy_nodeid
227 path = 'sources/welcome_controller.rb'
227 path = 'sources/welcome_controller.rb'
228 # falls back to nodeid
228 # falls back to nodeid
229 assert_equal @adapter.cat(path, 2), @adapter.cat(path, '400')
229 assert_equal @adapter.cat(path, 2), @adapter.cat(path, '400')
230 end
230 end
231
231
232 def test_tags
232 def test_tags
233 assert_equal [@tag_char_1, 'tag_test.00', 'tag-init-revision'], @adapter.tags
233 assert_equal [@tag_char_1, 'tag_test.00', 'tag-init-revision'], @adapter.tags
234 end
234 end
235
235
236 def test_tagmap
236 def test_tagmap
237 tm = {
237 tm = {
238 @tag_char_1 => 'adf805632193',
238 @tag_char_1 => 'adf805632193',
239 'tag_test.00' => '6987191f453a',
239 'tag_test.00' => '6987191f453a',
240 'tag-init-revision' => '0885933ad4f6',
240 'tag-init-revision' => '0885933ad4f6',
241 }
241 }
242 assert_equal tm, @adapter.tagmap
242 assert_equal tm, @adapter.tagmap
243 end
243 end
244
244
245 def test_branches
245 def test_branches
246 assert_equal [
246 assert_equal [
247 'default',
247 'default',
248 @branch_char_1,
248 @branch_char_1,
249 'branch (1)[2]&,%.-3_4',
249 'branch (1)[2]&,%.-3_4',
250 @branch_char_0,
250 @branch_char_0,
251 'test_branch.latin-1',
251 'test_branch.latin-1',
252 'test-branch-00',
252 'test-branch-00',
253 ], @adapter.branches
253 ], @adapter.branches
254 end
254 end
255
255
256 def test_branchmap
256 def test_branchmap
257 bm = {
257 bm = {
258 'default' => '3ae45e2d177d',
258 'default' => '3ae45e2d177d',
259 'test_branch.latin-1' => 'c2ffe7da686a',
259 'test_branch.latin-1' => 'c2ffe7da686a',
260 'branch (1)[2]&,%.-3_4' => 'afc61e85bde7',
260 'branch (1)[2]&,%.-3_4' => 'afc61e85bde7',
261 'test-branch-00' => '3a330eb32958',
261 'test-branch-00' => '3a330eb32958',
262 @branch_char_0 => 'c8d3e4887474',
262 @branch_char_0 => 'c8d3e4887474',
263 @branch_char_1 => '7bbf4c738e71',
263 @branch_char_1 => '7bbf4c738e71',
264 }
264 }
265 assert_equal bm, @adapter.branchmap
265 assert_equal bm, @adapter.branchmap
266 end
266 end
267
267
268 def test_path_space
268 def test_path_space
269 p = 'README (1)[2]&,%.-3_4'
269 p = 'README (1)[2]&,%.-3_4'
270 [15, '933ca60293d7'].each do |r1|
270 [15, '933ca60293d7'].each do |r1|
271 assert @adapter.diff(p, r1)
271 assert @adapter.diff(p, r1)
272 assert @adapter.cat(p, r1)
272 assert @adapter.cat(p, r1)
273 assert_equal 1, @adapter.annotate(p, r1).lines.length
273 assert_equal 1, @adapter.annotate(p, r1).lines.length
274 [25, 'afc61e85bde7'].each do |r2|
274 [25, 'afc61e85bde7'].each do |r2|
275 assert @adapter.diff(p, r1, r2)
275 assert @adapter.diff(p, r1, r2)
276 end
276 end
277 end
277 end
278 end
278 end
279
279
280 def test_nodes_in_branch
281 [
282 'default',
283 @branch_char_1,
284 'branch (1)[2]&,%.-3_4',
285 @branch_char_0,
286 'test_branch.latin-1',
287 'test-branch-00',
288 ].each do |bra|
289 nib0 = @adapter.nodes_in_branch(bra, '', bra, 0)
290 assert nib0
291 nib1 = @adapter.nodes_in_branch(bra, '', bra, 0, :limit => 1)
292 assert_equal 1, nib1.size
293 case bra
294 when 'branch (1)[2]&,%.-3_4'
295 assert_equal 3, nib0.size
296 assert_equal nib0[0], 'afc61e85bde7'
297 nib2 = @adapter.nodes_in_branch(bra, '', bra, 0, :limit => 2)
298 assert_equal 2, nib2.size
299 assert_equal nib2[1], '933ca60293d7'
300 when @branch_char_1
301 assert_equal 2, nib0.size
302 assert_equal nib0[1], '08ff3227303e'
303 nib2 = @adapter.nodes_in_branch(bra, '', bra, 0, :limit => 1)
304 assert_equal 1, nib2.size
305 assert_equal nib2[0], '7bbf4c738e71'
306 end
307 end
308 end
309
280 private
310 private
281
311
282 def test_hgversion_for(hgversion, version)
312 def test_hgversion_for(hgversion, version)
283 @adapter.class.expects(:hgversion_from_command_line).returns(hgversion)
313 @adapter.class.expects(:hgversion_from_command_line).returns(hgversion)
284 assert_equal version, @adapter.class.hgversion
314 assert_equal version, @adapter.class.hgversion
285 end
315 end
286
316
287 def test_template_path_for(version, template)
317 def test_template_path_for(version, template)
288 assert_equal "#{HELPERS_DIR}/#{TEMPLATE_NAME}-#{template}.#{TEMPLATE_EXTENSION}",
318 assert_equal "#{HELPERS_DIR}/#{TEMPLATE_NAME}-#{template}.#{TEMPLATE_EXTENSION}",
289 @adapter.class.template_path_for(version)
319 @adapter.class.template_path_for(version)
290 assert File.exist?(@adapter.class.template_path_for(version))
320 assert File.exist?(@adapter.class.template_path_for(version))
291 end
321 end
292 else
322 else
293 puts "Mercurial test repository NOT FOUND. Skipping unit tests !!!"
323 puts "Mercurial test repository NOT FOUND. Skipping unit tests !!!"
294 def test_fake; assert true end
324 def test_fake; assert true end
295 end
325 end
296 end
326 end
297
327
298 rescue LoadError
328 rescue LoadError
299 class MercurialMochaFake < ActiveSupport::TestCase
329 class MercurialMochaFake < ActiveSupport::TestCase
300 def test_fake; assert(false, "Requires mocha to run those tests") end
330 def test_fake; assert(false, "Requires mocha to run those tests") end
301 end
331 end
302 end
332 end
303
333
General Comments 0
You need to be logged in to leave comments. Login now