rubocop-rspec 1.0.rc1 → 1.0.rc2

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.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -14
  3. data/README.md +2 -1
  4. data/lib/rubocop/cop/rspec_file_name.rb +10 -15
  5. data/lib/rubocop/rspec/version.rb +1 -1
  6. data/rubocop-rspec.gemspec +7 -1
  7. data/spec/project_spec.rb +118 -0
  8. data/spec/rubocop/cop/rspec_file_name_spec.rb +32 -11
  9. metadata +10 -40
  10. data/Gemfile.lock +0 -289
  11. data/config/default.yml +0 -27
  12. data/coverage/assets/0.8.0/application.css +0 -799
  13. data/coverage/assets/0.8.0/application.js +0 -1559
  14. data/coverage/assets/0.8.0/colorbox/border.png +0 -0
  15. data/coverage/assets/0.8.0/colorbox/controls.png +0 -0
  16. data/coverage/assets/0.8.0/colorbox/loading.gif +0 -0
  17. data/coverage/assets/0.8.0/colorbox/loading_background.png +0 -0
  18. data/coverage/assets/0.8.0/favicon_green.png +0 -0
  19. data/coverage/assets/0.8.0/favicon_red.png +0 -0
  20. data/coverage/assets/0.8.0/favicon_yellow.png +0 -0
  21. data/coverage/assets/0.8.0/loading.gif +0 -0
  22. data/coverage/assets/0.8.0/magnify.png +0 -0
  23. data/coverage/assets/0.8.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  24. data/coverage/assets/0.8.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  25. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  26. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  27. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  28. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  29. data/coverage/assets/0.8.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  30. data/coverage/assets/0.8.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  31. data/coverage/assets/0.8.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
  32. data/coverage/assets/0.8.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  33. data/coverage/assets/0.8.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
  34. data/coverage/assets/0.8.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
  35. data/coverage/assets/0.8.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  36. data/coverage/index.html +0 -1224
  37. data/pkg/rubocop-rspec-0.1.0.gem +0 -0
  38. data/pkg/rubocop-rspec-0.17.0.gem +0 -0
  39. data/pkg/rubocop-rspec-0.18.0.gem +0 -0
  40. data/pkg/rubocop-rspec-0.18.1.gem +0 -0
  41. data/pkg/rubocop-rspec-1.0.rc1.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 49fdb4caa58a78596796faa90d973ac516dffa1f
4
- data.tar.gz: 10a46ce312058c7611a916851dcb40c0b49205f2
3
+ metadata.gz: 08dd700b50fb2adf8683db8ed5868dede6ada896
4
+ data.tar.gz: d75cd3f9367ebfe7e35df2e7ec641b8d66ea4d68
5
5
  SHA512:
6
- metadata.gz: 3e27e4fb551f7c7354f3cda21bf1f3236e1f205bb1dbc69d2f30a21fb8b635bafbfac8555eb4723b5d33e437385b311d1fcb23019ec4dc439198f7752b5ae090
7
- data.tar.gz: 778915e1974fae1b074d478e3a90bc9323fd199becbb17ff88d36c6f703df0e6fc48a9873381d26e28fae7f631ffa3f5bf7432afd335a7f4e55c6ba38a3b86fb
6
+ metadata.gz: 5d930412aa5d760bb7d4ca719ceae3dae07239c92eb795e4057b9e1200962c92f9595c88dec06516b2f3aa337bc6781b9a962c58a19f0fa5eeb1bba89c10ae07
7
+ data.tar.gz: 74d79a149588115a0845bd5a8e0414bada5c4320a60a057f5fa04def3f31821aeb386af521aeb90f1437355b1cb1a2f0fc41078a88b043485282ad9e3834f2b6
data/CHANGELOG.md CHANGED
@@ -1,22 +1,20 @@
1
1
  # Change log
2
2
 
3
+ ## 1.0.rc2
4
+
5
+ * Gem is no longer 20MB (sorry!). ([@nevir][])
6
+ * `RspecFileName` cop allows for method specs to organized into directories by class and type. ([@nevir][])
7
+
3
8
  ## 1.0.rc1
4
9
 
5
- * Update code to work with rubocop >= 0.19 ([@geniou][])
6
- * Split `UnitSpecNaming` cop into `RSpecDescribeClass`,
7
- `RSpecDescribeMethod` and `RSpecFileName` and enabled them all by
8
- default. ([@geniou][])
9
- * Add `RSpecExampleWording` cop to prevent to use of should at the
10
- beginning of the spec description. ([@geniou][])
10
+ * Update code to work with rubocop `>= 0.19`. ([@geniou][])
11
+ * Split `UnitSpecNaming` cop into `RSpecDescribeClass`, `RSpecDescribeMethod` and `RSpecFileName` and enabled them all by default. ([@geniou][])
12
+ * Add `RSpecExampleWording` cop to prevent to use of should at the beginning of the spec description. ([@geniou][])
11
13
  * Fix `RSpecFileName` cop for non-class specs. ([@geniou][])
12
- * Adapt `RSpecFileName` cop to commen naming convention and skip spec
13
- with multiple top level describes. ([@geniou][])
14
- * Add `RSpecMultipleDescribes` cop to check for multiple top level
15
- describes. ([@geniou][])
16
- * Add `RSpecDescribedClass` to promote the use of `described_class`.
17
- ([@geniou][])
18
- * Add `RSpecInstanceVariable` cop to check for the usage of instance
19
- variables. ([@geniou][])
14
+ * Adapt `RSpecFileName` cop to commen naming convention and skip spec with multiple top level describes. ([@geniou][])
15
+ * Add `RSpecMultipleDescribes` cop to check for multiple top level describes. ([@geniou][])
16
+ * Add `RSpecDescribedClass` to promote the use of `described_class`. ([@geniou][])
17
+ * Add `RSpecInstanceVariable` cop to check for the usage of instance variables. ([@geniou][])
20
18
 
21
19
  <!-- Contributors -->
22
20
 
data/README.md CHANGED
@@ -33,7 +33,8 @@ The Cops
33
33
  --------
34
34
 
35
35
  **WARNING: Cop names are under flux and will likely change in the near future.**
36
- We're hoping to [introduce namespaces](bbatsov/rubocop#1097) into the mix.
36
+ We're hoping to
37
+ [introduce namespaces](https://github.com/bbatsov/rubocop/issues/1097) into the mix.
37
38
 
38
39
  All cops are located under [`lib/rubocop/cop`](lib/rubocop/cop), and contain
39
40
  examples/documentation.
@@ -3,11 +3,11 @@
3
3
  module Rubocop
4
4
  module Cop
5
5
  # Checks the path of the spec file and enforces that it reflects the
6
- # described class/module.
6
+ # described class/module and its optionally called out method.
7
7
  #
8
8
  # @example
9
- # class/method_spec.rb
10
- # class_spec.rb
9
+ # my_class/method_spec.rb # describe MyClass, '#method'
10
+ # my_class_spec.rb # describe MyClass
11
11
  class RSpecFileName < Cop
12
12
  include RSpec::TopLevelDescribe
13
13
 
@@ -19,24 +19,19 @@ module Rubocop
19
19
  object = const_name(args.first)
20
20
  return unless object
21
21
 
22
- glob_matcher = matcher(object, args[1])
23
- return if source_filename =~ regexp_from_glob(glob_matcher)
22
+ path_matcher = matcher(object, args[1])
23
+ return if source_filename =~ regexp_from_glob(path_matcher)
24
24
 
25
- add_offense(node, :expression, format(MESSAGE, glob_matcher))
25
+ add_offense(node, :expression, format(MESSAGE, path_matcher))
26
26
  end
27
27
 
28
28
  private
29
29
 
30
30
  def matcher(object, method)
31
- method_string = method ? method.children.first.gsub(/\W+/, '') : nil
32
- path = [File.join(path_parts(object)), method_string].compact.join('_')
33
- "#{path}*_spec.rb"
34
- end
31
+ path = File.join(object.split('::').map { |p| camel_to_underscore(p) })
32
+ path += '*' + method.children.first.gsub(/\W+/, '') if method
35
33
 
36
- def path_parts(object)
37
- object.split('::').map do |part|
38
- camel_to_underscore(part)
39
- end
34
+ "#{path}*_spec.rb"
40
35
  end
41
36
 
42
37
  def source_filename
@@ -45,7 +40,7 @@ module Rubocop
45
40
 
46
41
  def camel_to_underscore(string)
47
42
  string.dup.tap do |result|
48
- result.gsub!(/([^A-Z])([A-Z]+)/, '\\1_\\2')
43
+ result.gsub!(/([^A-Z])([A-Z]+)/, '\\1_\\2')
49
44
  result.gsub!(/([A-Z]{2,})([A-Z][^A-Z]+)/, '\\1_\\2')
50
45
  result.downcase!
51
46
  end
@@ -4,7 +4,7 @@ module Rubocop
4
4
  module RSpec
5
5
  # Version information for the RSpec RuboCop plugin.
6
6
  module Version
7
- STRING = '1.0.rc1'
7
+ STRING = '1.0.rc2'
8
8
  end
9
9
  end
10
10
  end
@@ -20,7 +20,13 @@ Gem::Specification.new do |spec|
20
20
  spec.required_ruby_version = '>= 1.9.2'
21
21
 
22
22
  spec.require_paths = ['lib']
23
- spec.files = Dir['**/*']
23
+ spec.files = Dir[
24
+ '{lib,spec}/**/*',
25
+ '*.md',
26
+ '*.gemspec',
27
+ 'Gemfile',
28
+ 'Rakefile'
29
+ ]
24
30
  spec.test_files = spec.files.grep(/^spec\//)
25
31
  spec.extra_rdoc_files = ['MIT-LICENSE.md', 'README.md']
26
32
 
@@ -0,0 +1,118 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'RuboCop Project' do # rubocop:disable RSpecDescribeClass
6
+ describe 'default configuration file' do
7
+ let(:cop_names) do
8
+ Dir.glob(File.join(File.dirname(__FILE__), '..', 'lib', 'rubocop', 'cop',
9
+ '*.rb'))
10
+ .map do |file|
11
+ File.basename(file, '.rb')
12
+ .gsub(/(^|_)(.)/) { Regexp.last_match(2).upcase }
13
+ .gsub('Rspec', 'RSpec')
14
+ end
15
+ end
16
+
17
+ subject(:default_config) do
18
+ Rubocop::ConfigLoader.load_file('config/default.yml')
19
+ end
20
+
21
+ it 'has configuration for all cops' do
22
+ expect(default_config.keys.sort).to eq((cop_names).sort)
23
+ end
24
+
25
+ it 'has a nicely formatted description for all cops' do
26
+ cop_names.each do |name|
27
+ description = default_config[name]['Description']
28
+ expect(description).not_to be_nil
29
+ expect(description).not_to include("\n")
30
+ end
31
+ end
32
+ end
33
+
34
+ describe 'changelog' do
35
+ subject(:changelog) do
36
+ path = File.join(File.dirname(__FILE__), '..', 'CHANGELOG.md')
37
+ File.read(path)
38
+ end
39
+
40
+ it 'has link definitions for all implicit links' do
41
+ implicit_link_names = changelog.scan(/\[([^\]]+)\]\[\]/).flatten.uniq
42
+ implicit_link_names.each do |name|
43
+ expect(changelog).to include("[#{name}]: http")
44
+ end
45
+ end
46
+
47
+ describe 'entry' do
48
+ subject(:entries) { lines.grep(/^\*/).map(&:chomp) }
49
+ let(:lines) { changelog.each_line }
50
+
51
+ it 'has a whitespace between the * and the body' do
52
+ entries.each do |entry|
53
+ expect(entry).to match(/^\* \S/)
54
+ end
55
+ end
56
+
57
+ it 'has a link to the contributors at the end' do
58
+ entries.each do |entry|
59
+ expect(entry).to match(/\(\[@\S+\]\[\](?:, \[@\S+\]\[\])*\)$/)
60
+ end
61
+ end
62
+
63
+ describe 'link to related issue on github' do
64
+ let(:issues) do
65
+ entries.map do |entry|
66
+ entry.match(/\[(?<number>[#\d]+)\]\((?<url>[^\)]+)\)/)
67
+ end.compact
68
+ end
69
+
70
+ it 'has an issue number prefixed with #' do
71
+ issues.each do |issue|
72
+ expect(issue[:number]).to match(/^#\d+$/)
73
+ end
74
+ end
75
+
76
+ it 'has a valid URL' do
77
+ issues.each do |issue|
78
+ number = issue[:number].gsub(/\D/, '')
79
+ pattern = %r{^https://github\.com/[/]+/[/]+/(?:issues|pull)/#{number}$} # rubocop:disable LineLength
80
+ expect(issue[:url]).to match(pattern)
81
+ end
82
+ end
83
+
84
+ it 'has a colon and a whitespace at the end' do
85
+ entries_including_issue_link = entries.select do |entry|
86
+ entry.match(/^\*\s*\[/)
87
+ end
88
+
89
+ entries_including_issue_link.each do |entry|
90
+ expect(entry).to include('): ')
91
+ end
92
+ end
93
+ end
94
+
95
+ describe 'body' do
96
+ let(:bodies) do
97
+ entries.map do |entry|
98
+ entry
99
+ .sub(/^\*\s*(?:\[.+?\):\s*)?/, '')
100
+ .sub(/\s*\([^\)]+\)$/, '')
101
+ end
102
+ end
103
+
104
+ it 'does not start with a lower case' do
105
+ bodies.each do |body|
106
+ expect(body).not_to match(/^[a-z]/)
107
+ end
108
+ end
109
+
110
+ it 'ends with a punctuation' do
111
+ bodies.each do |body|
112
+ expect(body).to match(/[\.\!]$/)
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
118
+ end
@@ -12,7 +12,7 @@ describe Rubocop::Cop::RSpecFileName do
12
12
  expect(cop.offenses.size).to eq(1)
13
13
  expect(cop.offenses.map(&:line).sort).to eq([1])
14
14
  expect(cop.messages)
15
- .to eq(['Spec path should end with `my_class_foo*_spec.rb`'])
15
+ .to eq(['Spec path should end with `my_class*foo*_spec.rb`'])
16
16
  end
17
17
 
18
18
  it 'checks the path' do
@@ -22,7 +22,7 @@ describe Rubocop::Cop::RSpecFileName do
22
22
  expect(cop.offenses.size).to eq(1)
23
23
  expect(cop.offenses.map(&:line).sort).to eq([1])
24
24
  expect(cop.messages)
25
- .to eq(['Spec path should end with `my_class_foo*_spec.rb`'])
25
+ .to eq(['Spec path should end with `my_class*foo*_spec.rb`'])
26
26
  end
27
27
 
28
28
  it 'checks class spec paths' do
@@ -38,7 +38,7 @@ describe Rubocop::Cop::RSpecFileName do
38
38
  it 'skips specs that do not describe a class / method' do
39
39
  inspect_source(cop,
40
40
  ["describe 'Test something' do; end"],
41
- 'some/class_spec.rb')
41
+ 'some/class/spec.rb')
42
42
  expect(cop.offenses).to be_empty
43
43
  end
44
44
 
@@ -46,7 +46,7 @@ describe Rubocop::Cop::RSpecFileName do
46
46
  inspect_source(cop,
47
47
  ["describe MyClass, 'do_this' do; end",
48
48
  "describe MyClass, 'do_that' do; end"],
49
- 'some/class_spec.rb')
49
+ 'some/class/spec.rb')
50
50
  expect(cop.offenses).to be_empty
51
51
  end
52
52
 
@@ -81,42 +81,63 @@ describe Rubocop::Cop::RSpecFileName do
81
81
  it 'checks instance methods' do
82
82
  inspect_source(cop,
83
83
  ["describe Some::Class, '#inst' do; end"],
84
- 'some/class_inst_spec.rb')
84
+ 'some/class/inst_spec.rb')
85
85
  expect(cop.offenses).to be_empty
86
86
  end
87
87
 
88
- it 'checks methods' do
88
+ it 'checks class methods' do
89
89
  inspect_source(cop,
90
- ["describe Some::Class, 'inst' do; end"],
90
+ ["describe Some::Class, '.inst' do; end"],
91
+ 'some/class/inst_spec.rb')
92
+ expect(cop.offenses).to be_empty
93
+ end
94
+
95
+ it 'allows flat hierarchies for instance methods' do
96
+ inspect_source(cop,
97
+ ["describe Some::Class, '#inst' do; end"],
91
98
  'some/class_inst_spec.rb')
92
99
  expect(cop.offenses).to be_empty
93
100
  end
94
101
 
95
- it 'checks class methods' do
102
+ it 'allows flat hierarchies for class methods' do
96
103
  inspect_source(cop,
97
104
  ["describe Some::Class, '.inst' do; end"],
98
105
  'some/class_inst_spec.rb')
99
106
  expect(cop.offenses).to be_empty
100
107
  end
101
108
 
109
+ it 'allows subdirs for instance methods' do
110
+ inspect_source(cop,
111
+ ["describe Some::Class, '#inst' do; end"],
112
+ 'some/class/instance_methods/inst_spec.rb')
113
+ expect(cop.offenses).to be_empty
114
+ end
115
+
116
+ it 'allows subdirs for class methods' do
117
+ inspect_source(cop,
118
+ ["describe Some::Class, '.inst' do; end"],
119
+ 'some/class/class_methods/inst_spec.rb')
120
+ expect(cop.offenses).to be_empty
121
+ end
122
+
102
123
  it 'ignores non-alphanumeric characters' do
103
124
  inspect_source(cop,
104
125
  ["describe Some::Class, '#pred?' do; end"],
105
- 'some/class_pred_spec.rb')
126
+ 'some/class/pred_spec.rb')
106
127
  expect(cop.offenses).to be_empty
107
128
  end
108
129
 
109
130
  it 'allows flexibility with predicates' do
110
131
  inspect_source(cop,
111
132
  ["describe Some::Class, '#thing?' do; end"],
112
- 'some/class_thing_predicate_spec.rb')
133
+ 'some/class/thing_predicate_spec.rb')
113
134
  expect(cop.offenses).to be_empty
114
135
  end
115
136
 
116
137
  it 'allows flexibility with operators' do
117
138
  inspect_source(cop,
118
139
  ["describe MyClass, '#<=>' do; end"],
119
- 'my_class_spaceship_operator_spec.rb')
140
+ 'my_class/spaceship_operator_spec.rb')
120
141
  expect(cop.offenses).to be_empty
121
142
  end
122
143
  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.0.rc1
4
+ version: 1.0.rc2
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: 2014-05-18 00:00:00.000000000 Z
12
+ date: 2014-05-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubocop
@@ -43,35 +43,6 @@ extra_rdoc_files:
43
43
  - MIT-LICENSE.md
44
44
  - README.md
45
45
  files:
46
- - CHANGELOG.md
47
- - config/default.yml
48
- - coverage/assets/0.8.0/application.css
49
- - coverage/assets/0.8.0/application.js
50
- - coverage/assets/0.8.0/colorbox/border.png
51
- - coverage/assets/0.8.0/colorbox/controls.png
52
- - coverage/assets/0.8.0/colorbox/loading.gif
53
- - coverage/assets/0.8.0/colorbox/loading_background.png
54
- - coverage/assets/0.8.0/favicon_green.png
55
- - coverage/assets/0.8.0/favicon_red.png
56
- - coverage/assets/0.8.0/favicon_yellow.png
57
- - coverage/assets/0.8.0/loading.gif
58
- - coverage/assets/0.8.0/magnify.png
59
- - coverage/assets/0.8.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
60
- - coverage/assets/0.8.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
61
- - coverage/assets/0.8.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
62
- - coverage/assets/0.8.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
63
- - coverage/assets/0.8.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png
64
- - coverage/assets/0.8.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
65
- - coverage/assets/0.8.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
66
- - coverage/assets/0.8.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
67
- - coverage/assets/0.8.0/smoothness/images/ui-icons_222222_256x240.png
68
- - coverage/assets/0.8.0/smoothness/images/ui-icons_2e83ff_256x240.png
69
- - coverage/assets/0.8.0/smoothness/images/ui-icons_454545_256x240.png
70
- - coverage/assets/0.8.0/smoothness/images/ui-icons_888888_256x240.png
71
- - coverage/assets/0.8.0/smoothness/images/ui-icons_cd0a0a_256x240.png
72
- - coverage/index.html
73
- - Gemfile
74
- - Gemfile.lock
75
46
  - lib/rubocop/cop/rspec_describe_class.rb
76
47
  - lib/rubocop/cop/rspec_describe_method.rb
77
48
  - lib/rubocop/cop/rspec_described_class.rb
@@ -83,15 +54,7 @@ files:
83
54
  - lib/rubocop/rspec/top_level_describe.rb
84
55
  - lib/rubocop/rspec/version.rb
85
56
  - lib/rubocop-rspec.rb
86
- - MIT-LICENSE.md
87
- - pkg/rubocop-rspec-0.1.0.gem
88
- - pkg/rubocop-rspec-0.17.0.gem
89
- - pkg/rubocop-rspec-0.18.0.gem
90
- - pkg/rubocop-rspec-0.18.1.gem
91
- - pkg/rubocop-rspec-1.0.rc1.gem
92
- - Rakefile
93
- - README.md
94
- - rubocop-rspec.gemspec
57
+ - spec/project_spec.rb
95
58
  - spec/rubocop/cop/rspec_describe_class_spec.rb
96
59
  - spec/rubocop/cop/rspec_describe_method_spec.rb
97
60
  - spec/rubocop/cop/rspec_described_class_spec.rb
@@ -100,6 +63,12 @@ files:
100
63
  - spec/rubocop/cop/rspec_instance_variable_spec.rb
101
64
  - spec/rubocop/cop/rspec_multiple_describes_spec.rb
102
65
  - spec/spec_helper.rb
66
+ - CHANGELOG.md
67
+ - MIT-LICENSE.md
68
+ - README.md
69
+ - rubocop-rspec.gemspec
70
+ - Gemfile
71
+ - Rakefile
103
72
  homepage: http://github.com/nevir/rubocop-rspec
104
73
  licenses:
105
74
  - MIT
@@ -125,6 +94,7 @@ signing_key:
125
94
  specification_version: 4
126
95
  summary: Code style checking for RSpec files
127
96
  test_files:
97
+ - spec/project_spec.rb
128
98
  - spec/rubocop/cop/rspec_describe_class_spec.rb
129
99
  - spec/rubocop/cop/rspec_describe_method_spec.rb
130
100
  - spec/rubocop/cop/rspec_described_class_spec.rb