solargraph_test_coverage 0.1.2 → 0.2.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 +4 -4
- data/Gemfile +4 -2
- data/Gemfile.lock +2 -6
- data/README.md +24 -16
- data/Rakefile +4 -2
- data/lib/solargraph_test_coverage/config.rb +81 -0
- data/lib/solargraph_test_coverage/helpers.rb +63 -9
- data/lib/solargraph_test_coverage/test_coverage_reporter.rb +38 -14
- data/lib/solargraph_test_coverage/test_runner.rb +55 -0
- data/lib/solargraph_test_coverage/version.rb +3 -1
- data/lib/solargraph_test_coverage.rb +9 -10
- data/solargraph_test_coverage.gemspec +5 -4
- metadata +9 -27
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 663088457d9de39c37ee21f06b2bd16be5a983025af2909f55acfa1d432be0f4
|
4
|
+
data.tar.gz: adc3da11d72363b2c1d3ca4a8db307609b34090d9bdf24643a411e47e0a8be09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3407c7390c65e09f14c8f872455317ef28e8dfc30592554d9087d5bf1fb34e30b802077b7098dd1adc7c1a2082ce29c37b999a358654a929c614d6952e376b4
|
7
|
+
data.tar.gz: 7c252dc55695be04bdfed84d654d3d1ab41143c4d7cd606488f5cdd56365bea3eee8968f8674d1aa4e1d38e254ece0170dd3f6567752bf46e6fe4451da783f8e
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
solargraph_test_coverage (0.
|
5
|
-
rspec-core (~> 3.10, >= 3.10.0)
|
4
|
+
solargraph_test_coverage (0.2.0)
|
6
5
|
solargraph (~> 0.40, > 0.40)
|
7
6
|
|
8
7
|
GEM
|
@@ -18,7 +17,7 @@ GEM
|
|
18
17
|
rexml
|
19
18
|
kramdown-parser-gfm (1.1.0)
|
20
19
|
kramdown (~> 2.0)
|
21
|
-
nokogiri (1.12.
|
20
|
+
nokogiri (1.12.4-x86_64-darwin)
|
22
21
|
racc (~> 1.4)
|
23
22
|
parallel (1.20.1)
|
24
23
|
parser (3.0.2.0)
|
@@ -30,9 +29,6 @@ GEM
|
|
30
29
|
reverse_markdown (2.0.0)
|
31
30
|
nokogiri
|
32
31
|
rexml (3.2.5)
|
33
|
-
rspec-core (3.10.1)
|
34
|
-
rspec-support (~> 3.10.0)
|
35
|
-
rspec-support (3.10.2)
|
36
32
|
rubocop (1.20.0)
|
37
33
|
parallel (~> 1.10)
|
38
34
|
parser (>= 3.0.0.0)
|
data/README.md
CHANGED
@@ -2,7 +2,14 @@
|
|
2
2
|
|
3
3
|
Solargraph Plugin that provides a diagnostic reporter for unit-test coverage.
|
4
4
|
|
5
|
-
Currently
|
5
|
+
Currently there are four different diagnostics:
|
6
|
+
- Line is not covered
|
7
|
+
- Branch is not covered (With a note if it's the 'THEN' or 'ELSE' branch)
|
8
|
+
- Spec is failing (Error message will be on line 1)
|
9
|
+
- Spec cannot be found (Error message will be on line 1)
|
10
|
+
|
11
|
+
|
12
|
+
Currently expects RSpec/Rails.
|
6
13
|
|
7
14
|
## Installation
|
8
15
|
|
@@ -13,6 +20,7 @@ gem 'solargraph_test_coverage'
|
|
13
20
|
```
|
14
21
|
|
15
22
|
Then add this to your `.solargraph.yml` config:
|
23
|
+
|
16
24
|
```yaml
|
17
25
|
plugins:
|
18
26
|
- solargraph_test_coverage
|
@@ -20,16 +28,22 @@ reporters:
|
|
20
28
|
- test_coverage
|
21
29
|
```
|
22
30
|
|
23
|
-
|
24
|
-
|
25
|
-
|
31
|
+
Additionally, a `test_coverage` key can be added to `.solargraph.yml`. The default values are shown below:
|
32
|
+
|
33
|
+
```yaml
|
34
|
+
test_coverage:
|
35
|
+
preload_rails: true
|
36
|
+
test_framework: rspec # or minitest
|
37
|
+
coverage:
|
38
|
+
- line
|
39
|
+
- branch
|
40
|
+
- test_failing
|
41
|
+
- test_missing
|
42
|
+
exclude_paths:
|
43
|
+
- 'app/controller'
|
26
44
|
```
|
27
45
|
|
28
|
-
to
|
29
46
|
|
30
|
-
```ruby
|
31
|
-
require_relative "spec_helper"
|
32
|
-
```
|
33
47
|
|
34
48
|
And then execute:
|
35
49
|
|
@@ -41,18 +55,12 @@ Or install it yourself as:
|
|
41
55
|
|
42
56
|
## Usage
|
43
57
|
|
44
|
-
With solargraph running and connected to your text editor, you should see diagnostic messages for test
|
45
|
-
|
46
|
-
Currently there are four different messages:
|
47
|
-
- Line is not covered
|
48
|
-
- Branch is not covered (With a note if it's the 'THEN' or 'ELSE' branch)
|
49
|
-
- Spec is failing (Error message will be on line 1)
|
50
|
-
- Spec cannot be found (Error message will be on line 1)
|
58
|
+
With solargraph running and connected to your text editor, you should see diagnostic messages for line coverage, branch coverage, test file presence, and test status (if it's failing)
|
51
59
|
|
52
60
|
|
53
61
|
## Contributing
|
54
62
|
|
55
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
63
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/deepdivr/solargraph_test_coverage.
|
56
64
|
|
57
65
|
|
58
66
|
## License
|
data/Rakefile
CHANGED
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# frozen_string_literal = true
|
4
|
+
|
5
|
+
module SolargraphTestCoverage
|
6
|
+
class Config
|
7
|
+
class << self
|
8
|
+
DEFAULTS = {
|
9
|
+
'preload_rails' => true, # can be true or false - performance optimization
|
10
|
+
'test_framework' => 'rspec', # can be 'rspec' or 'minitest'
|
11
|
+
'coverage' => [ # All diagnostics are enabled by default
|
12
|
+
'line', # Specifying an array with fewer diagnostics will overwrite this
|
13
|
+
'branch',
|
14
|
+
'test_failing',
|
15
|
+
'test_missing'
|
16
|
+
],
|
17
|
+
'exclude_paths' => [ # don't attempt to find/run a spec for files that match these paths
|
18
|
+
'app/controller'
|
19
|
+
]
|
20
|
+
}.freeze
|
21
|
+
|
22
|
+
def preload_rails?
|
23
|
+
plugin_config['preload_rails']
|
24
|
+
end
|
25
|
+
|
26
|
+
def exclude_paths
|
27
|
+
plugin_config['exclude_paths']
|
28
|
+
end
|
29
|
+
|
30
|
+
def line_coverage?
|
31
|
+
plugin_config['coverage'].include? 'line'
|
32
|
+
end
|
33
|
+
|
34
|
+
def branch_coverage?
|
35
|
+
plugin_config['coverage'].include? 'branch'
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_failing_coverage?
|
39
|
+
plugin_config['coverage'].include? 'test_failing'
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_missing_coverage?
|
43
|
+
plugin_config['coverage'].include? 'test_missing'
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_framework
|
47
|
+
plugin_config['test_framework']
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_dir
|
51
|
+
case test_framework
|
52
|
+
when 'rspec'
|
53
|
+
'spec'
|
54
|
+
when 'minitest'
|
55
|
+
'test'
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def test_file_suffix
|
60
|
+
case test_framework
|
61
|
+
when 'rspec'
|
62
|
+
'_spec.rb'
|
63
|
+
when 'minitest'
|
64
|
+
'_test.rb'
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def plugin_config
|
71
|
+
@plugin_config ||= workspace_config.tap do |config|
|
72
|
+
DEFAULTS.each_key { |key| config[key] = DEFAULTS[key] unless config.key?(key) }
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def workspace_config
|
77
|
+
Solargraph::Workspace::Config.new(Dir.pwd).raw_data.fetch('test_coverage', {})
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -3,14 +3,40 @@
|
|
3
3
|
module SolargraphTestCoverage
|
4
4
|
module Helpers
|
5
5
|
#
|
6
|
-
#
|
7
|
-
#
|
8
|
-
#
|
6
|
+
# Determines if a file should be excluded from running diagnostics
|
7
|
+
#
|
8
|
+
# @return [Boolean]
|
9
|
+
#
|
10
|
+
def exclude_file?(source_filename)
|
11
|
+
return true if source_filename.start_with? File.join(Dir.pwd, Config.test_dir)
|
12
|
+
|
13
|
+
Config.exclude_paths.each { |path| return true if source_filename.sub(Dir.pwd, '').include? path }
|
14
|
+
|
15
|
+
false
|
16
|
+
end
|
17
|
+
|
18
|
+
#
|
19
|
+
# Attempts to find the corresponding unit test file
|
9
20
|
#
|
10
21
|
# @return [String]
|
11
22
|
#
|
12
|
-
def
|
13
|
-
|
23
|
+
def test_file(source)
|
24
|
+
@test_file ||= begin
|
25
|
+
relative_filepath = source.location.filename.sub(Dir.pwd, '').split('/').reject(&:empty?)
|
26
|
+
relative_filepath[0] = Config.test_dir
|
27
|
+
|
28
|
+
File.join(Dir.pwd, relative_filepath.join('/'))
|
29
|
+
.sub('.rb', Config.test_file_suffix)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# Memoized wrapper for #run_test
|
35
|
+
#
|
36
|
+
# @return [Hash]
|
37
|
+
#
|
38
|
+
def results(source)
|
39
|
+
@results ||= run_test(source)
|
14
40
|
end
|
15
41
|
|
16
42
|
#
|
@@ -20,11 +46,11 @@ module SolargraphTestCoverage
|
|
20
46
|
#
|
21
47
|
# @return [Hash]
|
22
48
|
#
|
23
|
-
def
|
49
|
+
def run_test(source)
|
24
50
|
ForkProcess.run do
|
25
51
|
Coverage.start(lines: true, branches: true)
|
26
|
-
|
27
|
-
Coverage.result.fetch(source.location.filename, {}).merge({ test_status:
|
52
|
+
runner = TestRunner.with(test_file(source)).run!
|
53
|
+
Coverage.result.fetch(source.location.filename, {}).merge({ test_status: runner.passed? })
|
28
54
|
end
|
29
55
|
end
|
30
56
|
|
@@ -55,6 +81,22 @@ module SolargraphTestCoverage
|
|
55
81
|
Branch.build_from(results).reject(&:covered?)
|
56
82
|
end
|
57
83
|
|
84
|
+
#
|
85
|
+
# requires the specified testing framework
|
86
|
+
#
|
87
|
+
# @return [Boolean]
|
88
|
+
#
|
89
|
+
def self.require_testing_framework!
|
90
|
+
case Config.test_framework
|
91
|
+
when 'rspec'
|
92
|
+
require 'rspec/core'
|
93
|
+
when 'minitest'
|
94
|
+
require 'minitest/autorun'
|
95
|
+
else
|
96
|
+
raise UnknownTestingGem
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
58
100
|
#
|
59
101
|
# Only called once, when gem is loaded
|
60
102
|
# Preloads rails via spec/rails_helper if Rails isn't already defined
|
@@ -63,21 +105,33 @@ module SolargraphTestCoverage
|
|
63
105
|
# We rescue the LoadError since Solargraph would catch it otherwise,
|
64
106
|
# and not load the plugin at all.
|
65
107
|
#
|
108
|
+
# Adding the spec/ directory to the $LOAD_PATH lets 'require "spec_helper"'
|
109
|
+
# commonly found in rails_helper work.
|
110
|
+
#
|
66
111
|
# If Coverage was started in Rails/Spec helper by SimpleCov,
|
67
112
|
# calling Coverage.result after requiring stops and resets it.
|
68
113
|
#
|
69
114
|
# This is a bit experimental - I'm not sure if there will be downstream side-effects
|
70
115
|
# from having Rails preloaded, but... we'll see :)
|
71
116
|
#
|
117
|
+
# @return [Boolean]
|
118
|
+
#
|
72
119
|
def self.preload_rails!
|
73
120
|
return if defined?(Rails)
|
74
121
|
return unless File.file?('spec/rails_helper.rb')
|
75
122
|
|
76
|
-
|
123
|
+
spec_path = File.join(Dir.pwd, 'spec')
|
124
|
+
$LOAD_PATH.unshift(spec_path) unless $LOAD_PATH.include?(spec_path)
|
125
|
+
|
126
|
+
require File.expand_path('spec/rails_helper')
|
77
127
|
Coverage.result(stop: true, clear: true) if Coverage.running?
|
128
|
+
|
129
|
+
true
|
78
130
|
rescue LoadError => e
|
79
131
|
Solargraph::Logging.logger.warn "LoadError when trying to require 'rails_helper'"
|
80
132
|
Solargraph::Logging.logger.warn "[#{e.class}] #{e.message}"
|
133
|
+
|
134
|
+
false
|
81
135
|
end
|
82
136
|
end
|
83
137
|
end
|
@@ -11,29 +11,46 @@ module SolargraphTestCoverage
|
|
11
11
|
# @return [Array]
|
12
12
|
#
|
13
13
|
def diagnose(source, _api_map)
|
14
|
-
return [] if source.code.empty? ||
|
14
|
+
return [] if source.code.empty? || exclude_file?(source.location.filename)
|
15
|
+
return [test_missing_error(source)] unless File.file?(test_file(source))
|
15
16
|
|
16
|
-
|
17
|
-
return [no_test_file_error(source, test_file)] unless File.file?(test_file)
|
18
|
-
|
19
|
-
results = run_rspec(source, test_file)
|
20
|
-
lines = uncovered_lines(results).map { |line| line_coverage_warning(source, line) }
|
21
|
-
branches = uncovered_branches(results).map { |branch| branch_coverage_warning(source, branch.report) }
|
22
|
-
status = results[:test_status].zero? ? [] : [test_failing_error(source)]
|
23
|
-
|
24
|
-
lines + branches + status
|
17
|
+
messages(source)
|
25
18
|
rescue ChildFailedError
|
26
19
|
[]
|
27
20
|
end
|
28
21
|
|
29
22
|
private
|
30
23
|
|
24
|
+
def messages(source)
|
25
|
+
messages = [
|
26
|
+
line_warnings(source),
|
27
|
+
branch_warnings(source),
|
28
|
+
test_passing_error(source)
|
29
|
+
]
|
30
|
+
|
31
|
+
messages.flatten.compact
|
32
|
+
end
|
33
|
+
|
34
|
+
def line_warnings(source)
|
35
|
+
uncovered_lines(results(source)).map { |line| line_coverage_warning(source, line) }
|
36
|
+
end
|
37
|
+
|
38
|
+
def branch_warnings(source)
|
39
|
+
uncovered_branches(results(source)).map { |branch| branch_coverage_warning(source, branch.report) }
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_passing_error(source)
|
43
|
+
results(source)[:test_status] ? [] : [test_failing_error(source)]
|
44
|
+
end
|
45
|
+
|
31
46
|
#
|
32
47
|
# Creates LSP warning message for missing line coverage
|
33
48
|
#
|
34
49
|
# @return [Hash]
|
35
50
|
#
|
36
51
|
def line_coverage_warning(source, line)
|
52
|
+
return unless Config.line_coverage?
|
53
|
+
|
37
54
|
{
|
38
55
|
range: Solargraph::Range.from_to(line, 0, line, source.code.lines[line].length).to_hash,
|
39
56
|
severity: Solargraph::Diagnostics::Severities::WARNING,
|
@@ -51,8 +68,11 @@ module SolargraphTestCoverage
|
|
51
68
|
# @return [Hash]
|
52
69
|
#
|
53
70
|
def branch_coverage_warning(source, report)
|
71
|
+
return unless Config.branch_coverage?
|
72
|
+
|
54
73
|
{
|
55
|
-
range: Solargraph::Range.from_to(report[:line] - 1, 0, report[:line] - 1,
|
74
|
+
range: Solargraph::Range.from_to(report[:line] - 1, 0, report[:line] - 1,
|
75
|
+
source.code.lines[report[:line] - 1].length).to_hash,
|
56
76
|
severity: Solargraph::Diagnostics::Severities::WARNING,
|
57
77
|
source: 'TestCoverage',
|
58
78
|
message: "'#{report[:type].upcase}' branch is missing test coverage"
|
@@ -65,11 +85,13 @@ module SolargraphTestCoverage
|
|
65
85
|
# @return [Hash]
|
66
86
|
#
|
67
87
|
def test_failing_error(source)
|
88
|
+
return unless Config.test_failing_coverage?
|
89
|
+
|
68
90
|
{
|
69
91
|
range: Solargraph::Range.from_to(0, 0, 0, source.code.lines[0].length).to_hash,
|
70
92
|
severity: Solargraph::Diagnostics::Severities::ERROR,
|
71
93
|
source: 'TestCoverage',
|
72
|
-
message:
|
94
|
+
message: 'Unit Test is currently failing.'
|
73
95
|
}
|
74
96
|
end
|
75
97
|
|
@@ -78,12 +100,14 @@ module SolargraphTestCoverage
|
|
78
100
|
#
|
79
101
|
# @return [Hash]
|
80
102
|
#
|
81
|
-
def
|
103
|
+
def test_missing_error(source)
|
104
|
+
return unless Config.test_missing_coverage?
|
105
|
+
|
82
106
|
{
|
83
107
|
range: Solargraph::Range.from_to(0, 0, 0, source.code.lines[0].length).to_hash,
|
84
108
|
severity: Solargraph::Diagnostics::Severities::ERROR,
|
85
109
|
source: 'TestCoverage',
|
86
|
-
message: "No unit test file found at #{
|
110
|
+
message: "No unit test file found at #{test_file(source)}"
|
87
111
|
}
|
88
112
|
end
|
89
113
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SolargraphTestCoverage
|
4
|
+
# Parent Class for different testing frameworks
|
5
|
+
class TestRunner
|
6
|
+
def self.with(test_file)
|
7
|
+
case Config.test_framework
|
8
|
+
when 'rspec'
|
9
|
+
RSpecRunner.new(test_file)
|
10
|
+
when 'minitest'
|
11
|
+
MinitestRunner.new(test_file)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def initialize(test_file)
|
16
|
+
@test_file = test_file
|
17
|
+
@result = nil
|
18
|
+
end
|
19
|
+
|
20
|
+
def run!
|
21
|
+
@result = test_framework_runner.run([@test_file])
|
22
|
+
self
|
23
|
+
end
|
24
|
+
|
25
|
+
def passed?
|
26
|
+
raise NotImplementedError
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_framework_runner
|
30
|
+
raise NotImplementedError
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
# Test Runner Subclass for RSpec
|
35
|
+
class RSpecRunner < TestRunner
|
36
|
+
def passed?
|
37
|
+
@result&.zero?
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_framework_runner
|
41
|
+
RSpec::Core::Runner
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# Test Runner Subclass for Minitest
|
46
|
+
class MinitestRunner < TestRunner
|
47
|
+
def passed?
|
48
|
+
@result
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_framework_runner
|
52
|
+
Minitest
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -1,24 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'solargraph_test_coverage/version'
|
2
4
|
require 'solargraph_test_coverage/branch'
|
3
5
|
require 'solargraph_test_coverage/fork_process'
|
4
6
|
require 'solargraph_test_coverage/helpers'
|
7
|
+
require 'solargraph_test_coverage/config'
|
8
|
+
require 'solargraph_test_coverage/test_runner'
|
5
9
|
require 'solargraph_test_coverage/test_coverage_reporter'
|
6
10
|
|
7
11
|
require 'solargraph'
|
8
|
-
require 'rspec/core'
|
9
12
|
require 'coverage'
|
10
13
|
|
11
|
-
# TODO
|
12
|
-
# - Finding the right file could use some work
|
13
|
-
# - Config Options for different errors (line, branch, test missing, test failing)
|
14
|
-
# - Minitest/Cucumber Support
|
15
|
-
# - app/lib support
|
16
|
-
# - filter out stuff like controllers that wouldn't have tests
|
17
|
-
# - Publish Gem to Rubygems
|
18
|
-
|
19
14
|
module SolargraphTestCoverage
|
20
15
|
class ChildFailedError < StandardError; end
|
21
|
-
|
16
|
+
|
17
|
+
class UnknownTestingGem < StandardError; end
|
18
|
+
|
19
|
+
Helpers.require_testing_framework!
|
20
|
+
Helpers.preload_rails! if Config.preload_rails?
|
22
21
|
|
23
22
|
Solargraph::Diagnostics.register 'test_coverage', TestCoverageReporter
|
24
23
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require_relative 'lib/solargraph_test_coverage/version'
|
2
4
|
|
3
5
|
Gem::Specification.new do |spec|
|
@@ -8,11 +10,11 @@ Gem::Specification.new do |spec|
|
|
8
10
|
|
9
11
|
spec.summary = 'Solargraph Plugin'
|
10
12
|
spec.description = 'Solargraph Plugin that reports line/branch coverage from unit tests'
|
11
|
-
spec.homepage = 'https://github.com/
|
13
|
+
spec.homepage = 'https://github.com/deepdivr/solargraph_test_coverage'
|
12
14
|
spec.license = 'MIT'
|
13
|
-
spec.required_ruby_version = Gem::Requirement.new('>= 2.
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 2.6.0')
|
14
16
|
|
15
|
-
spec.metadata['allowed_push_host'] =
|
17
|
+
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
16
18
|
|
17
19
|
spec.metadata['homepage_uri'] = spec.homepage
|
18
20
|
spec.metadata['source_code_uri'] = spec.homepage
|
@@ -29,5 +31,4 @@ Gem::Specification.new do |spec|
|
|
29
31
|
spec.require_paths = ['lib']
|
30
32
|
|
31
33
|
spec.add_runtime_dependency 'solargraph', '~> 0.40', '> 0.40'
|
32
|
-
spec.add_runtime_dependency 'rspec-core', '~> 3.10', '>= 3.10.0'
|
33
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solargraph_test_coverage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cameron Kolkey
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solargraph
|
@@ -30,26 +30,6 @@ dependencies:
|
|
30
30
|
- - "~>"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '0.40'
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: rspec-core
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 3.10.0
|
40
|
-
- - "~>"
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: '3.10'
|
43
|
-
type: :runtime
|
44
|
-
prerelease: false
|
45
|
-
version_requirements: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 3.10.0
|
50
|
-
- - "~>"
|
51
|
-
- !ruby/object:Gem::Version
|
52
|
-
version: '3.10'
|
53
33
|
description: Solargraph Plugin that reports line/branch coverage from unit tests
|
54
34
|
email:
|
55
35
|
- Cameron.Kolkey@gmail.com
|
@@ -66,19 +46,21 @@ files:
|
|
66
46
|
- Rakefile
|
67
47
|
- lib/solargraph_test_coverage.rb
|
68
48
|
- lib/solargraph_test_coverage/branch.rb
|
49
|
+
- lib/solargraph_test_coverage/config.rb
|
69
50
|
- lib/solargraph_test_coverage/fork_process.rb
|
70
51
|
- lib/solargraph_test_coverage/helpers.rb
|
71
52
|
- lib/solargraph_test_coverage/test_coverage_reporter.rb
|
53
|
+
- lib/solargraph_test_coverage/test_runner.rb
|
72
54
|
- lib/solargraph_test_coverage/version.rb
|
73
55
|
- solargraph_test_coverage.gemspec
|
74
|
-
homepage: https://github.com/
|
56
|
+
homepage: https://github.com/deepdivr/solargraph_test_coverage
|
75
57
|
licenses:
|
76
58
|
- MIT
|
77
59
|
metadata:
|
78
60
|
allowed_push_host: https://rubygems.org
|
79
|
-
homepage_uri: https://github.com/
|
80
|
-
source_code_uri: https://github.com/
|
81
|
-
changelog_uri: https://github.com/
|
61
|
+
homepage_uri: https://github.com/deepdivr/solargraph_test_coverage
|
62
|
+
source_code_uri: https://github.com/deepdivr/solargraph_test_coverage
|
63
|
+
changelog_uri: https://github.com/deepdivr/solargraph_test_coverage
|
82
64
|
post_install_message:
|
83
65
|
rdoc_options: []
|
84
66
|
require_paths:
|
@@ -87,7 +69,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
87
69
|
requirements:
|
88
70
|
- - ">="
|
89
71
|
- !ruby/object:Gem::Version
|
90
|
-
version: 2.
|
72
|
+
version: 2.6.0
|
91
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
74
|
requirements:
|
93
75
|
- - ">="
|