Merge pull request #5780 from jekyll/dont-include-in-load-path-if-nil
Merge pull request 5780
This commit is contained in:
commit
b5d1be4dcf
|
@ -435,7 +435,7 @@ module Jekyll
|
||||||
private
|
private
|
||||||
def configure_include_paths
|
def configure_include_paths
|
||||||
@includes_load_paths = Array(in_source_dir(config["includes_dir"].to_s))
|
@includes_load_paths = Array(in_source_dir(config["includes_dir"].to_s))
|
||||||
@includes_load_paths << theme.includes_path if self.theme
|
@includes_load_paths << theme.includes_path if theme && theme.includes_path
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -74,6 +74,10 @@ module DirectoryHelpers
|
||||||
test_dir("source", *subdirs)
|
test_dir("source", *subdirs)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def theme_dir(*subdirs)
|
||||||
|
test_dir("fixtures", "test-theme", *subdirs)
|
||||||
|
end
|
||||||
|
|
||||||
def test_dir(*subdirs)
|
def test_dir(*subdirs)
|
||||||
root_dir("test", *subdirs)
|
root_dir("test", *subdirs)
|
||||||
end
|
end
|
||||||
|
|
|
@ -49,6 +49,18 @@ class TestSite < JekyllUnitTest
|
||||||
site = Site.new(site_configuration({ "baseurl" => "/blog" }))
|
site = Site.new(site_configuration({ "baseurl" => "/blog" }))
|
||||||
assert_equal "/blog", site.baseurl
|
assert_equal "/blog", site.baseurl
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "only include theme includes_path if the path exists" do
|
||||||
|
site = fixture_site({ "theme" => "test-theme" })
|
||||||
|
assert_equal [source_dir("_includes"), theme_dir("_includes")],
|
||||||
|
site.includes_load_paths
|
||||||
|
|
||||||
|
allow(File).to receive(:directory?).with(theme_dir("_sass")).and_return(true)
|
||||||
|
allow(File).to receive(:directory?).with(theme_dir("_layouts")).and_return(true)
|
||||||
|
allow(File).to receive(:directory?).with(theme_dir("_includes")).and_return(false)
|
||||||
|
site = fixture_site({ "theme" => "test-theme" })
|
||||||
|
assert_equal [source_dir("_includes")], site.includes_load_paths
|
||||||
|
end
|
||||||
end
|
end
|
||||||
context "creating sites" do
|
context "creating sites" do
|
||||||
setup do
|
setup do
|
||||||
|
|
|
@ -3,7 +3,6 @@ require "helper"
|
||||||
class TestTheme < JekyllUnitTest
|
class TestTheme < JekyllUnitTest
|
||||||
def setup
|
def setup
|
||||||
@theme = Theme.new("test-theme")
|
@theme = Theme.new("test-theme")
|
||||||
@expected_root = File.expand_path "./fixtures/test-theme", File.dirname(__FILE__)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context "initializing" do
|
context "initializing" do
|
||||||
|
@ -13,7 +12,7 @@ class TestTheme < JekyllUnitTest
|
||||||
end
|
end
|
||||||
|
|
||||||
should "know the theme root" do
|
should "know the theme root" do
|
||||||
assert_equal @expected_root, @theme.root
|
assert_equal theme_dir, @theme.root
|
||||||
end
|
end
|
||||||
|
|
||||||
should "know the theme version" do
|
should "know the theme version" do
|
||||||
|
@ -36,13 +35,13 @@ class TestTheme < JekyllUnitTest
|
||||||
context "path generation" do
|
context "path generation" do
|
||||||
[:assets, :_layouts, :_includes, :_sass].each do |folder|
|
[:assets, :_layouts, :_includes, :_sass].each do |folder|
|
||||||
should "know the #{folder} path" do
|
should "know the #{folder} path" do
|
||||||
expected = File.expand_path(folder.to_s, @expected_root)
|
expected = theme_dir(folder.to_s)
|
||||||
assert_equal expected, @theme.public_send("#{folder.to_s.tr("_", "")}_path")
|
assert_equal expected, @theme.public_send("#{folder.to_s.tr("_", "")}_path")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
should "generate folder paths" do
|
should "generate folder paths" do
|
||||||
expected = File.expand_path("./_sass", @expected_root)
|
expected = theme_dir("_sass")
|
||||||
assert_equal expected, @theme.send(:path_for, :_sass)
|
assert_equal expected, @theme.send(:path_for, :_sass)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -58,7 +57,7 @@ class TestTheme < JekyllUnitTest
|
||||||
# no support for symlinks on Windows
|
# no support for symlinks on Windows
|
||||||
skip_if_windows "Jekyll does not currently support symlinks on Windows."
|
skip_if_windows "Jekyll does not currently support symlinks on Windows."
|
||||||
|
|
||||||
expected = File.expand_path("./_layouts", @expected_root)
|
expected = theme_dir("_layouts")
|
||||||
assert_equal expected, @theme.send(:path_for, :_symlink)
|
assert_equal expected, @theme.send(:path_for, :_symlink)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue