summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrien Thebo <git@somethingsinistral.net>2013-03-18 15:37:46 -0700
committerAdrien Thebo <git@somethingsinistral.net>2013-03-18 15:37:46 -0700
commit4c695ede384501b9c516cc53bdfc6b547a6e5ea2 (patch)
tree4011d4942030d73e063a4d632b90392c54c6120c
parent967f9916d16ea4f5a8557c9c66ddb878872337ca (diff)
parent5d5a4d466ed6530fa8b68162e96bdaaaf35066e1 (diff)
downloadpuppet-stdlib-4c695ede384501b9c516cc53bdfc6b547a6e5ea2.tar.gz
puppet-stdlib-4c695ede384501b9c516cc53bdfc6b547a6e5ea2.tar.bz2
Merge branch 'pull-115' into 2.x
-rw-r--r--lib/puppet/parser/functions/str2bool.rb5
-rw-r--r--spec/unit/puppet/parser/functions/str2bool_spec.rb7
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