Update puppetlabs/stdlib module
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / unit / puppet / parser / functions / is_absolute_path_spec.rb
1 require 'spec_helper'
2
3 describe 'is_absolute_path' do
4   let(:scope) { PuppetlabsSpec::PuppetInternals.scope }
5
6   let(:function_args) do
7     []
8   end
9
10   let(:function) do
11     scope.function_is_absolute_path(function_args)
12   end
13
14   describe 'validate arity' do
15     let(:function_args) do
16       [1, 2]
17     end
18
19     it 'raises a ParseError if there is more than 1 arguments' do
20       -> { function }.should(raise_error(ArgumentError))
21     end
22   end
23
24   it 'exists' do
25     Puppet::Parser::Functions.function(subject).should == "function_#{subject}"
26   end
27
28   # help enforce good function defination
29   it 'contains arity' do
30   end
31
32   it 'raises a ParseError if there is less than 1 arguments' do
33     -> { function }.should(raise_error(ArgumentError))
34   end
35
36   describe 'should retrun true' do
37     let(:return_value) do
38       true
39     end
40
41     describe 'windows' do
42       let(:function_args) do
43         ['c:\temp\test.txt']
44       end
45
46       it 'returns data' do
47         function.should eq(return_value)
48       end
49     end
50
51     describe 'non-windows' do
52       let(:function_args) do
53         ['/temp/test.txt']
54       end
55
56       it 'returns data' do
57         function.should eq(return_value)
58       end
59     end
60   end
61
62   describe 'should return false' do
63     let(:return_value) do
64       false
65     end
66
67     describe 'windows' do
68       let(:function_args) do
69         ['..\temp\test.txt']
70       end
71
72       it 'returns data' do
73         function.should eq(return_value)
74       end
75     end
76
77     describe 'non-windows' do
78       let(:function_args) do
79         ['../var/lib/puppet']
80       end
81
82       it 'returns data' do
83         function.should eq(return_value)
84       end
85     end
86   end
87 end