2 changed files with 49 additions and 0 deletions
@ -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…
Reference in new issue