spec/support/file_system_helpers.rb (35 lines of code) (raw):
module FileSystemHelpers
def within_temp_dir(&block)
Dir.chdir(Dir.mktmpdir, &block)
end
def make_filesystem
CC::Analyzer::Filesystem.new(".")
end
def make_tree(spec)
paths = spec.split(/\s+/).select(&:present?)
paths.each { |path| make_file(path, "") }
end
def make_file(path, content = "")
directory = File.dirname(path)
FileUtils.mkdir_p(directory)
File.write(path, content)
end
def write_fixture_source_files
File.write("cool.rb", "class Cool; end")
FileUtils.mkdir_p("js")
File.write("js/foo.js", "function() {}")
FileUtils.mkdir_p("stylesheets")
File.write("stylesheets/main.css", ".main {}")
FileUtils.mkdir_p("vendor/jquery")
File.write("vendor/foo.css", ".main {}")
File.write("vendor/jquery/jquery.css", ".main {}")
FileUtils.mkdir_p("spec/models")
File.write("spec/spec_helper.rb", ".main {}")
File.write("spec/models/foo.rb", ".main {}")
FileUtils.mkdir_p("config")
File.write("config/foo.rb", ".main {}")
end
end
RSpec.configure do |conf|
conf.include(FileSystemHelpers)
end