diff options
author | Adrien Thebo <git@somethingsinistral.net> | 2013-03-18 15:37:56 -0700 |
---|---|---|
committer | Adrien Thebo <git@somethingsinistral.net> | 2013-03-18 15:37:56 -0700 |
commit | c0a0682706ccc1ed8c927c5529c08ffe2a7a4a5e (patch) | |
tree | 82b093297dfec93464ee11ccebc16a4d7cf17216 | |
parent | c12d3d7d51da4107f5e0b63aacc4fcb2c5923a0b (diff) | |
parent | 4c695ede384501b9c516cc53bdfc6b547a6e5ea2 (diff) |
Merge branch '2.x' into 3.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 |