slather 1.3.0 → 1.4.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 +5 -13
- data/.travis.yml +0 -1
- data/README.md +3 -14
- data/lib/cocoapods_plugin.rb +10 -0
- data/lib/slather.rb +1 -3
- data/lib/slather/coverage_file.rb +6 -2
- data/lib/slather/version.rb +1 -1
- data/slather.gemspec +2 -1
- data/spec/slather/cocoapods_plugin_spec.rb +21 -0
- data/spec/slather/coverage_file_spec.rb +5 -0
- metadata +40 -25
- data/spec/slather/slather_spec.rb +0 -19
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ODBhZWIyMjZiOTA0YjllZDk2NWU5ZTYyNWU4MTgzN2U1NTM2NGZmZA==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 6570b6eb98ca404460677120ce2bff49446d5047
|
4
|
+
data.tar.gz: a387ce407d1748ba2fcb6cc57261c601f53900fb
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
MzMyMzk5N2E2NDdkN2NiMDYwY2ZlYTNlOTQyYzkyNjRhMDU3NzllZjVjZDc4
|
11
|
-
ZDUxMDE2ZTM2NjJjYTJlMTQ1MGNjNTZhMTQ5NjlkM2JjMmZiYTk=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
Y2ViZTAzNjViOWYyNjFhMDlmOGQ0NWQwYTU4YzNiZTcwZmYwZGVhNjJhMWM1
|
14
|
-
YTA2ZjYzMmU5OTIzN2NlMzYyYjc0ZWRhNTA1MTA0Y2Y1NzBlNWQ1ZDVmZjYz
|
15
|
-
MjM0ZDhlYjU3YjZiYjM4OWY5ZjBlNzdiZDhhZDk1ZDNiNDQzNTY=
|
6
|
+
metadata.gz: bd10828959766f25526d693082585fb5a08295c79e3f1c8e48181abb3c3235e85f043c45a2fdb8cef4e33f3feaf1b39054a8df4ef64d4a78567f85b8c0989e61
|
7
|
+
data.tar.gz: 3226f015ea7a407d33112f275d231ef3935f8e96d1d9724ab93b577ed2b049d21e2d24765d80188a7826508b62ce403a22248071c54d0d3bb0e087545dc79d4d
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -74,20 +74,9 @@ after_success: slather
|
|
74
74
|
|
75
75
|
### Coverage for code included via CocoaPods
|
76
76
|
|
77
|
-
If you're trying to compute the coverage of code that has been included via
|
78
|
-
|
79
|
-
|
80
|
-
# Podfile
|
81
|
-
|
82
|
-
begin
|
83
|
-
require 'slather'
|
84
|
-
Slather.prepare_pods(self)
|
85
|
-
rescue LoadError
|
86
|
-
puts 'Slather has been disabled (not installed).'
|
87
|
-
end
|
88
|
-
```
|
89
|
-
|
90
|
-
Then, tell slather where to find the source files for your Pod.
|
77
|
+
If you're trying to compute the coverage of code that has been included via
|
78
|
+
CocoaPods, you will need to tell slather where to find the source files for
|
79
|
+
your Pod.
|
91
80
|
|
92
81
|
```yml
|
93
82
|
# .slather.yml
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'slather'
|
2
|
+
|
3
|
+
Pod::HooksManager.register(:post_install) do |installer_context|
|
4
|
+
sandbox_root = installer_context.sandbox_root
|
5
|
+
sandbox = Pod::Sandbox.new(sandbox_root)
|
6
|
+
project = Xcodeproj::Project.open(sandbox.project_path)
|
7
|
+
project.slather_setup_for_coverage()
|
8
|
+
project.save()
|
9
|
+
end
|
10
|
+
|
data/lib/slather.rb
CHANGED
@@ -11,9 +11,7 @@ module Slather
|
|
11
11
|
Encoding.default_external = "utf-8"
|
12
12
|
|
13
13
|
def self.prepare_pods(pods)
|
14
|
-
|
15
|
-
installer.project.slather_setup_for_coverage
|
16
|
-
end
|
14
|
+
Pod::UI.warn("[Slather] prepare_pods is now deprecated. The call to prepare_pods in your Podfile can simply be ommitted.")
|
17
15
|
end
|
18
16
|
|
19
17
|
end
|
@@ -47,7 +47,7 @@ module Slather
|
|
47
47
|
gcov_data = File.new(gcov_file_name).read
|
48
48
|
end
|
49
49
|
|
50
|
-
gcov_files_created.each { |file| FileUtils.
|
50
|
+
gcov_files_created.each { |file| FileUtils.rm_f(file) }
|
51
51
|
|
52
52
|
gcov_data
|
53
53
|
end
|
@@ -88,7 +88,11 @@ module Slather
|
|
88
88
|
end
|
89
89
|
|
90
90
|
def percentage_lines_tested
|
91
|
-
|
91
|
+
if num_lines_testable > 0
|
92
|
+
(num_lines_tested / num_lines_testable.to_f) * 100.0
|
93
|
+
else
|
94
|
+
0
|
95
|
+
end
|
92
96
|
end
|
93
97
|
|
94
98
|
def ignored?
|
data/lib/slather/version.rb
CHANGED
data/slather.gemspec
CHANGED
@@ -22,7 +22,8 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_development_dependency "rake", "~> 10.3"
|
23
23
|
spec.add_development_dependency "rspec", "~> 2.14"
|
24
24
|
spec.add_development_dependency "pry", "~> 0.9"
|
25
|
+
spec.add_development_dependency "cocoapods", "~> 0.34"
|
25
26
|
|
26
27
|
spec.add_dependency "clamp", "~> 0.6"
|
27
|
-
spec.add_dependency "xcodeproj", "~> 0.
|
28
|
+
spec.add_dependency "xcodeproj", "~> 0.19.2"
|
28
29
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'cocoapods'
|
2
|
+
require File.join(File.dirname(__FILE__), '../../lib/cocoapods_plugin')
|
3
|
+
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
4
|
+
|
5
|
+
describe Slather do
|
6
|
+
describe 'CocoaPods Plugin' do
|
7
|
+
it 'should setup slather for coverage in the Pods project' do
|
8
|
+
mock_project = double(Xcodeproj::Project)
|
9
|
+
allow(Xcodeproj::Project).to receive(:open).and_return(mock_project)
|
10
|
+
expect(mock_project).to receive(:slather_setup_for_coverage)
|
11
|
+
expect(mock_project).to receive(:save)
|
12
|
+
|
13
|
+
# Execute the post_install hook via CocoaPods
|
14
|
+
sandbox_root = 'Pods'
|
15
|
+
sandbox = Pod::Sandbox.new(sandbox_root)
|
16
|
+
context = Pod::Installer::HooksContext.generate(sandbox, [])
|
17
|
+
Pod::HooksManager.run(:post_install, context)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
@@ -130,6 +130,11 @@ OBJC
|
|
130
130
|
it "should return the correct percentage of lines that are tested" do
|
131
131
|
expect(coverage_file.percentage_lines_tested).to eq(50)
|
132
132
|
end
|
133
|
+
|
134
|
+
it "should return 0" do
|
135
|
+
coverage_file.stub(:num_lines_testable).and_return(0)
|
136
|
+
expect(coverage_file.percentage_lines_tested).to eq(0)
|
137
|
+
end
|
133
138
|
end
|
134
139
|
|
135
140
|
end
|
metadata
CHANGED
@@ -1,113 +1,127 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slather
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Larsen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.6'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: coveralls
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '10.3'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '2.14'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '2.14'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: pry
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0.9'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.9'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: cocoapods
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.34'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.34'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: clamp
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- - ~>
|
101
|
+
- - "~>"
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0.6'
|
90
104
|
type: :runtime
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- - ~>
|
108
|
+
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0.6'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: xcodeproj
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- - ~>
|
115
|
+
- - "~>"
|
102
116
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
117
|
+
version: 0.19.2
|
104
118
|
type: :runtime
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- - ~>
|
122
|
+
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
124
|
+
version: 0.19.2
|
111
125
|
description:
|
112
126
|
email:
|
113
127
|
- mark@venmo.com
|
@@ -116,15 +130,16 @@ executables:
|
|
116
130
|
extensions: []
|
117
131
|
extra_rdoc_files: []
|
118
132
|
files:
|
119
|
-
- .coveralls.yml
|
120
|
-
- .gitignore
|
121
|
-
- .travis.yml
|
133
|
+
- ".coveralls.yml"
|
134
|
+
- ".gitignore"
|
135
|
+
- ".travis.yml"
|
122
136
|
- Gemfile
|
123
137
|
- LICENSE.txt
|
124
138
|
- README.md
|
125
139
|
- Rakefile
|
126
140
|
- bin/slather
|
127
141
|
- docs/logo.jpg
|
142
|
+
- lib/cocoapods_plugin.rb
|
128
143
|
- lib/slather.rb
|
129
144
|
- lib/slather/coverage_file.rb
|
130
145
|
- lib/slather/coverage_service/coveralls.rb
|
@@ -147,13 +162,13 @@ files:
|
|
147
162
|
- spec/fixtures/fixturesTests/fixturesTests.m
|
148
163
|
- spec/fixtures/fixturesTests/peekaviewTests.m
|
149
164
|
- spec/fixtures/gutter.json
|
165
|
+
- spec/slather/cocoapods_plugin_spec.rb
|
150
166
|
- spec/slather/coverage_file_spec.rb
|
151
167
|
- spec/slather/coverage_service/coveralls_spec.rb
|
152
168
|
- spec/slather/coverage_service/gutter_json_spec.rb
|
153
169
|
- spec/slather/coverage_service/simple_output_spec.rb
|
154
170
|
- spec/slather/fixtures.gcno
|
155
171
|
- spec/slather/project_spec.rb
|
156
|
-
- spec/slather/slather_spec.rb
|
157
172
|
- spec/spec_helper.rb
|
158
173
|
homepage: https://github.com/marklarr/slather
|
159
174
|
licenses:
|
@@ -165,12 +180,12 @@ require_paths:
|
|
165
180
|
- lib
|
166
181
|
required_ruby_version: !ruby/object:Gem::Requirement
|
167
182
|
requirements:
|
168
|
-
- -
|
183
|
+
- - ">="
|
169
184
|
- !ruby/object:Gem::Version
|
170
185
|
version: '0'
|
171
186
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
187
|
requirements:
|
173
|
-
- -
|
188
|
+
- - ">="
|
174
189
|
- !ruby/object:Gem::Version
|
175
190
|
version: '0'
|
176
191
|
requirements: []
|
@@ -193,11 +208,11 @@ test_files:
|
|
193
208
|
- spec/fixtures/fixturesTests/fixturesTests.m
|
194
209
|
- spec/fixtures/fixturesTests/peekaviewTests.m
|
195
210
|
- spec/fixtures/gutter.json
|
211
|
+
- spec/slather/cocoapods_plugin_spec.rb
|
196
212
|
- spec/slather/coverage_file_spec.rb
|
197
213
|
- spec/slather/coverage_service/coveralls_spec.rb
|
198
214
|
- spec/slather/coverage_service/gutter_json_spec.rb
|
199
215
|
- spec/slather/coverage_service/simple_output_spec.rb
|
200
216
|
- spec/slather/fixtures.gcno
|
201
217
|
- spec/slather/project_spec.rb
|
202
|
-
- spec/slather/slather_spec.rb
|
203
218
|
- spec/spec_helper.rb
|
@@ -1,19 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), '..', 'spec_helper')
|
2
|
-
|
3
|
-
describe Slather do
|
4
|
-
|
5
|
-
describe "::prepare_pods" do
|
6
|
-
it "should setup the pods project for coverage" do
|
7
|
-
pods_mock = double(Object)
|
8
|
-
|
9
|
-
installer_mock = double(Object)
|
10
|
-
project_mock = double(Xcodeproj::Project)
|
11
|
-
installer_mock.stub(:project).and_return(project_mock)
|
12
|
-
expect(project_mock).to receive(:slather_setup_for_coverage)
|
13
|
-
|
14
|
-
expect(pods_mock).to receive(:post_install).and_yield(installer_mock)
|
15
|
-
|
16
|
-
Slather.prepare_pods(pods_mock)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|