Implement target recipe keyword feature

This commit is contained in:
Thibault Jouan
2013-08-03 23:41:22 +00:00
parent a6e27edfd2
commit a3bba6d4da
4 changed files with 39 additions and 1 deletions

View File

@@ -5,10 +5,25 @@ module Producer::Core
let(:recipe) { Recipe.new(proc { nil }) }
subject(:env) { Env.new(recipe) }
describe '#initialize' do
it 'has no target' do
expect(env.target).not_to be
end
end
describe '#current_recipe' do
it 'returns the assigned current recipe' do
expect(env.current_recipe).to eq recipe
end
end
describe '#target' do
let(:target) { Object.new }
it 'returns the defined target' do
env.target = target
expect(env.target).to eq target
end
end
end
end

View File

@@ -87,6 +87,15 @@ module Producer::Core
end
end
describe '#target' do
let(:code) { proc { target 'some_host.example' } }
it 'registers the target host in the env' do
expect(env).to receive(:target=).with('some_host.example')
dsl.evaluate(env)
end
end
describe '#tasks' do
let(:code) { proc { task(:some_task) } }