diff --git a/lib/guard/dsl.rb b/lib/guard/dsl.rb index 454729d..68b9f8f 100644 --- a/lib/guard/dsl.rb +++ b/lib/guard/dsl.rb @@ -90,7 +90,7 @@ module Guard end def group(name, &guard_definition) - guard_definition.call if guard_definition && (@@options[:group].empty? || @@options[:group].include?(name)) + guard_definition.call if guard_definition && (@@options[:group].empty? || @@options[:group].include?(name.to_s)) end def guard(name, options = {}, &watch_definition) diff --git a/spec/guard/dsl_spec.rb b/spec/guard/dsl_spec.rb index 26ef5ef..5312226 100644 --- a/spec/guard/dsl_spec.rb +++ b/spec/guard/dsl_spec.rb @@ -186,7 +186,11 @@ describe Guard::Dsl do end describe "#group" do - it "should evaluates only the specified group" do + it "should evaluates only the specified string group" do + ::Guard.should_receive(:add_guard).with('test', anything, {}) + lambda { subject.evaluate_guardfile(:guardfile_contents => valid_guardfile_string, :group => ['w']) }.should_not raise_error + end + it "should evaluates only the specified symbol group" do ::Guard.should_receive(:add_guard).with('test', anything, {}) lambda { subject.evaluate_guardfile(:guardfile_contents => valid_guardfile_string, :group => ['x']) }.should_not raise_error end @@ -251,7 +255,13 @@ private end def valid_guardfile_string - "group 'x' do + "group 'w' do + guard 'test' do + watch('c') + end + end + + group :x do guard 'test' do watch('c') end