
# `cop` and `source` must be declared with #let.

shared_examples_for 'accepts' do
  it 'accepts' do
    inspect_source(cop, source)
    expect(cop.offences).to be_empty
  end
end

shared_examples_for 'mimics MRI 2.0' do |grep_mri_warning|
  if RUBY_ENGINE == 'ruby' && RUBY_VERSION.start_with?('2.0')
    it "mimics MRI #{RUBY_VERSION} built-in syntax checking" do
      inspect_source(cop, source)
      offences_by_mri = MRISyntaxChecker.offences_for_source(
        source, cop.name, grep_mri_warning
      )

      # Compare objects before comparing counts for clear failure output.
      cop.offences.each_with_index do |offence_by_cop, index|
        offence_by_mri = offences_by_mri[index]
        # Exclude column attribute since MRI does not
        # output column number.
        [:severity, :line, :cop_name, :message].each do |a|
          expect(offence_by_cop.send(a)).to eq(offence_by_mri.send(a))
        end
      end

      expect(cop.offences.count).to eq(offences_by_mri.count)
    end
  end
end

# encoding: utf-8

# `cop` and `source` must be declared with #let.

shared_examples_for 'accepts' do
  it 'accepts' do
    inspect_source(cop, source)
    expect(cop.offences).to be_empty
  end
end

shared_examples_for 'mimics MRI 2.0' do |grep_mri_warning|
  if RUBY_ENGINE == 'ruby' && RUBY_VERSION.start_with?('2.0')
    it "mimics MRI #{RUBY_VERSION} built-in syntax checking" do
      inspect_source(cop, source)
      offences_by_mri = MRISyntaxChecker.offences_for_source(
        source, cop.name, grep_mri_warning
      )

      # Compare objects before comparing counts for clear failure output.
      cop.offences.each_with_index do |offence_by_cop, index|
        offence_by_mri = offences_by_mri[index]
        # Exclude column attribute since MRI does not
        # output column number.
        [:severity, :line, :cop_name, :message].each do |a|
          expect(offence_by_cop.send(a)).to eq(offence_by_mri.send(a))
        end
      end

      expect(cop.offences.count).to eq(offences_by_mri.count)
    end
  end
end

Add missing utf-8 encoding comment
Add missing utf-8 encoding comment
