Browse Source

cli: unit tests for advanced template

dev
Andy Meneely 8 years ago
parent
commit
60ca032d2d
  1. 1
      bin/squib
  2. 3
      lib/squib/commands/cli.rb
  3. 19
      spec/commands/new_spec.rb

1
bin/squib

@ -1,5 +1,4 @@
#!/usr/bin/env ruby
require 'squib'
require 'mercenary'
Squib::CLI.new.run

3
lib/squib/commands/cli.rb

@ -1,5 +1,6 @@
require_relative 'new'
require 'mercenary'
require_relative 'make_sprue'
require_relative 'new'
module Squib
class CLI

19
spec/commands/new_spec.rb

@ -19,26 +19,33 @@ describe Squib::Commands::New do
end
it 'raises an error if no directory was specified' do
expect{@cmd.process([])}.to raise_error(ArgumentError, 'Please specify a path.')
expect{@cmd.process([], false)}.
to raise_error(ArgumentError, 'Please specify a path.')
end
it 'creates a new template on an fresh directory' do
@cmd.process(['foo'])
it 'creates a basic template on an fresh directory' do
@cmd.process(['foo'], false)
expect(File.exists?('foo/deck.rb')).to be true
end
it 'creates an advanced template on an fresh directory' do
@cmd.process(['foo'], true)
expect(File.exists?('foo/src/deck.rb')).to be true
end
it 'creates a new template on an empty directory' do
Dir.mkdir('foo')
@cmd.process(['foo'])
@cmd.process(['foo'], false)
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'])
@cmd.process(['foo'], false)
$stderr.rewind
expect($stderr.string.chomp).to end_with ' exists and is not empty. Doing nothing and quitting.'
expect($stderr.string.chomp).
to end_with 'not empty. Doing nothing and quitting.'
end
after(:all) do

Loading…
Cancel
Save