]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/stdlib/spec/functions/num2bool_spec.rb
upgrade to stdlib 4.6.1
[dsa-puppet.git] / 3rdparty / modules / stdlib / spec / functions / num2bool_spec.rb
1 #! /usr/bin/env ruby -S rspec
2 require 'spec_helper'
3
4 describe "the num2bool function" do
5   let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
6
7   it "should exist" do
8     expect(Puppet::Parser::Functions.function("num2bool")).to eq("function_num2bool")
9   end
10
11   it "should raise a ParseError if there are no arguments" do
12     expect { scope.function_num2bool([]) }.to( raise_error(Puppet::ParseError))
13   end
14
15   it "should raise a ParseError if there are more than 1 arguments" do
16     expect { scope.function_num2bool(["foo","bar"]) }.to( raise_error(Puppet::ParseError))
17   end
18
19   it "should raise a ParseError if passed something non-numeric" do
20     expect { scope.function_num2bool(["xyzzy"]) }.to( raise_error(Puppet::ParseError))
21   end
22
23   it "should return true if passed string 1" do
24     result = scope.function_num2bool(["1"])
25     expect(result).to(be_truthy)
26   end
27
28   it "should return true if passed string 1.5" do
29     result = scope.function_num2bool(["1.5"])
30     expect(result).to(be_truthy)
31   end
32
33   it "should return true if passed number 1" do
34     result = scope.function_num2bool([1])
35     expect(result).to(be_truthy)
36   end
37
38   it "should return false if passed string 0" do
39     result = scope.function_num2bool(["0"])
40     expect(result).to(be_falsey)
41   end
42
43   it "should return false if passed number 0" do
44     result = scope.function_num2bool([0])
45     expect(result).to(be_falsey)
46   end
47
48   it "should return false if passed string -1" do
49     result = scope.function_num2bool(["-1"])
50     expect(result).to(be_falsey)
51   end
52
53   it "should return false if passed string -1.5" do
54     result = scope.function_num2bool(["-1.5"])
55     expect(result).to(be_falsey)
56   end
57
58   it "should return false if passed number -1" do
59     result = scope.function_num2bool([-1])
60     expect(result).to(be_falsey)
61   end
62
63   it "should return false if passed float -1.5" do
64     result = scope.function_num2bool([-1.5])
65     expect(result).to(be_falsey)
66   end
67 end