Sha256: acd7d6217a1a1d79ec963289d942599464874a4b965f3e579a58d5c9a97130c2

Contents?: true

Size: 1.43 KB

Versions: 19

Compression:

Stored size: 1.43 KB

Contents

require File.dirname(__FILE__) + '/test_helper'

require 'cerberus/config'

class ConfigTest < Test::Unit::TestCase
  def test_config
    dump_yml(HOME + "/config.yml", {'a'=>'conf', 'd'=>'conf', 'm' => 'conf'})
    dump_yml(HOME + "/config/abra.yml", {'a'=>'app', 'd'=>'app', 'g' => 'app'})
    cfg = Cerberus::Config.new('abra', :a => 'cli', :b=>'cli', :e=>'cli')

    assert_equal nil, cfg[:mamba]
    assert_equal 'cli', cfg[:a]
    assert_equal 'cli', cfg[:b]
    assert_equal 'app', cfg[:d]
    assert_equal 'app', cfg[:g]
    assert_equal 'conf', cfg[:m]

  
    assert_equal nil, cfg['mamba']
    assert_equal 'cli', cfg['a']
    assert_equal 'cli', cfg['b']
    assert_equal 'app', cfg['d']
    assert_equal 'app', cfg['g']
    assert_equal 'conf', cfg['m']
  end

  def test_deep_merge
    cfg = Cerberus::Config.new
    cfg.merge!(:hello => {'msg' => {:a202 => 'bye'}})
    cfg.merge!(:hello => {:msg => {:a203 => 'hello'}})
    cfg.merge!(:hello => {:msg => {:a203 => 'another'}})
    cfg.merge!(:hello => {:bread => {:a204 => 'bread'}})

    assert_equal 'bye', cfg[:hello, :msg, :a202]
    assert_equal 'another', cfg[:hello, :msg, :a203]
    assert_equal 'bread', cfg[:hello, :bread, :a204]
  end

  def test_deep_merge_not_overwrite
    cfg = Cerberus::Config.new
    cfg.merge!({:hello => {'msg' => {:a202 => 'bye'}}}, false)
    cfg.merge!({:hello => {:msg => {:a202 => 'hello'}}}, false)

    assert_equal 'bye', cfg[:hello, :msg, :a202]
  end
end

Version data entries

19 entries across 19 versions & 2 rubygems

Version Path
cerberus-0.8.0 test/config_test.rb
cerberus-0.7.9 test/config_test.rb
edavis10-cerberus-0.7.8 test/config_test.rb
cerberus-0.7.8 test/config_test.rb
cerberus-0.7.7 test/config_test.rb
cerberus-0.7.6 test/config_test.rb
cerberus-0.7.2 test/config_test.rb
cerberus-0.7.5 test/config_test.rb
cerberus-0.7 test/config_test.rb
cerberus-0.3.6 test/config_test.rb
cerberus-0.4.0 test/config_test.rb
cerberus-0.4.1 test/config_test.rb
cerberus-0.4.2 test/config_test.rb
cerberus-0.4.3 test/config_test.rb
cerberus-0.4.4 test/config_test.rb
cerberus-0.4.5.1 test/config_test.rb
cerberus-0.4.5 test/config_test.rb
cerberus-0.5 test/config_test.rb
cerberus-0.6 test/config_test.rb