starting spec work
This commit is contained in:
parent
b088152ea2
commit
6270393027
2
Gemfile
2
Gemfile
@ -7,4 +7,4 @@ gem 'guard'
|
|||||||
gem 'guard-rspec'
|
gem 'guard-rspec'
|
||||||
gem 'mocha'
|
gem 'mocha'
|
||||||
gem 'fakefs'
|
gem 'fakefs'
|
||||||
|
gem 'rspec', '~> 2.6.0'
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
module Penchant
|
module Penchant
|
||||||
# Your code goes here...
|
autoload :Gemfile, 'penchant/gemfile'
|
||||||
end
|
end
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
module Penchant
|
||||||
|
class Gemfile
|
||||||
|
attr_reader :path
|
||||||
|
|
||||||
|
def initialize(path)
|
||||||
|
@path = path
|
||||||
|
end
|
||||||
|
|
||||||
|
def has_gemfile?
|
||||||
|
has_file_in_path?('Gemfile')
|
||||||
|
end
|
||||||
|
|
||||||
|
def has_gemfile_erb?
|
||||||
|
has_file_in_path?('Gemfile.erb')
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def has_file_in_path?(file)
|
||||||
|
File.file?(File.join(@path, file))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
@ -1,6 +1,44 @@
|
|||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
describe Penchant::Gemfile do
|
describe Penchant::Gemfile do
|
||||||
|
include FakeFS::SpecHelpers
|
||||||
|
|
||||||
|
let(:dir) { File.expand_path(Dir.pwd) }
|
||||||
|
let(:gemfile) { described_class.new(dir) }
|
||||||
|
|
||||||
|
let(:gemfile_path) { File.join(dir, 'Gemfile') }
|
||||||
|
let(:gemfile_erb_path) { File.join(dir, 'Gemfile.erb') }
|
||||||
|
|
||||||
|
def write_file(path, content = nil)
|
||||||
|
File.open(path, 'wb') do |fh|
|
||||||
|
content = yield if block_given?
|
||||||
|
fh.print content
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
subject { gemfile }
|
||||||
|
|
||||||
|
context 'with no gemfile' do
|
||||||
|
it { should_not have_gemfile }
|
||||||
|
it { should_not have_gemfile_erb }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with gemfile' do
|
||||||
|
before do
|
||||||
|
write_file(gemfile_path) { "whatever" }
|
||||||
|
end
|
||||||
|
|
||||||
|
it { should have_gemfile }
|
||||||
|
it { should_not have_gemfile_erb }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with gemfile.erb' do
|
||||||
|
before do
|
||||||
|
write_file(gemfile_erb_path) { "whatever" }
|
||||||
|
end
|
||||||
|
|
||||||
|
it { should_not have_gemfile }
|
||||||
|
it { should have_gemfile_erb }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
require 'fakefs/spec_helpers'
|
||||||
|
require 'penchant'
|
||||||
|
|
||||||
|
RSpec.configure do |c|
|
||||||
|
c.mock_with :mocha
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user