middleman/spec/generator_spec.rb

41 lines
1.2 KiB
Ruby

require 'fileutils'
describe "Generator" do
def project_file(*parts)
File.expand_path(File.join(File.dirname(__FILE__), "..", *parts))
end
before :all do
@root_dir = project_file("spec", "fixtures", "generator-test")
end
before :each do
init_cmd = project_file("bin", "mm-init")
`cd #{File.dirname(@root_dir)} && #{init_cmd} #{File.basename(@root_dir)}`
end
after :each do
FileUtils.rm_rf(@root_dir)
end
it "should use layout file" do
build_cmd = project_file("bin", "mm-build")
`cd #{@root_dir} && #{build_cmd}`
File.exists?("#{@root_dir}/build/index.html").should be_true
File.read("#{@root_dir}/build/index.html").should include("Comment in layout")
end
it "should copy template files" do
template_dir = project_file("lib", "template", "**/*")
Dir[template_dir].each do |f|
next if File.directory?(f)
File.exists?("#{@root_dir}/#{f.split('template/')[1]}").should be_true
end
end
it "should create empty directories" do
%w(views/stylesheets public/stylesheets public/javascripts public/images).each do |d|
File.exists?("#{@root_dir}/#{d}").should be_true
end
end
end