Sha256: c4f658cff4d31ef3775a6ce6c7e0591963e101d95adc09db13fa4fd6f01da467

Contents?: true

Size: 1.63 KB

Versions: 2

Compression:

Stored size: 1.63 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe RuboCop::Cop::Lint::Void do
  subject(:cop) { described_class.new }

  described_class::OPS.each do |op|
    it "registers an offense for void op #{op} if not on last line" do
      inspect_source(cop,
                     ["a #{op} b",
                      "a #{op} b",
                      "a #{op} b"
                     ])
      expect(cop.offenses.size).to eq(2)
    end
  end

  described_class::OPS.each do |op|
    it "accepts void op #{op} if on last line" do
      inspect_source(cop,
                     ['something',
                      "a #{op} b"
                     ])
      expect(cop.offenses).to be_empty
    end
  end

  described_class::OPS.each do |op|
    it "accepts void op #{op} by itself without a begin block" do
      inspect_source(cop, "a #{op} b")
      expect(cop.offenses).to be_empty
    end
  end

  %w(var @var @@var VAR).each do |var|
    it "registers an offense for void var #{var} if not on last line" do
      inspect_source(cop,
                     ["#{var} = 5",
                      "#{var}",
                      'top'
                     ])
      expect(cop.offenses.size).to eq(1)
    end
  end

  %w(1 2.0 /test/ [1] {}).each do |lit|
    it "registers an offense for void lit #{lit} if not on last line" do
      inspect_source(cop,
                     ["#{lit}",
                      'top'
                     ])
      expect(cop.offenses.size).to eq(1)
    end
  end

  it 'accepts short call syntax' do
    inspect_source(cop,
                   ['lambda.(a)',
                    'top'
                   ])
    expect(cop.offenses).to be_empty
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubocop-0.29.1 spec/rubocop/cop/lint/void_spec.rb
rubocop-0.29.0 spec/rubocop/cop/lint/void_spec.rb