@@ -34,11 +34,43 @@ def validate(model)
34
34
expect ( validate ( fqn ( '::_aa' ) . var ( ) ) ) . to_not have_issue ( Puppet ::Pops ::Issues ::ILLEGAL_VAR_NAME )
35
35
end
36
36
37
- it 'produces a warning for duplicate keyes in a literal hash' do
38
- acceptor = validate ( parse ( '{ a => 1, a => 2 }' ) )
39
- expect ( acceptor . warning_count ) . to eql ( 1 )
40
- expect ( acceptor . error_count ) . to eql ( 0 )
41
- expect ( acceptor ) . to have_issue ( Puppet ::Pops ::Issues ::DUPLICATE_KEY )
37
+ context 'with the default settings for --strict' do
38
+ it 'produces a warning for duplicate keyes in a literal hash' do
39
+ acceptor = validate ( parse ( '{ a => 1, a => 2 }' ) )
40
+ expect ( acceptor . warning_count ) . to eql ( 1 )
41
+ expect ( acceptor . error_count ) . to eql ( 0 )
42
+ expect ( acceptor ) . to have_issue ( Puppet ::Pops ::Issues ::DUPLICATE_KEY )
43
+ end
44
+ end
45
+
46
+ context 'with --strict set to warning' do
47
+ before ( :each ) { Puppet [ :strict ] = :warning }
48
+ it 'produces a warning for duplicate keyes in a literal hash' do
49
+ acceptor = validate ( parse ( '{ a => 1, a => 2 }' ) )
50
+ expect ( acceptor . warning_count ) . to eql ( 1 )
51
+ expect ( acceptor . error_count ) . to eql ( 0 )
52
+ expect ( acceptor ) . to have_issue ( Puppet ::Pops ::Issues ::DUPLICATE_KEY )
53
+ end
54
+ end
55
+
56
+ context 'with --strict set to error' do
57
+ before ( :each ) { Puppet [ :strict ] = :error }
58
+ it 'produces an error for duplicate keyes in a literal hash' do
59
+ acceptor = validate ( parse ( '{ a => 1, a => 2 }' ) )
60
+ expect ( acceptor . warning_count ) . to eql ( 0 )
61
+ expect ( acceptor . error_count ) . to eql ( 1 )
62
+ expect ( acceptor ) . to have_issue ( Puppet ::Pops ::Issues ::DUPLICATE_KEY )
63
+ end
64
+ end
65
+
66
+ context 'with --strict set to off' do
67
+ before ( :each ) { Puppet [ :strict ] = :off }
68
+ it 'produces an error for duplicate keyes in a literal hash' do
69
+ acceptor = validate ( parse ( '{ a => 1, a => 2 }' ) )
70
+ expect ( acceptor . warning_count ) . to eql ( 0 )
71
+ expect ( acceptor . error_count ) . to eql ( 0 )
72
+ expect ( acceptor ) . to_not have_issue ( Puppet ::Pops ::Issues ::DUPLICATE_KEY )
73
+ end
42
74
end
43
75
44
76
context 'for non productive expressions' do
0 commit comments