Sha256: 9405953a832a3c2b9ad64324b8ac0fa2f9163ca9c0e7eeecc725dc166b66dd19

Contents?: true

Size: 780 Bytes

Versions: 1

Compression:

Stored size: 780 Bytes

Contents

require 'spec_helper'
require 'timeout'

module ExampleMod
  def mod; :mod; end
end

describe Uninclude do
  let(:klass) {
    Class.new do
    end
  }
  let(:instance) { klass.new }

  describe '.uninclude' do
    it 'should uninclude module' do
      klass.class_eval { include ExampleMod }
      expect(instance).to respond_to(:mod)
      klass.class_eval { uninclude ExampleMod }
      expect(instance).to_not respond_to(:mod)
    end

    it 'should not infinite loop' do
      klass.class_eval { uninclude(Module.new) }
    end
  end

  describe '#unextend' do
    it 'should unextend module' do
      instance.extend(ExampleMod)
      expect(instance).to respond_to(:mod)
      instance.unextend(ExampleMod)
      expect(instance).to_not respond_to(:mod)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
uninclude-1.1.0 spec/uninclude_spec.rb