Merge pull request #824 from sinamt/symlinked_folders
Allow symlinked folders in unsafe mode (with tests). Closes #796, resolves #233.
This commit is contained in:
commit
63d0eef646
|
@ -349,7 +349,7 @@ module Jekyll
|
||||||
['.', '_', '#'].include?(e[0..0]) ||
|
['.', '_', '#'].include?(e[0..0]) ||
|
||||||
e[-1..-1] == '~' ||
|
e[-1..-1] == '~' ||
|
||||||
self.exclude.glob_include?(e) ||
|
self.exclude.glob_include?(e) ||
|
||||||
File.symlink?(e)
|
(File.symlink?(e) && self.safe)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -172,6 +172,22 @@ class TestSite < Test::Unit::TestCase
|
||||||
assert_equal files, @site.filter_entries(files)
|
assert_equal files, @site.filter_entries(files)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "filter symlink entries when safe mode enabled" do
|
||||||
|
stub(Jekyll).configuration do
|
||||||
|
Jekyll::DEFAULTS.merge({'source' => source_dir, 'destination' => dest_dir, 'safe' => true})
|
||||||
|
end
|
||||||
|
site = Site.new(Jekyll.configuration)
|
||||||
|
stub(File).symlink?('symlink.js') {true}
|
||||||
|
files = %w[symlink.js]
|
||||||
|
assert_equal [], site.filter_entries(files)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "not filter symlink entries when safe mode disabled" do
|
||||||
|
stub(File).symlink?('symlink.js') {true}
|
||||||
|
files = %w[symlink.js]
|
||||||
|
assert_equal files, @site.filter_entries(files)
|
||||||
|
end
|
||||||
|
|
||||||
context 'error handling' do
|
context 'error handling' do
|
||||||
should "raise if destination is included in source" do
|
should "raise if destination is included in source" do
|
||||||
stub(Jekyll).configuration do
|
stub(Jekyll).configuration do
|
||||||
|
|
Loading…
Reference in New Issue