Sha256: 9f43cd1175ded4e5ef9aa6d5124fbfddedf17d43199b8547dc61ba45c73d94cd

Contents?: true

Size: 1.59 KB

Versions: 11

Compression:

Stored size: 1.59 KB

Contents

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

describe LedgerWeb::Config do
  describe "#initialize" do

    it "should get and set simple values" do
      conf = LedgerWeb::Config.new do |config|
        config.set :key_one, "value one"
        config.set :key_two, "value two"
      end
  
      conf.get(:key_one).should eq("value one")
      conf.get(:key_two).should eq("value two")
    end

    it "should get and run simple hooks" do
      conf = LedgerWeb::Config.new do |config|
        config.add_hook :sample do |val|
          val[:foo] = val[:foo] * 2
        end
      end

      test_val = { :foo => 2 }
      conf.run_hooks(:sample, test_val)
      test_val[:foo].should eq(4)
    end
  end

  describe "#override_with" do
    it "should override keys" do
      conf_one = LedgerWeb::Config.new do |config|
        config.set :key_one, "value one"
      end

      conf_two = LedgerWeb::Config.new do |config|
        config.set :key_one, "value two"
      end

      conf_one.override_with(conf_two)

      conf_one.get(:key_one).should eq("value two")
    end

    it "should append hooks" do
      conf_one = LedgerWeb::Config.new do |config|
        config.add_hook(:sample) do |val|
          val[:list] << 'one'
        end
      end

      conf_two = LedgerWeb::Config.new do |config|
        config.add_hook(:sample) do |val|
          val[:list] << 'two'
        end
      end

      conf_one.override_with(conf_two)

      test_val = {:list => []}
      conf_one.run_hooks(:sample, test_val)
      test_val[:list].should eq(['one', 'two'])
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
ledger_web-1.5.2 test/config_spec.rb
ledger_web-1.5.1 test/config_spec.rb
ledger_web-1.5.0 test/config_spec.rb
ledger_web-1.4.11 test/config_spec.rb
ledger_web-1.4.10 test/config_spec.rb
ledger_web-1.4.9 test/config_spec.rb
ledger_web-1.4.8 test/config_spec.rb
ledger_web-1.4.7 test/config_spec.rb
ledger_web-1.4.6 test/config_spec.rb
ledger_web-1.4.4 test/config_spec.rb
ledger_web-1.4.3 test/config_spec.rb