Merge pull request #3717 from alfredxing/regenerator-handle-deleted-files
Merge pull request 3717
This commit is contained in:
commit
bba7870f8b
|
@ -102,7 +102,7 @@ module Jekyll
|
||||||
return cache[dependency] = cache[path] = true
|
return cache[dependency] = cache[path] = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if data["mtime"].eql? File.mtime(path)
|
if File.exist?(path) && data["mtime"].eql?(File.mtime(path))
|
||||||
return cache[path] = false
|
return cache[path] = false
|
||||||
else
|
else
|
||||||
return add(path)
|
return add(path)
|
||||||
|
|
|
@ -89,6 +89,41 @@ class TestRegenerator < JekyllUnitTest
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context "The site regenerator" do
|
||||||
|
setup do
|
||||||
|
FileUtils.rm_rf(source_dir(".jekyll-metadata"))
|
||||||
|
|
||||||
|
@site = fixture_site({
|
||||||
|
"full_rebuild" => false
|
||||||
|
})
|
||||||
|
|
||||||
|
@site.read
|
||||||
|
@post = @site.posts.first
|
||||||
|
@regenerator = @site.regenerator
|
||||||
|
@regenerator.regenerate?(@post)
|
||||||
|
|
||||||
|
@layout_path = source_dir("_layouts/default.html")
|
||||||
|
end
|
||||||
|
|
||||||
|
teardown do
|
||||||
|
File.rename(@layout_path + ".tmp", @layout_path)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "handle deleted/nonexistent dependencies" do
|
||||||
|
assert_equal 1, @regenerator.metadata.size
|
||||||
|
path = @regenerator.metadata.keys[0]
|
||||||
|
|
||||||
|
assert File.exist?(@layout_path)
|
||||||
|
@regenerator.add_dependency(path, @layout_path)
|
||||||
|
|
||||||
|
File.rename(@layout_path, @layout_path + ".tmp")
|
||||||
|
refute File.exist?(@layout_path)
|
||||||
|
|
||||||
|
@regenerator.clear_cache
|
||||||
|
assert @regenerator.regenerate?(@post)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
context "The site metadata" do
|
context "The site metadata" do
|
||||||
setup do
|
setup do
|
||||||
FileUtils.rm_rf(source_dir(".jekyll-metadata"))
|
FileUtils.rm_rf(source_dir(".jekyll-metadata"))
|
||||||
|
|
Loading…
Reference in New Issue