diff options
| -rw-r--r-- | spec/unit/puppet/parser/functions/validate_bool_spec.rb | 26 | 
1 files changed, 17 insertions, 9 deletions
diff --git a/spec/unit/puppet/parser/functions/validate_bool_spec.rb b/spec/unit/puppet/parser/functions/validate_bool_spec.rb index 19ecf23..e95c396 100644 --- a/spec/unit/puppet/parser/functions/validate_bool_spec.rb +++ b/spec/unit/puppet/parser/functions/validate_bool_spec.rb @@ -21,21 +21,29 @@ describe Puppet::Parser::Functions.function(:validate_bool) do    end    describe 'when calling validate_bool from puppet' do -    it "should validate true and false as bare words" do -      Puppet[:code] = 'validate_bool(true)' -      get_scope -      @scope.compiler.compile -    end -    it "should not compile when false is a string" do -      Puppet[:code] = 'validate_bool("false")' -      get_scope -      expect { @scope.compiler.compile }.should raise_error(Puppet::ParseError, /is not a boolean/) + +    %w{ true false }.each do |the_string| + +      it "should not compile when #{the_string} is a string" do +        Puppet[:code] = "validate_bool('#{the_string}')" +        get_scope +        expect { @scope.compiler.compile }.should raise_error(Puppet::ParseError, /is not a boolean/) +      end + +      it "should compile when #{the_string} is a bare word" do +        Puppet[:code] = "validate_bool(#{the_string})" +        get_scope +        @scope.compiler.compile +      end +      end +      it "should not compile when an arbitrary string is passed" do        Puppet[:code] = 'validate_bool("jeff and dan are awesome")'        get_scope        expect { @scope.compiler.compile }.should raise_error(Puppet::ParseError, /is not a boolean/)      end +      it "should not compile when no arguments are passed" do        Puppet[:code] = 'validate_bool()'        get_scope  | 
