Suggest different variables to use if we want to tunnel both v4 and v6
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / acceptance / is_domain_name_spec.rb
1 require 'spec_helper_acceptance'
2
3 describe 'is_domain_name function' do
4   describe 'success' do
5     pp1 = <<-DOC
6       $a = ['aaa.com','bbb','ccc']
7       $o = is_domain_name($a)
8       notice(inline_template('is_domain_name is <%= @o.inspect %>'))
9     DOC
10     it 'is_domain_names arrays' do
11       apply_manifest(pp1, :catch_failures => true) do |r|
12         expect(r.stdout).to match(%r{is_domain_name is false})
13       end
14     end
15
16     pp2 = <<-DOC
17       $a = true
18       $o = is_domain_name($a)
19       notice(inline_template('is_domain_name is <%= @o.inspect %>'))
20     DOC
21     it 'is_domain_names true' do
22       apply_manifest(pp2, :catch_failures => true) do |r|
23         expect(r.stdout).to match(%r{is_domain_name is false})
24       end
25     end
26
27     pp3 = <<-DOC
28       $a = false
29       $o = is_domain_name($a)
30       notice(inline_template('is_domain_name is <%= @o.inspect %>'))
31     DOC
32     it 'is_domain_names false' do
33       apply_manifest(pp3, :catch_failures => true) do |r|
34         expect(r.stdout).to match(%r{is_domain_name is false})
35       end
36     end
37
38     pp4 = <<-DOC
39       $a = "3foo-bar.2bar-fuzz.com"
40       $b = true
41       $o = is_domain_name($a)
42       if $o == $b {
43         notify { 'output correct': }
44       }
45     DOC
46     it 'is_domain_names strings with hyphens' do
47       apply_manifest(pp4, :catch_failures => true) do |r|
48         expect(r.stdout).to match(%r{Notice: output correct})
49       end
50     end
51
52     pp5 = <<-DOC
53       $a = "-bar.2bar-fuzz.com"
54       $b = false
55       $o = is_domain_name($a)
56       if $o == $b {
57         notify { 'output correct': }
58       }
59     DOC
60     it 'is_domain_names strings beginning with hyphens' do
61       apply_manifest(pp5, :catch_failures => true) do |r|
62         expect(r.stdout).to match(%r{Notice: output correct})
63       end
64     end
65
66     pp6 = <<-DOC
67       $a = {'aaa'=>'www.com'}
68       $o = is_domain_name($a)
69       notice(inline_template('is_domain_name is <%= @o.inspect %>'))
70     DOC
71     it 'is_domain_names hashes' do
72       apply_manifest(pp6, :catch_failures => true) do |r|
73         expect(r.stdout).to match(%r{is_domain_name is false})
74       end
75     end
76   end
77   describe 'failure' do
78     it 'handles improper argument counts'
79     it 'handles non-arrays'
80   end
81 end