c20e373d70866336e55921595c46da1cf2ac9e69
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / aliases / windowspath_spec.rb
1 require 'spec_helper'
2
3 if Puppet::Util::Package.versioncmp(Puppet.version, '4.5.0') >= 0
4   describe 'test::windowspath', type: :class do
5     describe 'valid handling' do
6       %w{
7         C:\\
8         C:\\WINDOWS\\System32
9         C:/windows/system32
10         X:/foo/bar
11         X:\\foo\\bar
12         \\\\host\\windows
13         X:/var/ůťƒ8
14         X:/var/ネット
15       }.each do |value|
16         describe value.inspect do
17           let(:params) {{ value: value }}
18           it { is_expected.to compile }
19         end
20       end
21     end
22
23     describe 'invalid path handling' do
24       context 'garbage inputs' do
25         [
26           nil,
27           [ nil ],
28           [ nil, nil ],
29           { 'foo' => 'bar' },
30           { },
31           '',
32           "httds://notquiteright.org",
33           "/usr2/username/bin:/usr/local/bin:/usr/bin:.",
34           "C;//notright/here",
35           "C:noslashes",
36           "C:ネット",
37           "C:ůťƒ8"
38         ].each do |value|
39           describe value.inspect do
40             let(:params) {{ value: value }}
41             it { is_expected.to compile.and_raise_error(/parameter 'value' expects a match for Stdlib::Windowspath/) }
42           end
43         end
44       end
45     end
46   end
47 end