Browse Source

Spec for the new command

dev
Andy Meneely 12 years ago
parent
commit
a017330d0b
  1. 1
      .gitignore
  2. 48
      spec/commands/new_spec.rb

1
.gitignore vendored

@ -25,3 +25,4 @@ _img
samples/_img
samples/_output/*.png
samples/_output/*.pdf
samples/_output/foo

48
spec/commands/new_spec.rb

@ -0,0 +1,48 @@
require 'spec_helper'
require 'squib'
describe Squib::Commands::New do
describe "#process" do
before(:all) do
@old_stderr = $stderr
$stderr = StringIO.new
@oldpwd = Dir.pwd
Dir.chdir(File.expand_path('../../samples/_output', File.dirname(__FILE__)))
end
before(:each) do
FileUtils.rm_rf('foo', secure: true)
@cmd = Squib::Commands::New.new
end
it "raises an error if no directory was specified" do
expect{@cmd.process([])}.to raise_error(ArgumentError, 'Please specify a path.')
end
it "creates a new template on an fresh directory" do
@cmd.process(['foo'])
expect(File.exists?('foo/deck.rb')).to be true
end
it "creates a new template on an empty directory" do
Dir.mkdir('foo')
@cmd.process(['foo'])
expect(File.exists?('foo/deck.rb')).to be true
end
it "does not create a new template on an empty " do
Dir.mkdir('foo')
File.new('foo/somefile.txt', 'w+')
@cmd.process(['foo'])
$stderr.rewind
expect($stderr.string.chomp).to end_with " exists and is not empty. Doing nothing and quitting."
end
after(:all) do
$stderr = @old_stderr
Dir.chdir(@oldpwd)
end
end
end
Loading…
Cancel
Save