diff --git a/spec/rubocop/cop/rspec/describe_class_spec.rb b/spec/rubocop/cop/rspec/describe_class_spec.rb index b3f8c3dc5..9c93a4c10 100644 --- a/spec/rubocop/cop/rspec/describe_class_spec.rb +++ b/spec/rubocop/cop/rspec/describe_class_spec.rb @@ -4,7 +4,7 @@ subject(:cop) { described_class.new } it 'checks first-line describe statements' do - inspect_source(cop, ['describe "bad describe" do; end']) + inspect_source(cop, 'describe "bad describe" do; end') expect(cop.offenses.size).to eq(1) expect(cop.offenses.map(&:line).sort).to eq([1]) expect(cop.messages).to eq(['The first argument to describe should be ' \ @@ -28,7 +28,7 @@ end it "doesn't blow up on single-line describes" do - inspect_source(cop, ['describe Some::Class']) + inspect_source(cop, 'describe Some::Class') expect(cop.offenses).to be_empty end end diff --git a/spec/rubocop/cop/rspec/describe_method_spec.rb b/spec/rubocop/cop/rspec/describe_method_spec.rb index 8f0e8c963..e27d52e03 100644 --- a/spec/rubocop/cop/rspec/describe_method_spec.rb +++ b/spec/rubocop/cop/rspec/describe_method_spec.rb @@ -4,7 +4,7 @@ subject(:cop) { described_class.new } it 'enforces non-method names' do - inspect_source(cop, ["describe Some::Class, 'nope' do; end"]) + inspect_source(cop, "describe Some::Class, 'nope' do; end") expect(cop.offenses.size).to eq(1) expect(cop.offenses.map(&:line).sort).to eq([1]) expect(cop.messages) diff --git a/spec/rubocop/cop/rspec/described_class_spec.rb b/spec/rubocop/cop/rspec/described_class_spec.rb index 5997cd6f9..eed7e50e5 100644 --- a/spec/rubocop/cop/rspec/described_class_spec.rb +++ b/spec/rubocop/cop/rspec/described_class_spec.rb @@ -86,7 +86,7 @@ end it 'checks for the use of described class with module' do - pending 'TODO' + skip inspect_source(cop, ['module MyNamespace', ' describe MyClass do', ' subject { MyNamespace::MyClass }', diff --git a/spec/rubocop/cop/rspec/file_path_spec.rb b/spec/rubocop/cop/rspec/file_path_spec.rb index 630bd2267..913cb1c7d 100644 --- a/spec/rubocop/cop/rspec/file_path_spec.rb +++ b/spec/rubocop/cop/rspec/file_path_spec.rb @@ -6,7 +6,7 @@ it 'checks the path' do inspect_source(cop, - ["describe MyClass, 'foo' do; end"], + "describe MyClass, 'foo' do; end", 'wrong_path_foo_spec.rb') expect(cop.offenses.size).to eq(1) expect(cop.offenses.map(&:line).sort).to eq([1]) @@ -16,7 +16,7 @@ it 'checks the path' do inspect_source(cop, - ["describe MyClass, '#foo' do; end"], + "describe MyClass, '#foo' do; end", 'wrong_class_foo_spec.rb') expect(cop.offenses.size).to eq(1) expect(cop.offenses.map(&:line).sort).to eq([1]) @@ -26,7 +26,7 @@ it 'checks class spec paths' do inspect_source(cop, - ['describe MyClass do; end'], + 'describe MyClass do; end', 'wrong_class_spec.rb') expect(cop.offenses.size).to eq(1) expect(cop.offenses.map(&:line).sort).to eq([1]) @@ -36,7 +36,7 @@ it 'skips specs that do not describe a class / method' do inspect_source(cop, - ["describe 'Test something' do; end"], + "describe 'Test something' do; end", 'some/class/spec.rb') expect(cop.offenses).to be_empty end @@ -51,98 +51,98 @@ it 'checks class specs' do inspect_source(cop, - ['describe Some::Class do; end'], + 'describe Some::Class do; end', 'some/class_spec.rb') expect(cop.offenses).to be_empty end it 'handles CamelCaps class names' do inspect_source(cop, - ['describe MyClass do; end'], + 'describe MyClass do; end', 'my_class_spec.rb') expect(cop.offenses).to be_empty end it 'handles ACRONYMClassNames' do inspect_source(cop, - ['describe ABCOne::Two do; end'], + 'describe ABCOne::Two do; end', 'abc_one/two_spec.rb') expect(cop.offenses).to be_empty end it 'handles ALLCAPS class names' do inspect_source(cop, - ['describe ALLCAPS do; end'], + 'describe ALLCAPS do; end', 'allcaps_spec.rb') expect(cop.offenses).to be_empty end it 'checks instance methods' do inspect_source(cop, - ["describe Some::Class, '#inst' do; end"], + "describe Some::Class, '#inst' do; end", 'some/class/inst_spec.rb') expect(cop.offenses).to be_empty end it 'checks class methods' do inspect_source(cop, - ["describe Some::Class, '.inst' do; end"], + "describe Some::Class, '.inst' do; end", 'some/class/inst_spec.rb') expect(cop.offenses).to be_empty end it 'allows flat hierarchies for instance methods' do inspect_source(cop, - ["describe Some::Class, '#inst' do; end"], + "describe Some::Class, '#inst' do; end", 'some/class_inst_spec.rb') expect(cop.offenses).to be_empty end it 'allows flat hierarchies for class methods' do inspect_source(cop, - ["describe Some::Class, '.inst' do; end"], + "describe Some::Class, '.inst' do; end", 'some/class_inst_spec.rb') expect(cop.offenses).to be_empty end it 'allows subdirs for instance methods' do inspect_source(cop, - ["describe Some::Class, '#inst' do; end"], + "describe Some::Class, '#inst' do; end", 'some/class/instance_methods/inst_spec.rb') expect(cop.offenses).to be_empty end it 'allows subdirs for class methods' do inspect_source(cop, - ["describe Some::Class, '.inst' do; end"], + "describe Some::Class, '.inst' do; end", 'some/class/class_methods/inst_spec.rb') expect(cop.offenses).to be_empty end it 'ignores non-alphanumeric characters' do inspect_source(cop, - ["describe Some::Class, '#pred?' do; end"], + "describe Some::Class, '#pred?' do; end", 'some/class/pred_spec.rb') expect(cop.offenses).to be_empty end it 'allows flexibility with predicates' do inspect_source(cop, - ["describe Some::Class, '#thing?' do; end"], + "describe Some::Class, '#thing?' do; end", 'some/class/thing_predicate_spec.rb') expect(cop.offenses).to be_empty end it 'allows flexibility with operators' do inspect_source(cop, - ["describe MyClass, '#<=>' do; end"], + "describe MyClass, '#<=>' do; end", 'my_class/spaceship_operator_spec.rb') expect(cop.offenses).to be_empty end it 'respects custom module name transformation' do inspect_source(cop, - ["describe FooFoo::Some::Class, '#bar' do; end"], + "describe FooFoo::Some::Class, '#bar' do; end", 'foofoo/some/class/bar_spec.rb') expect(cop.offenses).to be_empty end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d0b8c7682..479de6ad5 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,9 +1,21 @@ # encoding: utf-8 -# As much as possible, we try to reuse RuboCop's spec environment. -require File.join( - Gem::Specification.find_by_name('rubocop').gem_dir, 'spec', 'spec_helper.rb' -) +require 'rubocop' + +rubocop_gem_path = Gem::Specification.find_by_name('rubocop').gem_dir +Dir["#{rubocop_gem_path}/spec/support/**/*.rb"].each { |f| require f } + +RSpec.configure do |config| + config.order = :random + + config.expect_with :rspec do |expectations| + expectations.syntax = :expect # Disable `should` + end + + config.mock_with :rspec do |mocks| + mocks.syntax = :expect # Disable `should_receive` and `stub` + end +end $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib')) $LOAD_PATH.unshift(File.dirname(__FILE__))