Sha256: 03d7c271af442f9e5a5a2adf70353e571681664aa184261dde2870101bfa71c5

Contents?: true

Size: 772 Bytes

Versions: 7

Compression:

Stored size: 772 Bytes

Contents

require 'blankslate'
require 'rspec'

describe BlankSlate do
  let(:blank_slate) { BlankSlate.new }
  
  def call(obj, meth, *args)
    BlankSlate.find_hidden_method(meth).bind(obj).call(*args)
  end
  
  describe "cleanliness" do
    it "should not have many methods" do
      BlankSlate.instance_methods.
        map(&:to_s).sort.
        should == ["__id__", "__send__", "instance_eval", "object_id"]
    end 
  end
  
  context "when methods are added to Object" do
    after(:each) { 
      class Object
        undef :foo
      end
    }

    it "should still be blank" do
      class Object 
        def foo
        end
      end
      Object.new.foo
      
      lambda {
        BlankSlate.new.foo
      }.should raise_error(NoMethodError)
    end 
    
  end
end

Version data entries

7 entries across 7 versions & 3 rubygems

Version Path
scoot-0.0.4 .bundle/gems/ruby/2.2.0/gems/blankslate-2.1.2.4/spec/blankslate_spec.rb
sunrise-cms-0.3.3 vendor/bundle/ruby/1.9.1/gems/blankslate-2.1.2.4/spec/blankslate_spec.rb
sunrise-cms-0.3.2 vendor/bundle/ruby/1.9.1/gems/blankslate-2.1.2.4/spec/blankslate_spec.rb
sunrise-cms-0.3.1 vendor/bundle/ruby/1.9.1/gems/blankslate-2.1.2.4/spec/blankslate_spec.rb
sunrise-cms-0.3.0 vendor/bundle/ruby/1.9.1/gems/blankslate-2.1.2.4/spec/blankslate_spec.rb
sunrise-cms-0.3.0.rc vendor/bundle/ruby/1.9.1/gems/blankslate-2.1.2.4/spec/blankslate_spec.rb
blankslate-2.1.2.4 spec/blankslate_spec.rb