Sha256: 902113d4e08c4ab203c791543d9b1f5127712107b818a84e61d0b851de465c84

Contents?: true

Size: 782 Bytes

Versions: 4

Compression:

Stored size: 782 Bytes

Contents

# frozen_string_literal: true

RSpec.describe Mutant::AST::Meta::Send, '#receiver_possible_top_level_const?' do
  subject { described_class.new(node).receiver_possible_top_level_const? }

  def parse(source)
    Parser::CurrentRuby.parse(source)
  end

  context 'when implicit top level const' do
    let(:node) { parse('Foo.bar') }

    it { should be true }
  end

  context 'when cbase' do
    let(:node) { parse('::Foo.bar') }

    it { should be true }
  end

  context 'when nested const' do
    let(:node) { parse('Baz::Foo.bar') }

    it { should be false }
  end

  context 'when no receiver' do
    let(:node) { parse('bar') }

    it { should be false }
  end

  context 'when send receiver' do
    let(:node) { parse('foo.bar') }

    it { should be false }
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mutant-0.8.20 spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
mutant-0.8.19 spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
mutant-0.8.18 spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb
mutant-0.8.17 spec/unit/mutant/ast/meta/send/receiver_possible_top_level_const_predicate_spec.rb