]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/stdlib/spec/unit/puppet/parser/functions/flatten_spec.rb
upgrade to concat 2.0.0
[dsa-puppet.git] / modules / stdlib / spec / unit / puppet / parser / functions / flatten_spec.rb
1 #!/usr/bin/env rspec
2 require 'spec_helper'
3
4 describe "the flatten 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("flatten").should == "function_flatten"
15   end
16
17   it "should raise a ParseError if there is less than 1 arguments" do
18     lambda { @scope.function_flatten([]) }.should( raise_error(Puppet::ParseError))
19   end
20
21   it "should flatten a complex data structure" do
22     result = @scope.function_flatten([["a","b",["c",["d","e"],"f","g"]]])
23     result.should(eq(["a","b","c","d","e","f","g"]))
24   end
25
26   it "should do nothing to a structure that is already flat" do
27     result = @scope.function_flatten([["a","b","c","d"]])
28     result.should(eq(["a","b","c","d"]))
29   end
30
31 end