spec/support/shared_examples.rb in rubocop-0.23.0 vs spec/support/shared_examples.rb in rubocop-0.24.0

- old
+ new

@@ -29,5 +29,27 @@ expect(cop.offenses.count).to eq(offenses_by_mri.count) end end end + +shared_examples_for 'misaligned' do |prefix, alignment_base, arg, end_kw, name| + name ||= alignment_base + it "registers an offense for mismatched #{name} ... end" do + inspect_source(cop, ["#{prefix}#{alignment_base} #{arg}", + end_kw]) + expect(cop.offenses.size).to eq(1) + regexp = /`end` at 2, \d+ is not aligned with `#{alignment_base}` at 1,/ + expect(cop.messages.first).to match(regexp) + expect(cop.highlights.first).to eq('end') + expect(cop.config_to_allow_offenses).to eq('AlignWith' => opposite) + end +end + +shared_examples_for 'aligned' do |alignment_base, arg, end_kw, name| + name ||= alignment_base + it "accepts matching #{name} ... end" do + inspect_source(cop, ["#{alignment_base} #{arg}", + end_kw]) + expect(cop.offenses).to be_empty + end +end