master/spec/guard/dsl_describer_spec.rb
2011-09-23 00:22:44 +02:00

39 lines
916 B
Ruby

require 'spec_helper'
describe Guard::DslDescriber do
before(:each) do
::Guard.stub!(:guards).and_return([mock('Guard')])
user_config_path = File.expand_path(File.join('~', '.guard.rb'))
File.stub(:exist?).with(user_config_path) { false }
end
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
described_class.evaluate_guardfile(:guardfile_contents => mixed_guardfile_string)
described_class.guardfile_structure.should == [
{ :guards => [ { :name => 'test', :options => { :a => :b } } ] },
{ :group => :a, :guards => [ { :name => 'test', :options => {} } ] },
{ :group => :b, :guards => [ { :name => 'another', :options => {} } ] }
]
end
end