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