diff options
Diffstat (limited to 'spec/unit/puppet')
-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 |