Cache Jekyll.sanitized_path (#8424)

Merge pull request 8424
This commit is contained in:
fauno
2020-10-07 11:39:06 -03:00
committed by GitHub
parent 56e15c5ace
commit 59bafa802b
3 changed files with 67 additions and 16 deletions

35
test/test_path_manager.rb Normal file
View File

@@ -0,0 +1,35 @@
# frozen_string_literal: true
require "helper"
class TestPathManager < JekyllUnitTest
context "PathManager" do
setup do
@source = Dir.pwd
end
should "return frozen copy of base if questionable path is nil" do
assert_equal @source, Jekyll::PathManager.sanitized_path(@source, nil)
assert Jekyll::PathManager.sanitized_path(@source, nil).frozen?
end
should "return a frozen copy of base if questionable path expands into the base" do
assert_equal @source, Jekyll::PathManager.sanitized_path(@source, File.join(@source, "/"))
assert Jekyll::PathManager.sanitized_path(@source, File.join(@source, "/")).frozen?
end
should "return a frozen string result" do
if Jekyll::Utils::Platforms.really_windows?
assert_equal(
"#{@source}/_config.yml",
Jekyll::PathManager.sanitized_path(@source, "E:\\_config.yml")
)
end
assert_equal(
"#{@source}/_config.yml",
Jekyll::PathManager.sanitized_path(@source, "//_config.yml")
)
assert Jekyll::PathManager.sanitized_path(@source, "//_config.yml").frozen?
end
end
end