summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrien Thebo <git@somethingsinistral.net>2013-03-18 15:38:14 -0700
committerAdrien Thebo <git@somethingsinistral.net>2013-03-18 15:38:14 -0700
commit6dfd7f6b73c4f9437058609f43d0065d52e36494 (patch)
treeaa5f372f5fcf14a7e272b7939f82f4f217578d90
parent5a11279cc54e7f9f5d168c75728f990d0bd0b694 (diff)
parent2c1b2c07c2d09464377cbde7b21952c99877751c (diff)
downloadpuppet-stdlib-6dfd7f6b73c4f9437058609f43d0065d52e36494.tar.gz
puppet-stdlib-6dfd7f6b73c4f9437058609f43d0065d52e36494.tar.bz2
Merge branch '4.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 0509c2b..fece7a6 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