X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Ftype_aliases%2Fabsolute_path_spec.rb;fp=3rdparty%2Fmodules%2Fstdlib%2Fspec%2Ftype_aliases%2Fabsolute_path_spec.rb;h=0e5564f45bc4c342ae6d280a15e2ab201038192b;hb=9dd86576df2182653f8e96f51f11c917341eb4ce;hp=0000000000000000000000000000000000000000;hpb=88887aa2a8ca345d6f79fccb336a9bb9ae8443a2;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/spec/type_aliases/absolute_path_spec.rb b/3rdparty/modules/stdlib/spec/type_aliases/absolute_path_spec.rb new file mode 100644 index 000000000..0e5564f45 --- /dev/null +++ b/3rdparty/modules/stdlib/spec/type_aliases/absolute_path_spec.rb @@ -0,0 +1,39 @@ +require 'spec_helper' + +if Puppet::Util::Package.versioncmp(Puppet.version, '4.5.0') >= 0 + describe 'Stdlib::Compat::Absolute_path' do + describe 'valid paths handling' do + ['C:/', 'C:\\', 'C:\\WINDOWS\\System32', 'C:/windows/system32', 'X:/foo/bar', 'X:\\foo\\bar', '\\\\host\\windows', '//host/windows', '/', '/var/tmp', '/var/opt/../lib/puppet', + '/var/opt//lib/puppet', '/var/ůťƒ8', '/var/ネット'].each do |value| + describe value.inspect do + it { is_expected.to allow_value(value) } + end + end + end + + describe 'invalid path handling' do + context 'with garbage inputs' do + [ + nil, + [nil], + [nil, nil], + { 'foo' => 'bar' }, + {}, + '', + ].each do |value| + describe value.inspect do + it { is_expected.not_to allow_value(value) } + end + end + end + + context 'with relative paths' do + ['relative1', '.', '..', './foo', '../foo', 'etc/puppetlabs/puppet', 'opt/puppet/bin', 'relative\\windows', '\\var\\ůťƒ8', '\\var\\ネット'].each do |value| + describe value.inspect do + it { is_expected.not_to allow_value(value) } + end + end + end + end + end +end