mirror of
https://github.com/jekyll/jekyll.git
synced 2026-04-28 03:01:03 -04:00
Merge branch '3.7-stable' into 3.7-stable-backport-7419
This commit is contained in:
@@ -195,6 +195,15 @@ class JekyllUnitTest < Minitest::Test
|
||||
skip msg.to_s.magenta
|
||||
end
|
||||
end
|
||||
|
||||
def symlink_if_allowed(target, sym_file)
|
||||
FileUtils.ln_sf(target, sym_file)
|
||||
rescue Errno::EACCES
|
||||
skip "Permission denied for creating a symlink to #{target.inspect} " \
|
||||
"on this machine".magenta
|
||||
rescue NotImplementedError => error
|
||||
skip error.to_s.magenta
|
||||
end
|
||||
end
|
||||
|
||||
class FakeLogger
|
||||
|
||||
@@ -34,7 +34,8 @@ class TestLayoutReader < JekyllUnitTest
|
||||
|
||||
context "when a layout is a symlink" do
|
||||
setup do
|
||||
FileUtils.ln_sf("/etc/passwd", source_dir("_layouts", "symlink.html"))
|
||||
symlink_if_allowed("/etc/passwd", source_dir("_layouts", "symlink.html"))
|
||||
|
||||
@site = fixture_site({
|
||||
"safe" => true,
|
||||
"include" => ["symlink.html"],
|
||||
@@ -42,7 +43,7 @@ class TestLayoutReader < JekyllUnitTest
|
||||
end
|
||||
|
||||
teardown do
|
||||
FileUtils.rm(source_dir("_layouts", "symlink.html"))
|
||||
FileUtils.rm_f(source_dir("_layouts", "symlink.html"))
|
||||
end
|
||||
|
||||
should "only read the layouts which are in the site" do
|
||||
@@ -56,7 +57,7 @@ class TestLayoutReader < JekyllUnitTest
|
||||
|
||||
context "with a theme" do
|
||||
setup do
|
||||
FileUtils.ln_sf("/etc/passwd", theme_dir("_layouts", "theme-symlink.html"))
|
||||
symlink_if_allowed("/etc/passwd", theme_dir("_layouts", "theme-symlink.html"))
|
||||
@site = fixture_site({
|
||||
"include" => ["theme-symlink.html"],
|
||||
"theme" => "test-theme",
|
||||
@@ -65,7 +66,7 @@ class TestLayoutReader < JekyllUnitTest
|
||||
end
|
||||
|
||||
teardown do
|
||||
FileUtils.rm(theme_dir("_layouts", "theme-symlink.html"))
|
||||
FileUtils.rm_f(theme_dir("_layouts", "theme-symlink.html"))
|
||||
end
|
||||
|
||||
should "not read a symlink'd theme" do
|
||||
|
||||
Reference in New Issue
Block a user