diff options
author | Adrien Thebo <git@somethingsinistral.net> | 2013-03-18 15:38:14 -0700 |
---|---|---|
committer | Adrien Thebo <git@somethingsinistral.net> | 2013-03-18 15:38:14 -0700 |
commit | 6dfd7f6b73c4f9437058609f43d0065d52e36494 (patch) | |
tree | aa5f372f5fcf14a7e272b7939f82f4f217578d90 | |
parent | 5a11279cc54e7f9f5d168c75728f990d0bd0b694 (diff) | |
parent | 2c1b2c07c2d09464377cbde7b21952c99877751c (diff) | |
download | puppet-stdlib-6dfd7f6b73c4f9437058609f43d0065d52e36494.tar.gz puppet-stdlib-6dfd7f6b73c4f9437058609f43d0065d52e36494.tar.bz2 |
Merge branch '4.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 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 |