]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/stdlib/spec/unit/puppet/parser/functions/type_spec.rb
upgrade to concat 2.0.0
[dsa-puppet.git] / modules / stdlib / spec / unit / puppet / parser / functions / type_spec.rb
1 #!/usr/bin/env rspec
2 require 'spec_helper'
3
4 describe "the type function" do
5   before :all do
6     Puppet::Parser::Functions.autoloader.loadall
7   end
8
9   before :each do
10     @scope = Puppet::Parser::Scope.new
11   end
12
13   it "should exist" do
14     Puppet::Parser::Functions.function("type").should == "function_type"
15   end
16
17   it "should raise a ParseError if there is less than 1 arguments" do
18     lambda { @scope.function_type([]) }.should( raise_error(Puppet::ParseError))
19   end
20
21   it "should return string when given a string" do
22     result = @scope.function_type(["aaabbbbcccc"])
23     result.should(eq('string'))
24   end
25
26   it "should return array when given an array" do
27     result = @scope.function_type([["aaabbbbcccc","asdf"]])
28     result.should(eq('array'))
29   end
30
31   it "should return hash when given a hash" do
32     result = @scope.function_type([{"a"=>1,"b"=>2}])
33     result.should(eq('hash'))
34   end
35
36   it "should return integer when given an integer" do
37     result = @scope.function_type(["1"])
38     result.should(eq('integer'))
39   end
40
41   it "should return float when given a float" do
42     result = @scope.function_type(["1.34"])
43     result.should(eq('float'))
44   end
45
46   it "should return boolean when given a boolean" do
47     result = @scope.function_type([true])
48     result.should(eq('boolean'))
49   end
50
51 end