Ensure theme config is a `Jekyll::Configuration` object (#8988)
Merge pull request 8988
This commit is contained in:
parent
0d0fd3f41b
commit
3b3f845846
|
@ -476,7 +476,11 @@ module Jekyll
|
|||
theme_config.delete_if { |key, _| Configuration::DEFAULTS.key?(key) }
|
||||
|
||||
# Override theme_config with existing config and return the result.
|
||||
# Additionally ensure we return a `Jekyll::Configuration` instance instead of a Hash.
|
||||
Utils.deep_merge_hashes(theme_config, config)
|
||||
.each_with_object(Jekyll::Configuration.new) do |(key, value), conf|
|
||||
conf[key] = value
|
||||
end
|
||||
end
|
||||
|
||||
# Limits the current posts; removes the posts which exceed the limit_posts
|
||||
|
|
|
@ -97,6 +97,12 @@ class TestSite < JekyllUnitTest
|
|||
)
|
||||
end
|
||||
|
||||
should "load config file from theme-gem as Jekyll::Configuration instance" do
|
||||
site = fixture_site("theme" => "test-theme")
|
||||
assert_instance_of Jekyll::Configuration, site.config
|
||||
assert_equal "Hello World", site.config["title"]
|
||||
end
|
||||
|
||||
context "with a custom cache_dir configuration" do
|
||||
should "have the custom cache_dir hidden from Git" do
|
||||
site = fixture_site("cache_dir" => "../../custom-cache-dir")
|
||||
|
|
Loading…
Reference in New Issue