Added tests for Jekyll:StaticFile
This commit is contained in:
parent
0e52b83b6f
commit
28a1d2445e
|
@ -0,0 +1,95 @@
|
||||||
|
require 'helper'
|
||||||
|
|
||||||
|
class TestStaticFile < JekyllUnitTest
|
||||||
|
def make_dummy_file(file_name)
|
||||||
|
temp_file = File.new(file_name, "w")
|
||||||
|
temp_file.puts("some content")
|
||||||
|
temp_file.close
|
||||||
|
end
|
||||||
|
|
||||||
|
def modify_dummy_file(file_name)
|
||||||
|
temp_file = File.open(file_name, "w")
|
||||||
|
temp_file.puts("more content")
|
||||||
|
temp_file.close
|
||||||
|
end
|
||||||
|
|
||||||
|
def remove_dummy_file(file_name)
|
||||||
|
File.delete(file_name)
|
||||||
|
end
|
||||||
|
|
||||||
|
def setup_static_file(base, dir, name)
|
||||||
|
@static_file = StaticFile.new(@site, base, dir, name)
|
||||||
|
end
|
||||||
|
|
||||||
|
context "A StaticFile" do
|
||||||
|
setup do
|
||||||
|
clear_dest
|
||||||
|
@site = Site.new(site_configuration)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "have a source file path" do
|
||||||
|
static_file = setup_static_file("root", "dir", "file_name.html")
|
||||||
|
assert_equal "root/dir/file_name.html", static_file.path
|
||||||
|
end
|
||||||
|
|
||||||
|
should "have a destination relative directory without a collection" do
|
||||||
|
static_file = setup_static_file("root", "dir/subdir", "file.html")
|
||||||
|
assert "dir/subdir", static_file.destination_rel_dir
|
||||||
|
end
|
||||||
|
|
||||||
|
should "know its last modification time" do
|
||||||
|
file_name = "file.html"
|
||||||
|
static_file = setup_static_file(nil, nil, "file.html")
|
||||||
|
make_dummy_file(file_name)
|
||||||
|
assert_equal Time.new.to_i, static_file.mtime
|
||||||
|
remove_dummy_file(file_name)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "known if the source path is modified, when it is" do
|
||||||
|
file_name = "file_name.txt"
|
||||||
|
make_dummy_file(file_name)
|
||||||
|
static_file = setup_static_file(nil, nil, file_name)
|
||||||
|
sleep 1
|
||||||
|
modify_dummy_file(file_name)
|
||||||
|
assert static_file.modified?
|
||||||
|
remove_dummy_file(file_name)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "known if the source path is modified, when its not" do
|
||||||
|
file_name = "file_name.txt"
|
||||||
|
make_dummy_file(file_name)
|
||||||
|
static_file = setup_static_file(nil, nil, file_name)
|
||||||
|
static_file.write(nil)
|
||||||
|
sleep 1 # wait, else the times are still the same
|
||||||
|
assert !static_file.modified?
|
||||||
|
remove_dummy_file(file_name)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "known whether to write the file to the filesystem" do
|
||||||
|
static_file = setup_static_file("root", "dir", "file_name.txt")
|
||||||
|
assert static_file.write?, "always true, with current implementation"
|
||||||
|
end
|
||||||
|
|
||||||
|
should "be able to write itself to the desitination direcotry" do
|
||||||
|
file_name = "file_name.txt"
|
||||||
|
make_dummy_file(file_name)
|
||||||
|
static_file = setup_static_file(nil, nil, file_name)
|
||||||
|
assert static_file.write(nil)
|
||||||
|
remove_dummy_file(file_name)
|
||||||
|
end
|
||||||
|
|
||||||
|
should "be able to convert to liquid" do
|
||||||
|
file_name = "file_name.txt"
|
||||||
|
make_dummy_file(file_name)
|
||||||
|
static_file = setup_static_file(nil, nil, "file_name.txt")
|
||||||
|
expected = {
|
||||||
|
"path"=>"/file_name.txt",
|
||||||
|
"modified_time"=> static_file.mtime.to_s,
|
||||||
|
"extname"=>".txt"
|
||||||
|
}
|
||||||
|
assert expected.eql?(static_file.to_liquid), "map is not the same"
|
||||||
|
remove_dummy_file(file_name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in New Issue