diff options
author | Adrien Thebo <git@somethingsinistral.net> | 2013-03-18 15:37:46 -0700 |
---|---|---|
committer | Adrien Thebo <git@somethingsinistral.net> | 2013-03-18 15:37:46 -0700 |
commit | 4c695ede384501b9c516cc53bdfc6b547a6e5ea2 (patch) | |
tree | 4011d4942030d73e063a4d632b90392c54c6120c | |
parent | 967f9916d16ea4f5a8557c9c66ddb878872337ca (diff) | |
parent | 5d5a4d466ed6530fa8b68162e96bdaaaf35066e1 (diff) |
Merge branch 'pull-115' into 2.x
-rw-r--r-- | lib/puppet/parser/functions/str2bool.rb | 5 | ||||
-rw-r--r-- | spec/unit/puppet/parser/functions/str2bool_spec.rb | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/puppet/parser/functions/str2bool.rb b/lib/puppet/parser/functions/str2bool.rb index c320da6..9ea6dd5 100644 --- a/lib/puppet/parser/functions/str2bool.rb +++ b/lib/puppet/parser/functions/str2bool.rb @@ -14,6 +14,11 @@ like: 0, f, n, false, no to 'false'. "given (#{arguments.size} for 1)") if arguments.size < 1 string = arguments[0] + + # If string is already Boolean, return it + if !!string == string + return string + end unless string.is_a?(String) raise(Puppet::ParseError, 'str2bool(): Requires either ' + diff --git a/spec/unit/puppet/parser/functions/str2bool_spec.rb b/spec/unit/puppet/parser/functions/str2bool_spec.rb index 2782bbe..ef6350f 100644 --- a/spec/unit/puppet/parser/functions/str2bool_spec.rb +++ b/spec/unit/puppet/parser/functions/str2bool_spec.rb @@ -21,4 +21,11 @@ describe "the str2bool function" do result = scope.function_str2bool(["undef"]) result.should(eq(false)) end + + it "should return the boolean it was called with" do + result = scope.function_str2bool([true]) + result.should(eq(true)) + result = scope.function_str2bool([false]) + result.should(eq(false)) + end end |