Sha256: 163940e8179b46bac19cd6e922a39a85de7fceefd20742bfc88fb93fa7b9a1ab
Contents?: true
Size: 1.23 KB
Versions: 12
Compression:
Stored size: 1.23 KB
Contents
# frozen_string_literal: true RSpec.describe Mutant::Subject::Method::Singleton do let(:object) do described_class.new( context: context, node: node, warnings: warnings ) end let(:node) { s(:defs, s(:self), :foo, s(:args)) } let(:warnings) { instance_double(Mutant::Warnings) } let(:context) do Mutant::Context.new(scope, instance_double(Pathname)) end let(:scope) do Class.new do def self.foo; end def self.name 'Test' end end end describe '#expression' do subject { object.expression } it { should eql(parse_expression('Test.foo')) } it_should_behave_like 'an idempotent method' end describe '#match_expression' do subject { object.match_expressions } it { should eql(%w[Test.foo Test*].map(&method(:parse_expression))) } it_should_behave_like 'an idempotent method' end describe '#prepare' do subject { object.prepare } it 'undefines method on scope' do expect { subject }.to change { scope.methods.include?(:foo) }.from(true).to(false) end it_should_behave_like 'a command method' end describe '#source' do subject { object.source } it { should eql("def self.foo\nend") } end end
Version data entries
12 entries across 12 versions & 1 rubygems