Sha256: 3c0f4d9d39cce4ff974668b486fccea14c159124cb80c1a0644b3500793245f2

Contents?: true

Size: 1.42 KB

Versions: 29

Compression:

Stored size: 1.42 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe Mutant::CLI::Classifier, '.run' do
  subject { described_class.run(cache, input) }

  let(:cache) { double('Cache') }

  this_spec = 'Mutant::CLI::Classifier.build'

  shared_examples_for this_spec do
    it 'shoud return expected instance' do
      should eql(expected_matcher)
    end

    let(:expected_class) { Mutant::CLI::Classifier::Method }
  end

  context 'with explicit toplevel scope' do

    let(:input) { '::TestApp::Literal#string' }

    let(:expected_matcher) do
      Mutant::Matcher::Method::Instance.new(cache, TestApp::Literal, TestApp::Literal.instance_method(:string))
    end

    include_examples this_spec
  end

  context 'with instance method notation' do

    let(:input) { 'TestApp::Literal#string' }

    let(:expected_matcher) do
      Mutant::Matcher::Method::Instance.new(cache, TestApp::Literal, TestApp::Literal.instance_method(:string))
    end

    include_examples this_spec
  end

  context 'with singleton method notation' do
    let(:input) { 'TestApp::Literal.string' }

    let(:expected_matcher) do
      Mutant::Matcher::Method::Singleton.new(cache, TestApp::Literal, TestApp::Literal.method(:string))
    end

    include_examples this_spec
  end

  context 'with invalid notation' do
    let(:input) { '::' }

    it 'should return nil' do
      expect { subject }.to raise_error(Mutant::CLI::Error, "No matcher handles: #{input.inspect}")
    end
  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
mutant-0.5.17 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.16 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.15 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.14 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.13 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.12 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.11 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.10 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.9 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.8 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.7 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.6 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.5 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.4 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.3 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.2 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.1 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.5.0 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.3.6 spec/unit/mutant/cli/classifier_spec.rb
mutant-0.3.5 spec/unit/mutant/cli/classifier_spec.rb