2011-06-21 13:48:27 +00:00
|
|
|
require 'spec_helper'
|
|
|
|
|
|
|
|
describe Guard::DslDescriber do
|
2011-07-02 08:01:45 +00:00
|
|
|
before(:each) { ::Guard.stub!(:guards).and_return([mock('Guard')]) }
|
2011-06-21 13:48:27 +00:00
|
|
|
subject { described_class }
|
|
|
|
|
2011-07-02 08:01:45 +00:00
|
|
|
|
2011-06-21 13:48:27 +00:00
|
|
|
it 'should evaluate a Guardfile and create the right structure' do
|
|
|
|
mixed_guardfile_string = <<-GUARD
|
|
|
|
guard 'test', :a => :b do
|
|
|
|
watch('c')
|
|
|
|
end
|
|
|
|
|
|
|
|
group :a do
|
|
|
|
guard 'test' do
|
|
|
|
watch('c')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
group "b" do
|
|
|
|
guard 'another' do
|
|
|
|
watch('c')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
GUARD
|
|
|
|
|
|
|
|
subject.evaluate_guardfile(:guardfile_contents => mixed_guardfile_string)
|
|
|
|
|
|
|
|
subject.guardfile_structure.should == [
|
|
|
|
{ :guards => [ { :name => 'test', :options => { :a => :b } } ] },
|
|
|
|
{ :group => :a, :guards => [ { :name => 'test', :options => {} } ] },
|
|
|
|
{ :group => :b, :guards => [ { :name => 'another', :options => {} } ] }
|
|
|
|
]
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|