rubocop-rspec 1.6.0 → 1.7.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/CHANGELOG.md +22 -0
- data/README.md +23 -0
- data/Rakefile +19 -1
- data/config/default.yml +78 -15
- data/lib/rubocop-rspec.rb +19 -1
- data/lib/rubocop/cop/rspec/any_instance.rb +5 -1
- data/lib/rubocop/cop/rspec/be_eql.rb +58 -0
- data/lib/rubocop/cop/rspec/describe_class.rb +2 -3
- data/lib/rubocop/cop/rspec/describe_method.rb +4 -3
- data/lib/rubocop/cop/rspec/described_class.rb +4 -35
- data/lib/rubocop/cop/rspec/empty_example_group.rb +100 -0
- data/lib/rubocop/cop/rspec/example_length.rb +5 -2
- data/lib/rubocop/cop/rspec/example_wording.rb +5 -2
- data/lib/rubocop/cop/rspec/expect_actual.rb +79 -0
- data/lib/rubocop/cop/rspec/file_path.rb +3 -1
- data/lib/rubocop/cop/rspec/focus.rb +12 -28
- data/lib/rubocop/cop/rspec/hook_argument.rb +122 -0
- data/lib/rubocop/cop/rspec/instance_variable.rb +53 -12
- data/lib/rubocop/cop/rspec/leading_subject.rb +58 -0
- data/lib/rubocop/cop/rspec/let_setup.rb +58 -0
- data/lib/rubocop/cop/rspec/message_chain.rb +33 -0
- data/lib/rubocop/cop/rspec/message_expectation.rb +58 -0
- data/lib/rubocop/cop/rspec/multiple_describes.rb +10 -7
- data/lib/rubocop/cop/rspec/multiple_expectations.rb +89 -0
- data/lib/rubocop/cop/rspec/named_subject.rb +10 -1
- data/lib/rubocop/cop/rspec/nested_groups.rb +125 -0
- data/lib/rubocop/cop/rspec/not_to_not.rb +3 -3
- data/lib/rubocop/cop/rspec/subject_stub.rb +136 -0
- data/lib/rubocop/cop/rspec/verified_doubles.rb +4 -1
- data/lib/rubocop/rspec.rb +10 -0
- data/lib/rubocop/rspec/config_formatter.rb +33 -0
- data/lib/rubocop/rspec/description_extractor.rb +35 -0
- data/lib/rubocop/rspec/inject.rb +2 -6
- data/lib/rubocop/rspec/language.rb +73 -0
- data/lib/rubocop/rspec/language/node_pattern.rb +16 -0
- data/lib/rubocop/rspec/spec_only.rb +61 -0
- data/lib/rubocop/rspec/top_level_describe.rb +6 -0
- data/lib/rubocop/rspec/version.rb +1 -1
- data/rubocop-rspec.gemspec +1 -0
- data/spec/project/changelog_spec.rb +81 -0
- data/spec/project/default_config_spec.rb +52 -0
- data/spec/project/project_requires_spec.rb +8 -0
- data/spec/rubocop/cop/rspec/be_eql_spec.rb +59 -0
- data/spec/rubocop/cop/rspec/described_class_spec.rb +2 -2
- data/spec/rubocop/cop/rspec/empty_example_group_spec.rb +79 -0
- data/spec/rubocop/cop/rspec/example_length_spec.rb +50 -30
- data/spec/rubocop/cop/rspec/example_wording_spec.rb +21 -3
- data/spec/rubocop/cop/rspec/expect_actual_spec.rb +136 -0
- data/spec/rubocop/cop/rspec/file_path_spec.rb +48 -71
- data/spec/rubocop/cop/rspec/focus_spec.rb +1 -1
- data/spec/rubocop/cop/rspec/hook_argument_spec.rb +189 -0
- data/spec/rubocop/cop/rspec/instance_variable_spec.rb +37 -0
- data/spec/rubocop/cop/rspec/leading_subject_spec.rb +54 -0
- data/spec/rubocop/cop/rspec/let_setup_spec.rb +66 -0
- data/spec/rubocop/cop/rspec/message_chain_spec.rb +21 -0
- data/spec/rubocop/cop/rspec/message_expectation_spec.rb +63 -0
- data/spec/rubocop/cop/rspec/multiple_expectations_spec.rb +84 -0
- data/spec/rubocop/cop/rspec/nested_groups_spec.rb +55 -0
- data/spec/rubocop/cop/rspec/not_to_not_spec.rb +12 -2
- data/spec/rubocop/cop/rspec/subject_stub_spec.rb +183 -0
- data/spec/rubocop/rspec/config_formatter_spec.rb +48 -0
- data/spec/rubocop/rspec/description_extractor_spec.rb +35 -0
- data/spec/rubocop/rspec/language/selector_set_spec.rb +29 -0
- data/spec/rubocop/rspec/spec_only_spec.rb +97 -0
- data/spec/shared/rspec_only_cop_behavior.rb +68 -0
- data/spec/spec_helper.rb +13 -1
- metadata +72 -5
- data/spec/project_spec.rb +0 -115
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'rubocop/rspec/config_formatter'
|
2
|
+
|
3
|
+
RSpec.describe RuboCop::RSpec::ConfigFormatter do
|
4
|
+
let(:config) do
|
5
|
+
{
|
6
|
+
'AllCops' => {
|
7
|
+
'Setting' => 'fourty two'
|
8
|
+
},
|
9
|
+
'RSpec/Foo' => {
|
10
|
+
'Config' => 2,
|
11
|
+
'Enabled' => true
|
12
|
+
},
|
13
|
+
'RSpec/Bar' => {
|
14
|
+
'Enabled' => true
|
15
|
+
}
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
19
|
+
let(:descriptions) do
|
20
|
+
{
|
21
|
+
'RSpec/Foo' => {
|
22
|
+
'Description' => 'Blah'
|
23
|
+
},
|
24
|
+
'RSpec/Bar' => {
|
25
|
+
'Description' => 'Wow'
|
26
|
+
}
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'builds a YAML dump with spacing between cops' do
|
31
|
+
formatter = described_class.new(config, descriptions)
|
32
|
+
|
33
|
+
expect(formatter.dump).to eql(<<-YAML.gsub(/^\s+\|/, ''))
|
34
|
+
|---
|
35
|
+
|AllCops:
|
36
|
+
| Setting: fourty two
|
37
|
+
|
|
38
|
+
|RSpec/Foo:
|
39
|
+
| Config: 2
|
40
|
+
| Enabled: true
|
41
|
+
| Description: Blah
|
42
|
+
|
|
43
|
+
|RSpec/Bar:
|
44
|
+
| Enabled: true
|
45
|
+
| Description: Wow
|
46
|
+
YAML
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'yard'
|
2
|
+
|
3
|
+
require 'rubocop/rspec/description_extractor'
|
4
|
+
|
5
|
+
RSpec.describe RuboCop::RSpec::DescriptionExtractor do
|
6
|
+
let(:yardocs) do
|
7
|
+
[
|
8
|
+
instance_double(
|
9
|
+
YARD::CodeObjects::MethodObject,
|
10
|
+
docstring: "Checks foo\n\nLong description",
|
11
|
+
to_s: 'RuboCop::Cop::RSpec::Foo',
|
12
|
+
type: :class,
|
13
|
+
name: 'Foo'
|
14
|
+
),
|
15
|
+
instance_double(
|
16
|
+
YARD::CodeObjects::MethodObject,
|
17
|
+
docstring: 'Hi',
|
18
|
+
to_s: 'RuboCop::Cop::RSpec::Foo#bar',
|
19
|
+
type: :method,
|
20
|
+
name: 'Foo#bar'
|
21
|
+
),
|
22
|
+
instance_double(
|
23
|
+
YARD::CodeObjects::MethodObject,
|
24
|
+
docstring: 'This is not a cop',
|
25
|
+
to_s: 'RuboCop::Cop::Mixin::Sneaky',
|
26
|
+
type: :class
|
27
|
+
)
|
28
|
+
]
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'builds a hash of descriptions' do
|
32
|
+
expect(described_class.new(yardocs).to_h)
|
33
|
+
.to eql('RSpec/Foo' => { 'Description' => 'Checks foo' })
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
describe RuboCop::RSpec::Language::SelectorSet do
|
2
|
+
subject(:selector_set) { described_class.new(%i(foo bar)) }
|
3
|
+
|
4
|
+
it 'composes sets' do
|
5
|
+
combined = selector_set + described_class.new(%i(baz))
|
6
|
+
|
7
|
+
expect(combined).to eq(described_class.new(%i(foo bar baz)))
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'compares by value' do
|
11
|
+
expect(selector_set).not_to eq(described_class.new(%i(foo bar baz)))
|
12
|
+
end
|
13
|
+
|
14
|
+
context '#include?' do
|
15
|
+
it 'returns false for selectors not in the set' do
|
16
|
+
expect(selector_set.include?(:baz)).to be(false)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'returns true for selectors in the set' do
|
20
|
+
expect(selector_set.include?(:foo)).to be(true)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context '#to_node_pattern' do
|
25
|
+
it 'builds a node pattern' do
|
26
|
+
expect(selector_set.to_node_pattern).to eql(':foo :bar')
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.describe RuboCop::RSpec::SpecOnly do
|
4
|
+
subject(:cop) { fake_cop.new(config) }
|
5
|
+
|
6
|
+
let(:config) do
|
7
|
+
rubocop_config =
|
8
|
+
{
|
9
|
+
'AllCops' => {
|
10
|
+
'RSpec' => {
|
11
|
+
'Patterns' => rspec_patterns
|
12
|
+
}
|
13
|
+
},
|
14
|
+
'RSpec/FakeCop' => {
|
15
|
+
'Exclude' => %w(bar_spec.rb)
|
16
|
+
}
|
17
|
+
}
|
18
|
+
|
19
|
+
RuboCop::Config.new(rubocop_config, 'fake_cop_config.yml')
|
20
|
+
end
|
21
|
+
|
22
|
+
let(:fake_cop) do
|
23
|
+
Class.new(RuboCop::Cop::Cop) do
|
24
|
+
include RuboCop::RSpec::SpecOnly
|
25
|
+
|
26
|
+
def self.name
|
27
|
+
'RuboCop::RSpec::FakeCop'
|
28
|
+
end
|
29
|
+
|
30
|
+
def on_send(node)
|
31
|
+
add_offense(node, :expression, 'I flag everything')
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
let(:rspec_patterns) { ['_spec.rb$', '(?:^|/)spec/'] }
|
37
|
+
|
38
|
+
context 'when the source path ends with `_spec.rb`' do
|
39
|
+
it 'registers an offense' do
|
40
|
+
expect_violation(<<-RUBY, filename: 'foo_spec.rb')
|
41
|
+
foo(1)
|
42
|
+
^^^^^^ I flag everything
|
43
|
+
RUBY
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'ignores the file if it is ignored' do
|
47
|
+
expect_no_violations(<<-RUBY, filename: 'bar_spec.rb')
|
48
|
+
foo(1)
|
49
|
+
RUBY
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
context 'when the source path contains `/spec/`' do
|
54
|
+
it 'registers an offense' do
|
55
|
+
expect_violation(<<-RUBY, filename: '/spec/support/thing.rb')
|
56
|
+
foo(1)
|
57
|
+
^^^^^^ I flag everything
|
58
|
+
RUBY
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
context 'when the source path starts with `spec/`' do
|
63
|
+
it 'registers an offense' do
|
64
|
+
expect_violation(<<-RUBY, filename: 'spec/support/thing.rb')
|
65
|
+
foo(1)
|
66
|
+
^^^^^^ I flag everything
|
67
|
+
RUBY
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
context 'when the file is a source file without "spec" in the name' do
|
72
|
+
it 'ignores the source when the path is not a spec file' do
|
73
|
+
expect_no_violations(<<-RUBY, filename: 'foo.rb')
|
74
|
+
foo(1)
|
75
|
+
RUBY
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'ignores the source when the path is not a specified pattern' do
|
79
|
+
expect_no_violations(<<-RUBY, filename: 'foo_test.rb')
|
80
|
+
foo(1)
|
81
|
+
RUBY
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context 'when custom patterns are specified' do
|
86
|
+
let(:rspec_patterns) do
|
87
|
+
['_test\.rb$']
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'registers offenses when the path matches a custom specified pattern' do
|
91
|
+
expect_violation(<<-RUBY, filename: 'foo_test.rb')
|
92
|
+
foo(1)
|
93
|
+
^^^^^^ I flag everything
|
94
|
+
RUBY
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module SpecHelper
|
2
|
+
# Provides a helper method for checking that `cop` works
|
3
|
+
#
|
4
|
+
# @note this is defined in a module so that the failure message can be
|
5
|
+
# a constant without creating a bunch of warnings when the shared
|
6
|
+
# context is included
|
7
|
+
#
|
8
|
+
module CheckCop
|
9
|
+
CURRENT_FILE = Pathname.new(__FILE__).relative_path_from(ROOT).freeze
|
10
|
+
|
11
|
+
FAILURE = <<-MSG.freeze
|
12
|
+
Attempting to access `cop` produced the following error:
|
13
|
+
|
14
|
+
%<exception>s
|
15
|
+
|
16
|
+
The shared context under #{CURRENT_FILE} is included for all RSpec
|
17
|
+
cops. This context expects you to define a subject named `cop` like so:
|
18
|
+
|
19
|
+
describe RuboCop::Cop::RSpec::SomeCheck do
|
20
|
+
subject(:cop) { described_class.new }
|
21
|
+
|
22
|
+
...
|
23
|
+
end
|
24
|
+
|
25
|
+
or if your cop is configurable you should have something like:
|
26
|
+
|
27
|
+
describe RuboCop::Cop::RSpec::SomeConfigurableCheck, :config do
|
28
|
+
subject(:cop) { described_class.new(config) }
|
29
|
+
|
30
|
+
let(:cop_config) do
|
31
|
+
{ 'EnforcedStyle' => 'fancy', 'WhateverElse' => 'YouNeed' }
|
32
|
+
end
|
33
|
+
|
34
|
+
...
|
35
|
+
end
|
36
|
+
|
37
|
+
This error likely means that you either don't define `cop` at the top
|
38
|
+
level or you have dependent definitions (like `cop_config`) that are not
|
39
|
+
defined at the top level.
|
40
|
+
MSG
|
41
|
+
|
42
|
+
# This method exists to reduce confusion for contributors. It is important
|
43
|
+
# that these shared examples are automatically included for all cops but
|
44
|
+
# it is easy for these to fail if you don't realize that your top level
|
45
|
+
# describe needs to define a useable `cop` subject.
|
46
|
+
def check_cop_definition
|
47
|
+
cop
|
48
|
+
rescue => exception
|
49
|
+
raise format(FAILURE, exception: exception)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
RSpec.shared_examples 'an rspec only cop', rspec_cop: true do
|
55
|
+
include SpecHelper::CheckCop
|
56
|
+
|
57
|
+
before do
|
58
|
+
check_cop_definition
|
59
|
+
end
|
60
|
+
|
61
|
+
it 'does not deem lib/feature/thing.rb to be a relevant file' do
|
62
|
+
expect(cop.relevant_file?('lib/feature/thing.rb')).to be_falsey
|
63
|
+
end
|
64
|
+
|
65
|
+
it 'deems spec/feature/thing_spec.rb to be a relevant file' do
|
66
|
+
expect(cop.relevant_file?('spec/feature/thing_spec.rb')).to be(true)
|
67
|
+
end
|
68
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -7,11 +7,23 @@ if ENV['CI']
|
|
7
7
|
CodeClimate::TestReporter.start
|
8
8
|
end
|
9
9
|
|
10
|
-
|
10
|
+
module SpecHelper
|
11
|
+
ROOT = Pathname.new(__dir__).parent.freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
spec_helper_glob = File.expand_path('{support,shared}/*.rb', __dir__)
|
15
|
+
Dir.glob(spec_helper_glob).map(&method(:require))
|
11
16
|
|
12
17
|
RSpec.configure do |config|
|
13
18
|
config.order = :random
|
14
19
|
|
20
|
+
# Define spec metadata for all rspec cop spec files
|
21
|
+
cop_specs = 'spec/rubocop/cop/rspec/'
|
22
|
+
config.define_derived_metadata(file_path: /\b#{cop_specs}/) do |metadata|
|
23
|
+
# Attach metadata that signals the specified code is for an RSpec only cop
|
24
|
+
metadata[:rspec_cop] = true
|
25
|
+
end
|
26
|
+
|
15
27
|
config.expect_with :rspec do |expectations|
|
16
28
|
expectations.syntax = :expect # Disable `should`
|
17
29
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ian MacLeod
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-08-
|
12
|
+
date: 2016-08-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rubocop
|
@@ -109,6 +109,20 @@ dependencies:
|
|
109
109
|
- - ">="
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: yard
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - ">="
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
type: :development
|
120
|
+
prerelease: false
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
requirements:
|
123
|
+
- - ">="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
112
126
|
description: |2
|
113
127
|
Code style checking for RSpec files.
|
114
128
|
A plugin for the RuboCop code style enforcing & linting tool.
|
@@ -129,41 +143,76 @@ files:
|
|
129
143
|
- config/default.yml
|
130
144
|
- lib/rubocop-rspec.rb
|
131
145
|
- lib/rubocop/cop/rspec/any_instance.rb
|
146
|
+
- lib/rubocop/cop/rspec/be_eql.rb
|
132
147
|
- lib/rubocop/cop/rspec/describe_class.rb
|
133
148
|
- lib/rubocop/cop/rspec/describe_method.rb
|
134
149
|
- lib/rubocop/cop/rspec/described_class.rb
|
150
|
+
- lib/rubocop/cop/rspec/empty_example_group.rb
|
135
151
|
- lib/rubocop/cop/rspec/example_length.rb
|
136
152
|
- lib/rubocop/cop/rspec/example_wording.rb
|
153
|
+
- lib/rubocop/cop/rspec/expect_actual.rb
|
137
154
|
- lib/rubocop/cop/rspec/file_path.rb
|
138
155
|
- lib/rubocop/cop/rspec/focus.rb
|
156
|
+
- lib/rubocop/cop/rspec/hook_argument.rb
|
139
157
|
- lib/rubocop/cop/rspec/instance_variable.rb
|
158
|
+
- lib/rubocop/cop/rspec/leading_subject.rb
|
159
|
+
- lib/rubocop/cop/rspec/let_setup.rb
|
160
|
+
- lib/rubocop/cop/rspec/message_chain.rb
|
161
|
+
- lib/rubocop/cop/rspec/message_expectation.rb
|
140
162
|
- lib/rubocop/cop/rspec/multiple_describes.rb
|
163
|
+
- lib/rubocop/cop/rspec/multiple_expectations.rb
|
141
164
|
- lib/rubocop/cop/rspec/named_subject.rb
|
165
|
+
- lib/rubocop/cop/rspec/nested_groups.rb
|
142
166
|
- lib/rubocop/cop/rspec/not_to_not.rb
|
167
|
+
- lib/rubocop/cop/rspec/subject_stub.rb
|
143
168
|
- lib/rubocop/cop/rspec/verified_doubles.rb
|
169
|
+
- lib/rubocop/rspec.rb
|
170
|
+
- lib/rubocop/rspec/config_formatter.rb
|
171
|
+
- lib/rubocop/rspec/description_extractor.rb
|
144
172
|
- lib/rubocop/rspec/inject.rb
|
173
|
+
- lib/rubocop/rspec/language.rb
|
174
|
+
- lib/rubocop/rspec/language/node_pattern.rb
|
175
|
+
- lib/rubocop/rspec/spec_only.rb
|
145
176
|
- lib/rubocop/rspec/top_level_describe.rb
|
146
177
|
- lib/rubocop/rspec/util.rb
|
147
178
|
- lib/rubocop/rspec/version.rb
|
148
179
|
- lib/rubocop/rspec/wording.rb
|
149
180
|
- rubocop-rspec.gemspec
|
150
181
|
- spec/expect_violation/expectation_spec.rb
|
151
|
-
- spec/
|
182
|
+
- spec/project/changelog_spec.rb
|
183
|
+
- spec/project/default_config_spec.rb
|
184
|
+
- spec/project/project_requires_spec.rb
|
152
185
|
- spec/rubocop/cop/rspec/any_instance_spec.rb
|
186
|
+
- spec/rubocop/cop/rspec/be_eql_spec.rb
|
153
187
|
- spec/rubocop/cop/rspec/describe_class_spec.rb
|
154
188
|
- spec/rubocop/cop/rspec/describe_method_spec.rb
|
155
189
|
- spec/rubocop/cop/rspec/described_class_spec.rb
|
190
|
+
- spec/rubocop/cop/rspec/empty_example_group_spec.rb
|
156
191
|
- spec/rubocop/cop/rspec/example_length_spec.rb
|
157
192
|
- spec/rubocop/cop/rspec/example_wording_spec.rb
|
193
|
+
- spec/rubocop/cop/rspec/expect_actual_spec.rb
|
158
194
|
- spec/rubocop/cop/rspec/file_path_spec.rb
|
159
195
|
- spec/rubocop/cop/rspec/focus_spec.rb
|
196
|
+
- spec/rubocop/cop/rspec/hook_argument_spec.rb
|
160
197
|
- spec/rubocop/cop/rspec/instance_variable_spec.rb
|
198
|
+
- spec/rubocop/cop/rspec/leading_subject_spec.rb
|
199
|
+
- spec/rubocop/cop/rspec/let_setup_spec.rb
|
200
|
+
- spec/rubocop/cop/rspec/message_chain_spec.rb
|
201
|
+
- spec/rubocop/cop/rspec/message_expectation_spec.rb
|
161
202
|
- spec/rubocop/cop/rspec/multiple_describes_spec.rb
|
203
|
+
- spec/rubocop/cop/rspec/multiple_expectations_spec.rb
|
162
204
|
- spec/rubocop/cop/rspec/named_subject_spec.rb
|
205
|
+
- spec/rubocop/cop/rspec/nested_groups_spec.rb
|
163
206
|
- spec/rubocop/cop/rspec/not_to_not_spec.rb
|
207
|
+
- spec/rubocop/cop/rspec/subject_stub_spec.rb
|
164
208
|
- spec/rubocop/cop/rspec/verified_doubles_spec.rb
|
209
|
+
- spec/rubocop/rspec/config_formatter_spec.rb
|
210
|
+
- spec/rubocop/rspec/description_extractor_spec.rb
|
211
|
+
- spec/rubocop/rspec/language/selector_set_spec.rb
|
212
|
+
- spec/rubocop/rspec/spec_only_spec.rb
|
165
213
|
- spec/rubocop/rspec/util/one_spec.rb
|
166
214
|
- spec/rubocop/rspec/wording_spec.rb
|
215
|
+
- spec/shared/rspec_only_cop_behavior.rb
|
167
216
|
- spec/spec_helper.rb
|
168
217
|
- spec/support/expect_violation.rb
|
169
218
|
homepage: http://github.com/nevir/rubocop-rspec
|
@@ -186,27 +235,45 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
186
235
|
version: '0'
|
187
236
|
requirements: []
|
188
237
|
rubyforge_project:
|
189
|
-
rubygems_version: 2.6.
|
238
|
+
rubygems_version: 2.6.6
|
190
239
|
signing_key:
|
191
240
|
specification_version: 4
|
192
241
|
summary: Code style checking for RSpec files
|
193
242
|
test_files:
|
194
243
|
- spec/expect_violation/expectation_spec.rb
|
195
|
-
- spec/
|
244
|
+
- spec/project/changelog_spec.rb
|
245
|
+
- spec/project/default_config_spec.rb
|
246
|
+
- spec/project/project_requires_spec.rb
|
196
247
|
- spec/rubocop/cop/rspec/any_instance_spec.rb
|
248
|
+
- spec/rubocop/cop/rspec/be_eql_spec.rb
|
197
249
|
- spec/rubocop/cop/rspec/describe_class_spec.rb
|
198
250
|
- spec/rubocop/cop/rspec/describe_method_spec.rb
|
199
251
|
- spec/rubocop/cop/rspec/described_class_spec.rb
|
252
|
+
- spec/rubocop/cop/rspec/empty_example_group_spec.rb
|
200
253
|
- spec/rubocop/cop/rspec/example_length_spec.rb
|
201
254
|
- spec/rubocop/cop/rspec/example_wording_spec.rb
|
255
|
+
- spec/rubocop/cop/rspec/expect_actual_spec.rb
|
202
256
|
- spec/rubocop/cop/rspec/file_path_spec.rb
|
203
257
|
- spec/rubocop/cop/rspec/focus_spec.rb
|
258
|
+
- spec/rubocop/cop/rspec/hook_argument_spec.rb
|
204
259
|
- spec/rubocop/cop/rspec/instance_variable_spec.rb
|
260
|
+
- spec/rubocop/cop/rspec/leading_subject_spec.rb
|
261
|
+
- spec/rubocop/cop/rspec/let_setup_spec.rb
|
262
|
+
- spec/rubocop/cop/rspec/message_chain_spec.rb
|
263
|
+
- spec/rubocop/cop/rspec/message_expectation_spec.rb
|
205
264
|
- spec/rubocop/cop/rspec/multiple_describes_spec.rb
|
265
|
+
- spec/rubocop/cop/rspec/multiple_expectations_spec.rb
|
206
266
|
- spec/rubocop/cop/rspec/named_subject_spec.rb
|
267
|
+
- spec/rubocop/cop/rspec/nested_groups_spec.rb
|
207
268
|
- spec/rubocop/cop/rspec/not_to_not_spec.rb
|
269
|
+
- spec/rubocop/cop/rspec/subject_stub_spec.rb
|
208
270
|
- spec/rubocop/cop/rspec/verified_doubles_spec.rb
|
271
|
+
- spec/rubocop/rspec/config_formatter_spec.rb
|
272
|
+
- spec/rubocop/rspec/description_extractor_spec.rb
|
273
|
+
- spec/rubocop/rspec/language/selector_set_spec.rb
|
274
|
+
- spec/rubocop/rspec/spec_only_spec.rb
|
209
275
|
- spec/rubocop/rspec/util/one_spec.rb
|
210
276
|
- spec/rubocop/rspec/wording_spec.rb
|
277
|
+
- spec/shared/rspec_only_cop_behavior.rb
|
211
278
|
- spec/spec_helper.rb
|
212
279
|
- spec/support/expect_violation.rb
|