rspectre 0.0.2 → 0.0.3
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/lib/rspectre.rb +2 -1
- data/lib/rspectre/auto_corrector.rb +1 -1
- data/lib/rspectre/linter.rb +1 -1
- data/lib/rspectre/linter/unused_shared_setup.rb +1 -1
- data/lib/rspectre/runner.rb +25 -6
- data/lib/rspectre/version.rb +1 -1
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d0605c2e9efccc4a2b34893deb51bc2799504b56458b3ce954057b434cb5fd93
|
4
|
+
data.tar.gz: b67d394f99ab11d29eae2327604ae70cde200268bd8f892138c44c95f45fedd4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0b080c91cd39d1b2649b55b3c92cbd68a2c43fae4b28829936b005da721d9a756541a5dbf6901f73960e4ac8507a1d4c5f197bc760d52dcd1e451c96a7fe8f7
|
7
|
+
data.tar.gz: 485ed75293bcb98bdd40d7e5b6ac18d8bd2c015f9a110937ec92d05ea21526ad4d192553a38374edd3e889599cef7c4ff991432548a725cd38fda4994b7f9e21
|
data/lib/rspectre.rb
CHANGED
@@ -4,12 +4,12 @@ $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
|
|
4
4
|
|
5
5
|
require 'pathname'
|
6
6
|
require 'set'
|
7
|
+
require 'stringio'
|
7
8
|
|
8
9
|
require 'anima'
|
9
10
|
require 'concord'
|
10
11
|
require 'parser/current'
|
11
12
|
require 'rspec'
|
12
|
-
require 'unparser'
|
13
13
|
|
14
14
|
require 'rspectre/auto_corrector'
|
15
15
|
require 'rspectre/color'
|
@@ -28,4 +28,5 @@ require 'rspectre/linter/unused_shared_setup'
|
|
28
28
|
|
29
29
|
module RSpectre
|
30
30
|
TRACKER = Tracker.new
|
31
|
+
LIB_PATH = Pathname.new(File.expand_path('../lib', __dir__))
|
31
32
|
end
|
data/lib/rspectre/linter.rb
CHANGED
@@ -5,7 +5,7 @@ module RSpectre
|
|
5
5
|
class UnusedSharedSetup < self
|
6
6
|
TAG = 'UnusedSharedSetup'
|
7
7
|
|
8
|
-
def self.redefine_shared(receiver, method)
|
8
|
+
def self.redefine_shared(receiver, method)
|
9
9
|
# Capture the original class method
|
10
10
|
original_method = receiver.method(method)
|
11
11
|
|
data/lib/rspectre/runner.rb
CHANGED
@@ -6,8 +6,13 @@ module RSpectre
|
|
6
6
|
|
7
7
|
EXIT_SUCCESS = 0
|
8
8
|
|
9
|
+
def initialize(*)
|
10
|
+
super
|
11
|
+
@rspec_output = StringIO.new
|
12
|
+
end
|
13
|
+
|
9
14
|
def lint
|
10
|
-
if
|
15
|
+
if run_specs.equal?(EXIT_SUCCESS)
|
11
16
|
handle_offenses
|
12
17
|
else
|
13
18
|
exit_with_error
|
@@ -16,25 +21,39 @@ module RSpectre
|
|
16
21
|
|
17
22
|
private
|
18
23
|
|
24
|
+
attr_reader :rspec_output
|
25
|
+
|
19
26
|
def handle_offenses
|
20
27
|
if TRACKER.offenses?
|
21
28
|
auto_correct ? TRACKER.correct_offenses : TRACKER.report_offenses
|
29
|
+
else
|
30
|
+
puts 'No unused test setup detected.'
|
22
31
|
end
|
23
32
|
end
|
24
33
|
|
34
|
+
# The version of `rubocop` we are currently using has an issue with leading whitespace in
|
35
|
+
# heredocs.
|
36
|
+
# rubocop:disable Layout/EmptyLinesAroundArguments
|
25
37
|
def exit_with_error
|
38
|
+
rspec_output.rewind
|
39
|
+
|
26
40
|
abort(
|
27
41
|
Color.red(
|
28
42
|
'Running the specs failed. Either your tests do not pass '\
|
29
43
|
'normally or this is a bug in RSpectre.'
|
30
|
-
)
|
44
|
+
) + <<~TEXT
|
45
|
+
|
46
|
+
|
47
|
+
RSpec Output:
|
48
|
+
---
|
49
|
+
#{rspec_output.read}
|
50
|
+
TEXT
|
31
51
|
)
|
32
52
|
end
|
53
|
+
# rubocop:enable Layout/EmptyLinesAroundArguments
|
33
54
|
|
34
|
-
def
|
35
|
-
|
36
|
-
|
37
|
-
RSpec::Core::Runner.new(rspec_config).tap { |runner| runner.setup($stderr, StringIO.new) }
|
55
|
+
def run_specs
|
56
|
+
RSpec::Core::Runner.run(rspec_arguments, $stderr, rspec_output)
|
38
57
|
end
|
39
58
|
end
|
40
59
|
end
|
data/lib/rspectre/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspectre
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Gollahon
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: unparser
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0.2'
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0.2'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: pry
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,7 +143,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
157
143
|
requirements:
|
158
144
|
- - ">="
|
159
145
|
- !ruby/object:Gem::Version
|
160
|
-
version: '2.
|
146
|
+
version: '2.5'
|
161
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
162
148
|
requirements:
|
163
149
|
- - ">="
|