coveralls-ruby 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/stale.yml +60 -0
- data/.gitignore +20 -0
- data/.rspec +2 -0
- data/.ruby-version +1 -0
- data/.travis.yml +22 -0
- data/CHANGELOG.md +21 -0
- data/Gemfile +41 -0
- data/LICENSE +22 -0
- data/README.md +6 -0
- data/Rakefile +14 -0
- data/bin/coveralls +9 -0
- data/coveralls-ruby.gemspec +32 -0
- data/lib/coveralls.rb +101 -0
- data/lib/coveralls/api.rb +128 -0
- data/lib/coveralls/command.rb +69 -0
- data/lib/coveralls/configuration.rb +234 -0
- data/lib/coveralls/output.rb +114 -0
- data/lib/coveralls/rake/task.rb +19 -0
- data/lib/coveralls/simplecov.rb +101 -0
- data/lib/coveralls/version.rb +3 -0
- data/spec/coveralls/configuration_spec.rb +371 -0
- data/spec/coveralls/coveralls_spec.rb +106 -0
- data/spec/coveralls/fixtures/app/controllers/sample.rb +12 -0
- data/spec/coveralls/fixtures/app/models/airplane.rb +10 -0
- data/spec/coveralls/fixtures/app/models/dog.rb +10 -0
- data/spec/coveralls/fixtures/app/models/house.rb +10 -0
- data/spec/coveralls/fixtures/app/models/robot.rb +10 -0
- data/spec/coveralls/fixtures/app/models/user.rb +10 -0
- data/spec/coveralls/fixtures/app/vendor/vendored_gem.rb +1 -0
- data/spec/coveralls/fixtures/sample.rb +12 -0
- data/spec/coveralls/output_spec.rb +92 -0
- data/spec/coveralls/simplecov_spec.rb +82 -0
- data/spec/spec_helper.rb +82 -0
- metadata +190 -0
@@ -0,0 +1,371 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Coveralls::Configuration do
|
4
|
+
before do
|
5
|
+
ENV.stub(:[]).and_return(nil)
|
6
|
+
end
|
7
|
+
|
8
|
+
describe '.configuration' do
|
9
|
+
it "returns a hash with the default keys" do
|
10
|
+
config = Coveralls::Configuration.configuration
|
11
|
+
config.should be_a(Hash)
|
12
|
+
config.keys.should include(:environment)
|
13
|
+
config.keys.should include(:git)
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'yaml_config' do
|
17
|
+
let(:repo_token) { SecureRandom.hex(4) }
|
18
|
+
let(:repo_secret_token) { SecureRandom.hex(4) }
|
19
|
+
let(:yaml_config) {
|
20
|
+
{
|
21
|
+
'repo_token' => repo_token,
|
22
|
+
'repo_secret_token' => repo_secret_token
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
before do
|
27
|
+
Coveralls::Configuration.stub(:yaml_config).and_return(yaml_config)
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'sets the Yaml config and associated variables if present' do
|
31
|
+
config = Coveralls::Configuration.configuration
|
32
|
+
config[:configuration].should eq(yaml_config)
|
33
|
+
config[:repo_token].should eq(repo_token)
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'uses the repo_secret_token if the repo_token is not set' do
|
37
|
+
yaml_config.delete('repo_token')
|
38
|
+
config = Coveralls::Configuration.configuration
|
39
|
+
config[:configuration].should eq(yaml_config)
|
40
|
+
config[:repo_token].should eq(repo_secret_token)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context 'repo_token in environment' do
|
45
|
+
let(:repo_token) { SecureRandom.hex(4) }
|
46
|
+
|
47
|
+
before do
|
48
|
+
ENV.stub(:[]).with('COVERALLS_REPO_TOKEN').and_return(repo_token)
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'pulls the repo token from the environment if set' do
|
52
|
+
config = Coveralls::Configuration.configuration
|
53
|
+
config[:repo_token].should eq(repo_token)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'flag_name in environment' do
|
58
|
+
let(:flag_name) { 'Test Flag' }
|
59
|
+
|
60
|
+
before do
|
61
|
+
ENV.stub(:[]).with('COVERALLS_FLAG_NAME').and_return(flag_name)
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'pulls the flag name from the environment if set' do
|
65
|
+
config = Coveralls::Configuration.configuration
|
66
|
+
config[:flag_name].should eq(flag_name)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
context 'Services' do
|
71
|
+
context 'with env based service name' do
|
72
|
+
let(:service_name) { 'travis-enterprise' }
|
73
|
+
before do
|
74
|
+
ENV.stub(:[]).with('TRAVIS').and_return('1')
|
75
|
+
ENV.stub(:[]).with('COVERALLS_SERVICE_NAME').and_return(service_name)
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'pulls the service name from the environment if set' do
|
79
|
+
config = Coveralls::Configuration.configuration
|
80
|
+
config[:service_name].should eq(service_name)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
context 'on Travis' do
|
85
|
+
before do
|
86
|
+
ENV.stub(:[]).with('TRAVIS').and_return('1')
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'should set service parameters for this service and no other' do
|
90
|
+
Coveralls::Configuration.should_receive(:set_service_params_for_travis).with(anything, anything)
|
91
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_circleci)
|
92
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_semaphore)
|
93
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_jenkins)
|
94
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_coveralls_local)
|
95
|
+
Coveralls::Configuration.should_receive(:set_standard_service_params_for_generic_ci)
|
96
|
+
Coveralls::Configuration.configuration
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
context 'on CircleCI' do
|
101
|
+
before do
|
102
|
+
ENV.stub(:[]).with('CIRCLECI').and_return('1')
|
103
|
+
end
|
104
|
+
|
105
|
+
it 'should set service parameters for this service and no other' do
|
106
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_travis)
|
107
|
+
Coveralls::Configuration.should_receive(:set_service_params_for_circleci)
|
108
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_semaphore)
|
109
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_jenkins)
|
110
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_coveralls_local)
|
111
|
+
Coveralls::Configuration.should_receive(:set_standard_service_params_for_generic_ci)
|
112
|
+
Coveralls::Configuration.configuration
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
context 'on Semaphore' do
|
117
|
+
before do
|
118
|
+
ENV.stub(:[]).with('SEMAPHORE').and_return('1')
|
119
|
+
end
|
120
|
+
|
121
|
+
it 'should set service parameters for this service and no other' do
|
122
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_travis)
|
123
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_circleci)
|
124
|
+
Coveralls::Configuration.should_receive(:set_service_params_for_semaphore)
|
125
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_jenkins)
|
126
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_coveralls_local)
|
127
|
+
Coveralls::Configuration.should_receive(:set_standard_service_params_for_generic_ci)
|
128
|
+
Coveralls::Configuration.configuration
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
context 'when using Jenkins' do
|
133
|
+
before do
|
134
|
+
ENV.stub(:[]).with('JENKINS_URL').and_return('1')
|
135
|
+
end
|
136
|
+
|
137
|
+
it 'should set service parameters for this service and no other' do
|
138
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_travis)
|
139
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_circleci)
|
140
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_semaphore)
|
141
|
+
Coveralls::Configuration.should_receive(:set_service_params_for_jenkins)
|
142
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_coveralls_local)
|
143
|
+
Coveralls::Configuration.should_receive(:set_standard_service_params_for_generic_ci)
|
144
|
+
Coveralls::Configuration.configuration
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
context 'when running Coveralls locally' do
|
149
|
+
before do
|
150
|
+
ENV.stub(:[]).with('COVERALLS_RUN_LOCALLY').and_return('1')
|
151
|
+
end
|
152
|
+
|
153
|
+
it 'should set service parameters for this service and no other' do
|
154
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_travis)
|
155
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_circleci)
|
156
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_semaphore)
|
157
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_jenkins)
|
158
|
+
Coveralls::Configuration.should_receive(:set_service_params_for_coveralls_local)
|
159
|
+
Coveralls::Configuration.should_receive(:set_standard_service_params_for_generic_ci)
|
160
|
+
Coveralls::Configuration.configuration
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
164
|
+
context 'for generic CI' do
|
165
|
+
before do
|
166
|
+
ENV.stub(:[]).with('CI_NAME').and_return('1')
|
167
|
+
end
|
168
|
+
|
169
|
+
it 'should set service parameters for this service and no other' do
|
170
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_travis)
|
171
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_circleci)
|
172
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_semaphore)
|
173
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_jenkins)
|
174
|
+
Coveralls::Configuration.should_not_receive(:set_service_params_for_coveralls_local)
|
175
|
+
Coveralls::Configuration.should_receive(:set_standard_service_params_for_generic_ci).with(anything)
|
176
|
+
Coveralls::Configuration.configuration
|
177
|
+
end
|
178
|
+
end
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
describe '.set_service_params_for_travis' do
|
183
|
+
let(:travis_job_id) { SecureRandom.hex(4) }
|
184
|
+
before do
|
185
|
+
ENV.stub(:[]).with('TRAVIS_JOB_ID').and_return(travis_job_id)
|
186
|
+
end
|
187
|
+
|
188
|
+
it 'should set the service_job_id' do
|
189
|
+
config = {}
|
190
|
+
Coveralls::Configuration.set_service_params_for_travis(config, nil)
|
191
|
+
config[:service_job_id].should eq(travis_job_id)
|
192
|
+
end
|
193
|
+
|
194
|
+
it 'should set the service_name to travis-ci by default' do
|
195
|
+
config = {}
|
196
|
+
Coveralls::Configuration.set_service_params_for_travis(config, nil)
|
197
|
+
config[:service_name].should eq('travis-ci')
|
198
|
+
end
|
199
|
+
|
200
|
+
it 'should set the service_name to a value if one is passed in' do
|
201
|
+
config = {}
|
202
|
+
random_name = SecureRandom.hex(4)
|
203
|
+
Coveralls::Configuration.set_service_params_for_travis(config, random_name)
|
204
|
+
config[:service_name].should eq(random_name)
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
describe '.set_service_params_for_circleci' do
|
209
|
+
let(:circle_build_num) { SecureRandom.hex(4) }
|
210
|
+
before do
|
211
|
+
ENV.stub(:[]).with('CIRCLE_BUILD_NUM').and_return(circle_build_num)
|
212
|
+
end
|
213
|
+
|
214
|
+
it 'should set the expected parameters' do
|
215
|
+
config = {}
|
216
|
+
Coveralls::Configuration.set_service_params_for_circleci(config)
|
217
|
+
config[:service_name].should eq('circleci')
|
218
|
+
config[:service_number].should eq(circle_build_num)
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
222
|
+
describe '.set_service_params_for_gitlab' do
|
223
|
+
let(:commit_sha) { SecureRandom.hex(32) }
|
224
|
+
let(:service_job_number) { "spec:one" }
|
225
|
+
let(:service_job_id) { 1234 }
|
226
|
+
let(:service_branch) { "feature" }
|
227
|
+
let(:service_number) { 5678 }
|
228
|
+
|
229
|
+
before do
|
230
|
+
ENV.stub(:[]).with('CI_BUILD_NAME').and_return(service_job_number)
|
231
|
+
ENV.stub(:[]).with('CI_PIPELINE_ID').and_return(service_number)
|
232
|
+
ENV.stub(:[]).with('CI_BUILD_ID').and_return(service_job_id)
|
233
|
+
ENV.stub(:[]).with('CI_BUILD_REF_NAME').and_return(service_branch)
|
234
|
+
ENV.stub(:[]).with('CI_BUILD_REF').and_return(commit_sha)
|
235
|
+
end
|
236
|
+
|
237
|
+
it 'should set the expected parameters' do
|
238
|
+
config = {}
|
239
|
+
Coveralls::Configuration.set_service_params_for_gitlab(config)
|
240
|
+
config[:service_name].should eq('gitlab-ci')
|
241
|
+
config[:service_number].should eq(service_number)
|
242
|
+
config[:service_job_number].should eq(service_job_number)
|
243
|
+
config[:service_job_id].should eq(service_job_id)
|
244
|
+
config[:service_branch].should eq(service_branch)
|
245
|
+
config[:commit_sha].should eq(commit_sha)
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
describe '.set_service_params_for_semaphore' do
|
250
|
+
let(:semaphore_build_num) { SecureRandom.hex(4) }
|
251
|
+
before do
|
252
|
+
ENV.stub(:[]).with('SEMAPHORE_BUILD_NUMBER').and_return(semaphore_build_num)
|
253
|
+
end
|
254
|
+
|
255
|
+
it 'should set the expected parameters' do
|
256
|
+
config = {}
|
257
|
+
Coveralls::Configuration.set_service_params_for_semaphore(config)
|
258
|
+
config[:service_name].should eq('semaphore')
|
259
|
+
config[:service_number].should eq(semaphore_build_num)
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
describe '.set_service_params_for_jenkins' do
|
264
|
+
let(:service_pull_request) { '1234' }
|
265
|
+
let(:build_num) { SecureRandom.hex(4) }
|
266
|
+
before do
|
267
|
+
ENV.stub(:[]).with('CI_PULL_REQUEST').and_return(service_pull_request)
|
268
|
+
ENV.stub(:[]).with('BUILD_NUMBER').and_return(build_num)
|
269
|
+
end
|
270
|
+
|
271
|
+
it 'should set the expected parameters' do
|
272
|
+
config = {}
|
273
|
+
Coveralls::Configuration.set_service_params_for_jenkins(config)
|
274
|
+
Coveralls::Configuration.set_standard_service_params_for_generic_ci(config)
|
275
|
+
config[:service_name].should eq('jenkins')
|
276
|
+
config[:service_number].should eq(build_num)
|
277
|
+
config[:service_pull_request].should eq(service_pull_request)
|
278
|
+
end
|
279
|
+
end
|
280
|
+
|
281
|
+
describe '.set_service_params_for_coveralls_local' do
|
282
|
+
it 'should set the expected parameters' do
|
283
|
+
config = {}
|
284
|
+
Coveralls::Configuration.set_service_params_for_coveralls_local(config)
|
285
|
+
config[:service_name].should eq('coveralls-ruby')
|
286
|
+
config[:service_job_id].should be_nil
|
287
|
+
config[:service_event_type].should eq('manual')
|
288
|
+
end
|
289
|
+
end
|
290
|
+
|
291
|
+
describe '.set_service_params_for_generic_ci' do
|
292
|
+
let(:service_name) { SecureRandom.hex(4) }
|
293
|
+
let(:service_number) { SecureRandom.hex(4) }
|
294
|
+
let(:service_build_url) { SecureRandom.hex(4) }
|
295
|
+
let(:service_branch) { SecureRandom.hex(4) }
|
296
|
+
let(:service_pull_request) { '1234' }
|
297
|
+
|
298
|
+
before do
|
299
|
+
ENV.stub(:[]).with('CI_NAME').and_return(service_name)
|
300
|
+
ENV.stub(:[]).with('CI_BUILD_NUMBER').and_return(service_number)
|
301
|
+
ENV.stub(:[]).with('CI_BUILD_URL').and_return(service_build_url)
|
302
|
+
ENV.stub(:[]).with('CI_BRANCH').and_return(service_branch)
|
303
|
+
ENV.stub(:[]).with('CI_PULL_REQUEST').and_return(service_pull_request)
|
304
|
+
end
|
305
|
+
|
306
|
+
it 'should set the expected parameters' do
|
307
|
+
config = {}
|
308
|
+
Coveralls::Configuration.set_standard_service_params_for_generic_ci(config)
|
309
|
+
config[:service_name].should eq(service_name)
|
310
|
+
config[:service_number].should eq(service_number)
|
311
|
+
config[:service_build_url].should eq(service_build_url)
|
312
|
+
config[:service_branch].should eq(service_branch)
|
313
|
+
config[:service_pull_request].should eq(service_pull_request)
|
314
|
+
end
|
315
|
+
end
|
316
|
+
|
317
|
+
describe '.set_service_params_for_appveyor' do
|
318
|
+
let(:service_number) { SecureRandom.hex(4) }
|
319
|
+
let(:service_branch) { SecureRandom.hex(4) }
|
320
|
+
let(:commit_sha) { SecureRandom.hex(4) }
|
321
|
+
let(:repo_name) { SecureRandom.hex(4) }
|
322
|
+
|
323
|
+
before do
|
324
|
+
ENV.stub(:[]).with('APPVEYOR_BUILD_VERSION').and_return(service_number)
|
325
|
+
ENV.stub(:[]).with('APPVEYOR_REPO_BRANCH').and_return(service_branch)
|
326
|
+
ENV.stub(:[]).with('APPVEYOR_REPO_COMMIT').and_return(commit_sha)
|
327
|
+
ENV.stub(:[]).with('APPVEYOR_REPO_NAME').and_return(repo_name)
|
328
|
+
end
|
329
|
+
|
330
|
+
it 'should set the expected parameters' do
|
331
|
+
config = {}
|
332
|
+
Coveralls::Configuration.set_service_params_for_appveyor(config)
|
333
|
+
config[:service_name].should eq('appveyor')
|
334
|
+
config[:service_number].should eq(service_number)
|
335
|
+
config[:service_branch].should eq(service_branch)
|
336
|
+
config[:commit_sha].should eq(commit_sha)
|
337
|
+
config[:service_build_url].should eq('https://ci.appveyor.com/project/%s/build/%s' % [repo_name, service_number])
|
338
|
+
end
|
339
|
+
end
|
340
|
+
|
341
|
+
describe '.git' do
|
342
|
+
let(:git_id) { SecureRandom.hex(2) }
|
343
|
+
let(:author_name) { SecureRandom.hex(4) }
|
344
|
+
let(:author_email) { SecureRandom.hex(4) }
|
345
|
+
let(:committer_name) { SecureRandom.hex(4) }
|
346
|
+
let(:committer_email) { SecureRandom.hex(4) }
|
347
|
+
let(:message) { SecureRandom.hex(4) }
|
348
|
+
let(:branch) { SecureRandom.hex(4) }
|
349
|
+
|
350
|
+
before do
|
351
|
+
allow(ENV).to receive(:fetch).with('GIT_ID', anything).and_return(git_id)
|
352
|
+
allow(ENV).to receive(:fetch).with('GIT_AUTHOR_NAME', anything).and_return(author_name)
|
353
|
+
allow(ENV).to receive(:fetch).with('GIT_AUTHOR_EMAIL', anything).and_return(author_email)
|
354
|
+
allow(ENV).to receive(:fetch).with('GIT_COMMITTER_NAME', anything).and_return(committer_name)
|
355
|
+
allow(ENV).to receive(:fetch).with('GIT_COMMITTER_EMAIL', anything).and_return(committer_email)
|
356
|
+
allow(ENV).to receive(:fetch).with('GIT_MESSAGE', anything).and_return(message)
|
357
|
+
allow(ENV).to receive(:fetch).with('GIT_BRANCH', anything).and_return(branch)
|
358
|
+
end
|
359
|
+
|
360
|
+
it 'uses ENV vars' do
|
361
|
+
config = Coveralls::Configuration.git
|
362
|
+
config[:head][:id].should eq(git_id)
|
363
|
+
config[:head][:author_name].should eq(author_name)
|
364
|
+
config[:head][:author_email].should eq(author_email)
|
365
|
+
config[:head][:committer_name].should eq(committer_name)
|
366
|
+
config[:head][:committer_email].should eq(committer_email)
|
367
|
+
config[:head][:message].should eq(message)
|
368
|
+
config[:branch].should eq(branch)
|
369
|
+
end
|
370
|
+
end
|
371
|
+
end
|
@@ -0,0 +1,106 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Coveralls do
|
4
|
+
before do
|
5
|
+
SimpleCov.stub(:start)
|
6
|
+
stub_api_post
|
7
|
+
Coveralls.testing = true
|
8
|
+
end
|
9
|
+
|
10
|
+
describe "#will_run?" do
|
11
|
+
it "checks CI environemnt variables" do
|
12
|
+
Coveralls.will_run?.should be_truthy
|
13
|
+
end
|
14
|
+
|
15
|
+
context "with CI disabled" do
|
16
|
+
before do
|
17
|
+
@ci = ENV['CI']
|
18
|
+
ENV['CI'] = nil
|
19
|
+
@coveralls_run_locally = ENV['COVERALLS_RUN_LOCALLY']
|
20
|
+
ENV['COVERALLS_RUN_LOCALLY'] = nil
|
21
|
+
|
22
|
+
Coveralls.testing = false
|
23
|
+
end
|
24
|
+
|
25
|
+
after do
|
26
|
+
ENV['CI'] = @ci
|
27
|
+
ENV['COVERALLS_RUN_LOCALLY'] = @coveralls_run_locally
|
28
|
+
end
|
29
|
+
|
30
|
+
it "indicates no run" do
|
31
|
+
Coveralls.will_run?.should be_falsy
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe "#should_run?" do
|
37
|
+
it "outputs to stdout when running locally" do
|
38
|
+
Coveralls.testing = false
|
39
|
+
Coveralls.run_locally = true
|
40
|
+
silence do
|
41
|
+
Coveralls.should_run?
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "#wear!" do
|
47
|
+
it "receives block" do
|
48
|
+
::SimpleCov.should_receive(:start)
|
49
|
+
silence do
|
50
|
+
subject.wear! do
|
51
|
+
add_filter 's'
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
it "uses string" do
|
57
|
+
::SimpleCov.should_receive(:start).with 'test_frameworks'
|
58
|
+
silence do
|
59
|
+
subject.wear! 'test_frameworks'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
it "uses default" do
|
64
|
+
::SimpleCov.should_receive(:start).with no_args
|
65
|
+
silence do
|
66
|
+
subject.wear!
|
67
|
+
end
|
68
|
+
::SimpleCov.filters.map(&:filter_argument).should include 'vendor'
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe "#wear_merged!" do
|
73
|
+
it "sets formatter to NilFormatter" do
|
74
|
+
::SimpleCov.should_receive(:start).with 'rails'
|
75
|
+
silence do
|
76
|
+
subject.wear_merged! 'rails' do
|
77
|
+
add_filter "/spec/"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
::SimpleCov.formatter.should be Coveralls::NilFormatter
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
describe "#push!" do
|
85
|
+
it "sends existing test results", :if => RUBY_VERSION >= "1.9" do
|
86
|
+
result = false
|
87
|
+
silence do
|
88
|
+
result = subject.push!
|
89
|
+
end
|
90
|
+
result.should be_truthy
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
describe "#setup!" do
|
95
|
+
it "sets SimpleCov adapter" do
|
96
|
+
SimpleCovTmp = SimpleCov
|
97
|
+
Object.send :remove_const, :SimpleCov
|
98
|
+
silence { subject.setup! }
|
99
|
+
SimpleCov = SimpleCovTmp
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
after(:all) do
|
104
|
+
setup_formatter
|
105
|
+
end
|
106
|
+
end
|