Sha256: 621a2a6565610a08bdf6d9298d710a131e388c384cc7246a794df85b0bb2b0a0

Contents?: true

Size: 1.34 KB

Versions: 9

Compression:

Stored size: 1.34 KB

Contents

RSpec.describe RuboCop::RSpec::Language::SelectorSet do
  subject(:selector_set) { described_class.new(%i[foo bar]) }

  it 'composes sets' do
    combined = selector_set + described_class.new(%i[baz])

    expect(combined).to eq(described_class.new(%i[foo bar baz]))
  end

  it 'compares by value' do
    expect(selector_set).not_to eq(described_class.new(%i[foo bar baz]))
  end

  describe '#include?' do
    it 'returns false for selectors not in the set' do
      expect(selector_set.include?(:baz)).to be(false)
    end

    it 'returns true for selectors in the set' do
      expect(selector_set.include?(:foo)).to be(true)
    end
  end

  describe '#node_pattern' do
    it 'builds a node pattern' do
      expect(selector_set.node_pattern).to eql(':foo :bar')
    end
  end

  describe '#node_pattern_union' do
    it 'builds a node pattern union' do
      expect(selector_set.node_pattern_union).to eql('{:foo :bar}')
    end
  end

  describe '#send_pattern' do
    it 'builds a send matching pattern' do
      expect(selector_set.send_pattern).to eql(
        '(send {(const nil? :RSpec) nil?} {:foo :bar} ...)'
      )
    end
  end

  describe '#block_pattern' do
    it 'builds a block matching pattern' do
      expect(selector_set.block_pattern).to eql(
        '(block (send {(const nil? :RSpec) nil?} {:foo :bar} ...) ...)'
      )
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rubocop-rspec-1.32.0 spec/rubocop/rspec/language/selector_set_spec.rb
rubocop-rspec-1.31.0 spec/rubocop/rspec/language/selector_set_spec.rb
rubocop-rspec-1.30.1 spec/rubocop/rspec/language/selector_set_spec.rb
rubocop-rspec-1.30.0 spec/rubocop/rspec/language/selector_set_spec.rb
rubocop-rspec-1.29.1 spec/rubocop/rspec/language/selector_set_spec.rb
rubocop-rspec-1.29.0 spec/rubocop/rspec/language/selector_set_spec.rb
rubocop-rspec-1.28.0 spec/rubocop/rspec/language/selector_set_spec.rb
rubocop-rspec-1.27.0 spec/rubocop/rspec/language/selector_set_spec.rb
rubocop-rspec-1.26.0 spec/rubocop/rspec/language/selector_set_spec.rb