master/spec/guard/dsl_describer_spec.rb
Tim Pope b59d6ac07b Add a user guard config
Users can add additional settings to ~/.guard.rb that augment the
existing Guardfile.
2011-08-31 04:07:42 -04:00

41 lines
931 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
subject { described_class }
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