Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / type_aliases / absolute_path_spec.rb
1 require 'spec_helper'
2
3 if Puppet::Util::Package.versioncmp(Puppet.version, '4.5.0') >= 0
4   describe 'Stdlib::Compat::Absolute_path' do
5     describe 'valid paths handling' do
6       ['C:/', 'C:\\', 'C:\\WINDOWS\\System32', 'C:/windows/system32', 'X:/foo/bar', 'X:\\foo\\bar', '\\\\host\\windows', '//host/windows', '/', '/var/tmp', '/var/opt/../lib/puppet',
7        '/var/opt//lib/puppet', '/var/ůťƒ8', '/var/ネット'].each do |value|
8         describe value.inspect do
9           it { is_expected.to allow_value(value) }
10         end
11       end
12     end
13
14     describe 'invalid path handling' do
15       context 'with garbage inputs' do
16         [
17           nil,
18           [nil],
19           [nil, nil],
20           { 'foo' => 'bar' },
21           {},
22           '',
23         ].each do |value|
24           describe value.inspect do
25             it { is_expected.not_to allow_value(value) }
26           end
27         end
28       end
29
30       context 'with relative paths' do
31         ['relative1', '.', '..', './foo', '../foo', 'etc/puppetlabs/puppet', 'opt/puppet/bin', 'relative\\windows', '\\var\\ůťƒ8', '\\var\\ネット'].each do |value|
32           describe value.inspect do
33             it { is_expected.not_to allow_value(value) }
34           end
35         end
36       end
37     end
38   end
39 end