No backports for buster
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / aliases / absolutepath_spec.rb
1 require 'spec_helper'
2
3 if Puppet::Util::Package.versioncmp(Puppet.version, '4.5.0') >= 0
4   describe 'test::absolutepath', type: :class do
5     describe 'valid handling' do
6       %w{
7         /usr2/username/bin:/usr/local/bin:/usr/bin:.
8         C:/
9         C:\\
10         C:\\WINDOWS\\System32
11         C:/windows/system32
12         X:/foo/bar
13         X:\\foo\\bar
14         \\\\host\\windows
15         //host/windows
16         /var/tmp
17         /var/opt/../lib/puppet
18         /var/opt//lib/puppet
19       }.each do |value|
20         describe value.inspect do
21           let(:params) {{ value: value }}
22           it { is_expected.to compile }
23         end
24       end
25     end
26
27     describe 'invalid path handling' do
28       context 'garbage inputs' do
29         [
30           nil,
31           [ nil ],
32           [ nil, nil ],
33           { 'foo' => 'bar' },
34           { },
35           '',
36           "*/Users//nope",
37           "\\Users/hc/wksp/stdlib",
38           "C:noslashes",
39           "\\var\\tmp"
40         ].each do |value|
41           describe value.inspect do
42             let(:params) {{ value: value }}
43             it { is_expected.to compile.and_raise_error(/parameter 'value' expects a match for.*Variant/) }
44           end
45         end
46       end
47
48     end
49   end
50 end