Sha256: 9b03c97f629980d9e7ed05f04e6a9d3ac5fa6edb54659d9897efac5ae7bef2b3

Contents?: true

Size: 813 Bytes

Versions: 23

Compression:

Stored size: 813 Bytes

Contents

require File.expand_path(File.join(File.dirname(__FILE__), 'spec_helper'))
require 'extlib/lazy_module'

describe LazyModule do
  describe "instantiated with a block" do
    it "defers block body evaluation" do
      lambda do
        LazyModule.new do
          raise "Will only be evaluated when mixed in"
        end
      end.should_not raise_error
    end
  end


  describe "included into hosting class" do
    before :all do
      KlazzyLazyModule = LazyModule.new do
        def self.klassy
          "Klazz"
        end

        def instancy
          "Instanzz"
        end
      end

      @klass = Class.new do
        include KlazzyLazyModule
      end
    end

    it "class evals block body" do
      @klass.klassy.should == "Klazz"
      @klass.new.instancy.should == "Instanzz"
    end
  end
end

Version data entries

23 entries across 22 versions & 5 rubygems

Version Path
sundbp-extlib-0.9.14 spec/lazy_module_spec.rb
middleman-0.13.1 lib/middleman/vendor/gems/ruby/1.9.1/gems/extlib-0.9.14/spec/lazy_module_spec.rb
middleman-0.13.1 lib/middleman/vendor/gems/ruby/1.8/gems/extlib-0.9.14/spec/lazy_module_spec.rb
middleman-0.12.2 lib/middleman/vendor/gems/gems/extlib-0.9.14/spec/lazy_module_spec.rb
middleman-0.12.1 lib/middleman/vendor/gems/gems/extlib-0.9.14/spec/lazy_module_spec.rb
extlib-0.9.14 spec/lazy_module_spec.rb
ginst-2009.12.8 vendor/gems/extlib-0.9.13/spec/lazy_module_spec.rb
middleman-0.12.0.pre3 lib/middleman/vendor/gems/gems/extlib-0.9.13/spec/lazy_module_spec.rb
middleman-0.12.0.pre2 lib/middleman/vendor/gems/gems/extlib-0.9.13/spec/lazy_module_spec.rb
middleman-0.12.0.pre lib/middleman/vendor/gems/gems/extlib-0.9.13/spec/lazy_module_spec.rb
ginst-2009.11.24 vendor/gems/extlib-0.9.13/spec/lazy_module_spec.rb
ginst-2009.11.23 vendor/gems/extlib-0.9.13/spec/lazy_module_spec.rb
rango-0.0.6 vendor/extlib/spec/lazy_module_spec.rb
rango-0.1.pre vendor/extlib/spec/lazy_module_spec.rb
middleman-0.10.17 vendor/gems/gems/extlib-0.9.13/spec/lazy_module_spec.rb
middleman-0.10.16 vendor/gems/gems/extlib-0.9.13/spec/lazy_module_spec.rb
middleman-0.10.15 vendor/gems/gems/extlib-0.9.13/spec/lazy_module_spec.rb
middleman-0.10.14 vendor/gems/gems/extlib-0.9.13/spec/lazy_module_spec.rb
ginst-2.0.1 vendor/gems/extlib-0.9.13/spec/lazy_module_spec.rb
ginst-2.0.0 vendor/gems/extlib-0.9.13/spec/lazy_module_spec.rb