spec/tasks/generate_spec.rb in keydown-0.7.1 vs spec/tasks/generate_spec.rb in keydown-0.9.0

- old
+ new

@@ -1,50 +1,71 @@ -require File.expand_path(File.dirname(__FILE__) + '/../spec_helper') +require 'spec_helper' describe Keydown do + + let :tmp_dir do + "#{Dir.tmpdir}/keydown" + end + + let :project_dir do + "#{tmp_dir}/sample" + end + before :each do - @tmp_dir = "#{Dir.tmpdir}/keydown" - FileUtils.rm_r @tmp_dir if File.exists?(@tmp_dir) - FileUtils.mkdir_p @tmp_dir + FileUtils.rm_r tmp_dir if File.exists?(tmp_dir) + FileUtils.mkdir_p tmp_dir @thor = Thor.new end describe "generate command" do before :each do capture_output do - Dir.chdir @tmp_dir do + Dir.chdir tmp_dir do @thor.invoke Keydown::Tasks, ["generate", "sample"] end end end it "should generate a directory for the presentation" do - Dir.chdir "#{@tmp_dir}" do - File.directory?('sample').should be_true - end + File.directory?(project_dir).should be_true end it "should generate a sample Markdown file" do - Dir.chdir "#{@tmp_dir}/sample" do - File.exist?("slides.md").should be_true - end + File.exist?("#{project_dir}/slides.md").should be_true end it "should create the support directories for the presentation" do - Dir.chdir "#{@tmp_dir}/sample" do - File.directory?("css").should be_true - File.directory?("images").should be_true - File.directory?("js").should be_true - end + File.directory?("#{project_dir}/css").should be_true + File.directory?("#{project_dir}/images").should be_true + File.directory?("#{project_dir}/js").should be_true end - it "should copy the HTML5 Rocks default CSS file" do - File.exist?("#{@tmp_dir}/sample/css/rocks.css").should be_true + it "should copy the deck.js core files" do + File.exist?("#{project_dir}/deck.js/core/deck.core.css").should be_true + File.exist?("#{project_dir}/deck.js/core/deck.core.js").should be_true end - it "should copy the HTML5 Rocks default JS file" do - File.exist?("#{@tmp_dir}/sample/js/rocks.js").should be_true + it "should copy deck.js's support files" do + File.exist?("#{project_dir}/deck.js/support/jquery.1.6.4.min.js").should be_true + File.exist?("#{project_dir}/deck.js/support/modernizr.custom.js").should be_true + end + + it "should copy the deck.js extensions" do + File.directory?("#{project_dir}/deck.js/extensions").should be_true + + extensions = Dir.glob("#{project_dir}/deck.js/extensions/*") + extensions.length.should > 1 + extensions.should include("#{project_dir}/deck.js/extensions/codemirror") + end + + it "should copy default theme files for deck.js" do + File.exist?("#{project_dir}/css/horizontal-slide.css").should be_true + File.exist?("#{project_dir}/css/swiss.css").should be_true + end + + it "should copy default them files for codemirror.js" do + File.exist?("#{project_dir}/css/default.css").should be_true end end end \ No newline at end of file