Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Change log

## master (unreleased)

* Update code to work with rubocop >= 0.19 ([@geniou][])


[@geniou]: https://github.com/geniou
10 changes: 5 additions & 5 deletions lib/rubocop/cop/rspec/unit_spec_naming.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def on_send(node)
enforce_describe_statement(node, args)
end

if offences.size == 0 && cop_config['EnforceFilenames']
if offenses.size == 0 && cop_config['EnforceFilenames']
enforce_filename(node, args)
end
end
Expand Down Expand Up @@ -65,22 +65,22 @@ def enforce_filename(node, args)

def check_described_class(node, first_arg)
if !first_arg || first_arg.type != :const
add_offence(first_arg || node, :expression, DESCRIBE_CLASS_MSG)
add_offense(first_arg || node, :expression, DESCRIBE_CLASS_MSG)
end
end

def check_described_method(node, second_arg)
return unless second_arg

unless METHOD_STRING_MATCHER =~ second_arg.children.first
add_offence(second_arg, :expression, METHOD_STRING_MSG)
add_offense(second_arg, :expression, METHOD_STRING_MSG)
end
end

def check_class_spec(node, path_parts)
spec_path = File.join(path_parts) + '_spec.rb'
unless source_filename.end_with? spec_path
add_offence(node, :expression, format(CLASS_SPEC_MSG, spec_path))
add_offense(node, :expression, format(CLASS_SPEC_MSG, spec_path))
end
end

Expand All @@ -92,7 +92,7 @@ def check_method_spec(node, path_parts, method_str)
glob_matcher = File.join(matcher_parts)
unless source_filename =~ regexp_from_glob(glob_matcher)
message = format(METHOD_SPEC_MSG, glob_matcher)
add_offence(node, :expression, message)
add_offense(node, :expression, message)
end
end

Expand Down
2 changes: 1 addition & 1 deletion rubocop-rspec.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ Gem::Specification.new do |spec|
spec.test_files = spec.files.grep(/^spec\//)
spec.extra_rdoc_files = ['MIT-LICENSE.md', 'README.md']

spec.add_runtime_dependency('rubocop', '~> 0.18')
spec.add_runtime_dependency('rubocop', '>= 0.19')
end
36 changes: 18 additions & 18 deletions spec/rubocop/cop/rspec/unit_spec_naming_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,46 +11,46 @@
it 'checks first-line describe statements' do
inspect_source(cop,
['describe "bad describe" do; end'])
expect(cop.offences.size).to eq(1)
expect(cop.offenses.size).to eq(1)
end

it 'checks describe statements after a require' do
inspect_source(cop,
["require 'spec_helper'",
'describe "bad describe" do; end'])
expect(cop.offences.size).to eq(1)
expect(cop.offenses.size).to eq(1)
end

it 'ignores nested describe statements' do
inspect_source(cop,
['describe Some::Class do',
' describe "bad describe" do; end',
'end'])
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it "doesn't blow up on single-line describes" do
inspect_source(cop,
['describe Some::Class'])
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'checks class method naming' do
inspect_source(cop,
["describe Some::Class, '.asdf' do; end"])
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'checks instance method naming' do
inspect_source(cop,
["describe Some::Class, '#fdsa' do; end"])
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'enforces non-method names' do
inspect_source(cop,
["describe Some::Class, 'nope' do; end"])
expect(cop.offences.size).to eq(1)
expect(cop.offenses.size).to eq(1)
end
end

Expand All @@ -61,77 +61,77 @@
inspect_source(cop,
['describe Some::Class do; end'],
'some/class_spec.rb')
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'handles CamelCaps class names' do
inspect_source(cop,
['describe MyClass do; end'],
'my_class_spec.rb')
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'handles ACRONYMClassNames' do
inspect_source(cop,
['describe ABCOne::Two do; end'],
'abc_one/two_spec.rb')
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'handles ALLCAPS class names' do
inspect_source(cop,
['describe ALLCAPS do; end'],
'allcaps_spec.rb')
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'checks instance methods' do
inspect_source(cop,
["describe Some::Class, '#inst' do; end"],
'some/class/inst_spec.rb')
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'checks class methods' do
inspect_source(cop,
["describe Some::Class, '.inst' do; end"],
'some/class/class_methods/inst_spec.rb')
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'ignores non-alphanumeric characters' do
inspect_source(cop,
["describe Some::Class, '#pred?' do; end"],
'some/class/pred_spec.rb')
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'allows flexibility with predicates' do
inspect_source(cop,
["describe Some::Class, '#thing?' do; end"],
'some/class/thing_predicate_spec.rb')
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'allows flexibility with operators' do
inspect_source(cop,
["describe MyClass, '#<=>' do; end"],
'my_class/spaceship_operator_spec.rb')
expect(cop.offences).to eq([])
expect(cop.offenses).to eq([])
end

it 'checks the path' do
inspect_source(cop,
["describe MyClass, '#foo' do; end"],
'my_clas/foo_spec.rb')
expect(cop.offences.size).to eq(1)
expect(cop.offenses.size).to eq(1)
end

it 'checks class spec paths' do
inspect_source(cop,
['describe MyClass do; end'],
'my_clas_spec.rb')
expect(cop.offences.size).to eq(1)
expect(cop.offenses.size).to eq(1)
end
end
end