diff --git a/test/test_configuration.rb b/test/test_configuration.rb index 0c57ec10..c8a2aac5 100644 --- a/test/test_configuration.rb +++ b/test/test_configuration.rb @@ -25,6 +25,30 @@ class TestConfiguration < Test::Unit::TestCase assert_equal @string_keys, @string_keys.stringify_keys end end + context "#config_files" do + setup do + @config = Configuration[Configuration::DEFAULTS] + @base_config = {"source" => source_dir} + @no_override = @base_config.merge({}) + @one_config_file = @base_config.merge({ "config" => "config.yml" }) + @multiple_files = @base_config.merge({ "config" => %w[config/site.yml config/deploy.yml configuration.yml] }) + end + + should "always return an array" do + assert @config.config_files(@no_override).is_a?(Array) + assert @config.config_files(@one_config_file).is_a?(Array) + assert @config.config_files(@multiple_files).is_a?(Array) + end + should "return the default config path if no config files are specified" do + assert_equal [File.join(source_dir, "_config.yml")], @config.config_files(@no_override) + end + should "return the config if given one config file" do + assert_equal %w[config.yml], @config.config_files(@one_config_file) + end + should "return an array of the config files if given many config files" do + assert_equal %w[config/site.yml config/deploy.yml configuration.yml], @config.config_files(@multiple_files) + end + end context "loading configuration" do setup do @path = File.join(Dir.pwd, '_config.yml')