Sha256: c23219423c2ef8fe2b37c6147b913edbf293e20b22e5e9c342da14c688df38e0

Contents?: true

Size: 1.48 KB

Versions: 4

Compression:

Stored size: 1.48 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe "Stache::Config" do
  describe "attributes" do
    before do
      Stache.send(:instance_variable_set, :@template_base_path, nil)
    end
    [:template_base_path, :shared_path].each do |attr|
      it "sets up an attribute named #{attr.to_s}" do
        should_set_up_attr_accessor_for(attr)
      end

      it "sets up a default value for #{attr}" do
        Stache.send(attr).should_not be_nil
        Stache.send(attr).should == if attr == :template_base_path
          ::Rails.root.join('app', 'templates')
        elsif attr == :shared_path
          ::Rails.root.join('app', 'templates', 'shared')
        end
      end
    end

    it "sets up an attribute named wrapper_module_name" do
      attr = :wrapper_module_name
      should_set_up_attr_accessor_for(attr)
    end

    it "sets a default value for wrapper_module_name" do
      Stache.send(:wrapper_module_name).should be_nil
    end
  end

  describe ".configure" do
    it "yields self to the block as a convienence to future refactoring" do
      Stache.configure do |config|
        config.template_base_path = "/dev/null"
      end
      Stache.template_base_path.should == Pathname.new("/dev/null")
      Stache.configure do |config|
        config.template_base_path = ::Rails.root.join('app', 'views')
      end
    end
  end

  def should_set_up_attr_accessor_for(attr)
    Stache.should respond_to(attr)
    Stache.should respond_to("#{attr}=")
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
stache-1.0.3 spec/stache/config_spec.rb
stache-1.0.2 spec/stache/config_spec.rb
stache-1.0.1 spec/stache/config_spec.rb
stache-1.0.0 spec/stache/config_spec.rb