Permalink
Browse files

Tests for --config

  • Loading branch information...
parkr committed Jan 2, 2013
1 parent 9a222b1 commit 19a119800f952683d5f657a4dd4d4f30c9a92efa
Showing with 27 additions and 0 deletions.
  1. +27 −0 test/test_configuration.rb
View
@@ -25,4 +25,31 @@ class TestConfiguration < Test::Unit::TestCase
assert_equal Jekyll::DEFAULTS, Jekyll.configuration({})
end
end
+ context "loading config from external file" do
+ setup do
+ @paths = {
+ :default => File.join(Dir.pwd, '_config.yml'),
+ :other => File.join(Dir.pwd, '_config.live.yml'),
+ :empty => ""
+ }
+ end
+
+ should "load default config if no config_file is set" do
+ mock(YAML).load_file(@paths[:default]) { Hash.new }
+ mock($stdout).puts("Configuration from #{@paths[:default]}")
+ assert_equal Jekyll::DEFAULTS, Jekyll.configuration({})
+ end
+
+ should "load different config if specified" do
+ mock(YAML).load_file(@paths[:other]) { {"baseurl" => "http://wahoo.dev"} }
+ mock($stdout).puts("Configuration from #{@paths[:other]}")
+ assert_equal Jekyll::DEFAULTS.deep_merge({ "baseurl" => "http://wahoo.dev" }), Jekyll.configuration({ "config" => @paths[:other] })
+ end
+
+ should "load default config if path passed is empty" do
+ mock(YAML).load_file(@paths[:default]) { Hash.new }
+ mock($stdout).puts("Configuration from #{@paths[:default]}")
+ assert_equal Jekyll::DEFAULTS, Jekyll.configuration({ "config" => @paths[:empty] })
+ end
+ end
end

0 comments on commit 19a1198

Please sign in to comment.