Sha256: bdb973ff7d4e5a57219801374c665adf1989c4bf64abba19056d2b63f43706b6
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
require "spec_helper" require "schizo/facade" module Schizo module Facade describe ClassBuilder do let(:base) do Class.new do def self.name; "Foo"; end end end let(:role) do Module.new do extend Role extended do @test_var = 1 end end end let(:builder) do ClassBuilder.new(base, role) end it "works with namespaced roles" do role.module_eval do def self.name "Namespaced::Role" end end builder.product.to_s.should == "Schizo::Facades::Foo::Namespaced::Role" end context "#initialize" do it "sets base and role" do builder.base.should == base builder.role.should == role end end context "#product" do it "returns a facade class" do builder.product.tap do |facade| facade.should be_a(Class) facade.ancestors.should include(base) facade.ancestors.should include(Base) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
schizo-0.1.3 | spec/facade/class_builder_spec.rb |
schizo-0.1.2 | spec/facade/class_builder_spec.rb |