nugrant 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -1
- data/lib/nugrant/bag.rb +46 -2
- data/lib/nugrant/version.rb +1 -1
- data/test/lib/nugrant/test_bag.rb +106 -49
- data/test/lib/nugrant/test_parameters.rb +47 -45
- data/test/resources/vagrantfiles/v2.bag_inside_array +15 -0
- data/test/resources/vagrantfiles/v2.fake +19 -5
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59d03f3a6d570c597abc17133e4d68782e455cc0
|
4
|
+
data.tar.gz: f0d3558fa09f660559cbdd283d84b2b845a16d69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f85374f9ff849c110f185558d2594355c5636037472ec278697b544aa5ee0ed1c7c0d869cb43f42d6d78895388444407fe2037e1e7c4d33586deb545c132ccb
|
7
|
+
data.tar.gz: 22761919a1b509bef418fd2993641d7f2b7d43ae9807bd58bd2d278af43a632665812a28236717c3f7c53bbcfbc25cc1514380d73bb0ba7ab6d67f415d4d9db0
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,17 @@
|
|
1
|
+
# 2.1.2 (January 12th, 2015)
|
2
|
+
|
3
|
+
* Fixed indifferent access inside arrays. Array elements of type `Hash`
|
4
|
+
are now converted to `Bag` instances (recursively). This fix the
|
5
|
+
indifferent access of `Bag` elements inside arrays.
|
6
|
+
|
7
|
+
Fixes [issue #27](https://github.com/maoueh/nugrant/issues/27).
|
8
|
+
|
1
9
|
# 2.1.1 (December 2nd, 2014)
|
2
10
|
|
3
11
|
* Permit numeric keys in bag. They are converted to symbol
|
4
12
|
like others.
|
5
13
|
|
6
|
-
Fixes [issue #26](https://github.com/maoueh/nugrant/issues/26)
|
14
|
+
Fixes [issue #26](https://github.com/maoueh/nugrant/issues/26).
|
7
15
|
|
8
16
|
* Removed old code that was switching YAML engine to `syck` when
|
9
17
|
it was available.
|
data/lib/nugrant/bag.rb
CHANGED
@@ -142,7 +142,7 @@ module Nugrant
|
|
142
142
|
|
143
143
|
Hash[map do |key, value|
|
144
144
|
key = use_string_key ? key.to_s() : key
|
145
|
-
value = value
|
145
|
+
value = __convert_value_to_hash(value, options)
|
146
146
|
|
147
147
|
[key, value]
|
148
148
|
end]
|
@@ -178,11 +178,55 @@ module Nugrant
|
|
178
178
|
# ensures at the same time a deeply preventive copy since a new
|
179
179
|
# instance is created for this nested structure.
|
180
180
|
#
|
181
|
+
# In addition, it also transforms array elements of type Hash into
|
182
|
+
# Bag instance also. This enable indifferent access inside arrays
|
183
|
+
# also.
|
184
|
+
#
|
181
185
|
# @param value The value to convert to bag if necessary
|
182
186
|
# @return The converted value
|
183
187
|
#
|
184
188
|
def __convert_value(value)
|
185
|
-
|
189
|
+
case
|
190
|
+
# Converts Hash to Bag instance
|
191
|
+
when value.kind_of?(Hash)
|
192
|
+
Bag.new(value, @__config)
|
193
|
+
|
194
|
+
# Converts Array elements to Bag instances if needed
|
195
|
+
when value.kind_of?(Array)
|
196
|
+
value.map(&self.method(:__convert_value))
|
197
|
+
|
198
|
+
# Keeps as-is other elements
|
199
|
+
else
|
200
|
+
value
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
##
|
205
|
+
# This function does the reversion of value conversion to Bag
|
206
|
+
# instances. It transforms Bag instances to Hash (using to_hash)
|
207
|
+
# and array Bag elements to Hash (using to_hash).
|
208
|
+
#
|
209
|
+
# The options parameters are pass to the to_hash function
|
210
|
+
# when invoked.
|
211
|
+
#
|
212
|
+
# @param value The value to convert to hash
|
213
|
+
# @param options The options passed to the to_hash function
|
214
|
+
# @return The converted value
|
215
|
+
#
|
216
|
+
def __convert_value_to_hash(value, options = {})
|
217
|
+
case
|
218
|
+
# Converts Bag instance to Hash
|
219
|
+
when value.kind_of?(Bag)
|
220
|
+
value.to_hash(options)
|
221
|
+
|
222
|
+
# Converts Array elements to Hash instances if needed
|
223
|
+
when value.kind_of?(Array)
|
224
|
+
value.map { |value| __convert_value_to_hash(value, options) }
|
225
|
+
|
226
|
+
# Keeps as-is other elements
|
227
|
+
else
|
228
|
+
value
|
229
|
+
end
|
186
230
|
end
|
187
231
|
|
188
232
|
def __get(key)
|
data/lib/nugrant/version.rb
CHANGED
@@ -5,39 +5,10 @@ require 'nugrant/helper/bag'
|
|
5
5
|
|
6
6
|
module Nugrant
|
7
7
|
class TestBag < ::Minitest::Test
|
8
|
-
def create_bag(elements, options = {})
|
9
|
-
return Bag.new(elements, options)
|
10
|
-
end
|
11
|
-
|
12
|
-
def assert_all_access_equal(expected, bag, key)
|
13
|
-
assert_equal(expected, bag.method_missing(key.to_sym), "bag.#{key.to_sym}")
|
14
|
-
assert_equal(expected, bag[key.to_s], "bag[#{key.to_s}]")
|
15
|
-
assert_equal(expected, bag[key.to_sym], "bag[#{key.to_sym}]")
|
16
|
-
end
|
17
|
-
|
18
|
-
def assert_all_access_bag(expected, bag, key)
|
19
|
-
assert_bag(expected, bag.method_missing(key.to_sym))
|
20
|
-
assert_bag(expected, bag[key.to_s])
|
21
|
-
assert_bag(expected, bag[key.to_sym])
|
22
|
-
end
|
23
|
-
|
24
|
-
def assert_bag(expected, bag)
|
25
|
-
assert_kind_of(Bag, bag)
|
26
|
-
|
27
|
-
expected.each do |key, expected_value|
|
28
|
-
if not expected_value.kind_of?(Hash)
|
29
|
-
assert_all_access_equal(expected_value, bag, key)
|
30
|
-
next
|
31
|
-
end
|
32
|
-
|
33
|
-
assert_all_access_bag(expected_value, bag, key)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
8
|
def run_test_bag(parameters)
|
38
9
|
bag = create_bag(parameters)
|
39
10
|
|
40
|
-
|
11
|
+
assert_bag_equal(parameters, bag)
|
41
12
|
end
|
42
13
|
|
43
14
|
def test_bag()
|
@@ -101,18 +72,46 @@ module Nugrant
|
|
101
72
|
def test_to_hash()
|
102
73
|
hash = create_bag({}).to_hash()
|
103
74
|
|
104
|
-
|
75
|
+
assert_is_hash_exclusive(hash)
|
105
76
|
assert_equal({}, hash)
|
106
77
|
|
107
78
|
hash = create_bag({"value" => {:one => "value", "two" => "value"}}).to_hash()
|
108
79
|
|
109
|
-
|
110
|
-
|
80
|
+
assert_is_hash_exclusive(hash)
|
81
|
+
assert_is_hash_exclusive(hash[:value])
|
111
82
|
assert_kind_of(String, hash[:value][:one])
|
112
83
|
assert_kind_of(String, hash[:value][:two])
|
113
84
|
assert_equal({:value => {:one => "value", :two => "value"}}, hash)
|
114
85
|
end
|
115
86
|
|
87
|
+
def test_to_hash_array_with_bag()
|
88
|
+
hash = create_bag({:a => [{:b => "1", :c => [{"d" => "2"}]}]}).to_hash()
|
89
|
+
|
90
|
+
assert_is_hash_exclusive(hash)
|
91
|
+
assert_kind_of(Array, hash[:a])
|
92
|
+
assert_is_hash_exclusive(hash[:a][0])
|
93
|
+
assert_kind_of(String, hash[:a][0][:b])
|
94
|
+
assert_kind_of(Array, hash[:a][0][:c])
|
95
|
+
assert_is_hash_exclusive(hash[:a][0][:c][0])
|
96
|
+
assert_kind_of(String, hash[:a][0][:c][0][:d])
|
97
|
+
|
98
|
+
assert_equal({:a => [{:b => "1", :c => [{:d => "2"}]}]}, hash)
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_to_hash_array_with_bag_string_key()
|
102
|
+
hash = create_bag({:a => [{:b => "1", :c => [{"d" => "2"}]}]}).to_hash(use_string_key: true)
|
103
|
+
|
104
|
+
assert_is_hash_exclusive(hash)
|
105
|
+
assert_kind_of(Array, hash["a"])
|
106
|
+
assert_is_hash_exclusive(hash["a"][0])
|
107
|
+
assert_kind_of(String, hash["a"][0]["b"])
|
108
|
+
assert_kind_of(Array, hash["a"][0]["c"])
|
109
|
+
assert_is_hash_exclusive(hash["a"][0]["c"][0])
|
110
|
+
assert_kind_of(String, hash["a"][0]["c"][0]["d"])
|
111
|
+
|
112
|
+
assert_equal({"a" => [{"b" => "1", "c" => [{"d" => "2"}]}]}, hash)
|
113
|
+
end
|
114
|
+
|
116
115
|
def test_merge_array_replace()
|
117
116
|
# Replace should be the default case
|
118
117
|
bag1 = create_bag({"first" => [1, 2]})
|
@@ -168,16 +167,16 @@ module Nugrant
|
|
168
167
|
|
169
168
|
assert_equal({:first => {:second => [3, 4]}, :third => "three"}, bag1.to_hash())
|
170
169
|
|
171
|
-
|
172
|
-
|
170
|
+
assert_indifferent_access_equal({:second => [3, 4]}, bag1, :first)
|
171
|
+
assert_indifferent_access_equal([3, 4], bag1["first"], :second)
|
173
172
|
end
|
174
173
|
|
175
174
|
def test_set_a_slot_with_a_hash_keeps_indifferent_access
|
176
175
|
bag1 = create_bag({})
|
177
176
|
bag1["first"] = {:second => [1, 2]}
|
178
177
|
|
179
|
-
|
180
|
-
|
178
|
+
assert_indifferent_access_equal({:second => [1, 2]}, bag1, :first)
|
179
|
+
assert_indifferent_access_equal([1, 2], bag1["first"], :second)
|
181
180
|
end
|
182
181
|
|
183
182
|
def test_nil_key()
|
@@ -217,7 +216,7 @@ module Nugrant
|
|
217
216
|
def test_numeric_keys_converted_to_string
|
218
217
|
bag1 = create_bag({1 => "value1"})
|
219
218
|
|
220
|
-
|
219
|
+
assert_indifferent_access_equal("value1", bag1, :'1')
|
221
220
|
end
|
222
221
|
|
223
222
|
def test_custom_key_error_handler
|
@@ -243,7 +242,7 @@ module Nugrant
|
|
243
242
|
"Some value"
|
244
243
|
end)
|
245
244
|
|
246
|
-
|
245
|
+
assert_indifferent_access_equal("Some value", bag, :invalid_value)
|
247
246
|
end
|
248
247
|
|
249
248
|
def test_walk_bag
|
@@ -304,11 +303,11 @@ module Nugrant
|
|
304
303
|
|
305
304
|
assert_equal(Nugrant::Bag, bag3.class)
|
306
305
|
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
306
|
+
assert_indifferent_access_equal("value1", bag3['first'], :level1)
|
307
|
+
assert_indifferent_access_equal("overriden2", bag3['first'], :level2)
|
308
|
+
assert_indifferent_access_equal("value3", bag3['second'], :level1)
|
309
|
+
assert_indifferent_access_equal("value4", bag3['second'], :level2)
|
310
|
+
assert_indifferent_access_equal("overriden5", bag3, :third)
|
312
311
|
end
|
313
312
|
|
314
313
|
def test_merge!
|
@@ -342,11 +341,11 @@ module Nugrant
|
|
342
341
|
|
343
342
|
assert_equal(Nugrant::Bag, bag3.class)
|
344
343
|
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
344
|
+
assert_indifferent_access_equal("value1", bag3['first'], :level1)
|
345
|
+
assert_indifferent_access_equal("overriden2", bag3['first'], :level2)
|
346
|
+
assert_indifferent_access_equal("value3", bag3['second'], :level1)
|
347
|
+
assert_indifferent_access_equal("value4", bag3['second'], :level2)
|
348
|
+
assert_indifferent_access_equal("overriden5", bag3, :third)
|
350
349
|
end
|
351
350
|
|
352
351
|
def test_merge_hash()
|
@@ -389,5 +388,63 @@ module Nugrant
|
|
389
388
|
|
390
389
|
assert_equal([1, 2, 3, 1, 2, 3], bag3['first'])
|
391
390
|
end
|
391
|
+
|
392
|
+
def test_indifferent_access_in_array
|
393
|
+
bag = create_bag({:a => [{:b => 1, :c => [{"d" => 1}]}]})
|
394
|
+
|
395
|
+
assert_indifferent_access_equal(1, bag['a'][0]['c'][0], :d)
|
396
|
+
end
|
397
|
+
|
398
|
+
## Helpers & Assertions
|
399
|
+
|
400
|
+
def create_bag(elements, options = {})
|
401
|
+
return Bag.new(elements, options)
|
402
|
+
end
|
403
|
+
|
404
|
+
def assert_is_hash_exclusive(input)
|
405
|
+
assert_equal(true, input.kind_of?(Hash), "#{input} should be a kind of Hash")
|
406
|
+
assert_equal(false, input.kind_of?(Bag), "#{input} should not be a kind of Bag")
|
407
|
+
end
|
408
|
+
|
409
|
+
def assert_indifferent_access_equal(expected, bag, key)
|
410
|
+
assert_symbol_access_equal(expected, bag, key)
|
411
|
+
assert_string_access_equal(expected, bag, key)
|
412
|
+
end
|
413
|
+
|
414
|
+
def assert_string_access_equal(expected, bag, key)
|
415
|
+
assert_equal(expected, bag[key.to_s], "bag[#{key.to_s}]")
|
416
|
+
end
|
417
|
+
|
418
|
+
def assert_symbol_access_equal(expected, bag, key)
|
419
|
+
assert_equal(expected, bag.method_missing(key.to_sym), "bag.#{key.to_sym}")
|
420
|
+
assert_equal(expected, bag[key.to_sym], "bag[#{key.to_sym}]")
|
421
|
+
end
|
422
|
+
|
423
|
+
def assert_indifferent_access_bag_equal(expected, bag, key)
|
424
|
+
assert_string_access_bag_equal(expected, bag, key)
|
425
|
+
assert_symbol_access_bag_equal(expected, bag, key)
|
426
|
+
end
|
427
|
+
|
428
|
+
def assert_string_access_bag_equal(expected, bag, key)
|
429
|
+
assert_bag_equal(expected, bag[key.to_s])
|
430
|
+
end
|
431
|
+
|
432
|
+
def assert_symbol_access_bag_equal(expected, bag, key)
|
433
|
+
assert_bag_equal(expected, bag.method_missing(key.to_sym))
|
434
|
+
assert_bag_equal(expected, bag[key.to_sym])
|
435
|
+
end
|
436
|
+
|
437
|
+
def assert_bag_equal(expected, bag)
|
438
|
+
assert_kind_of(Bag, bag)
|
439
|
+
|
440
|
+
expected.each do |key, expected_value|
|
441
|
+
if not expected_value.kind_of?(Hash)
|
442
|
+
assert_indifferent_access_equal(expected_value, bag, key)
|
443
|
+
next
|
444
|
+
end
|
445
|
+
|
446
|
+
assert_indifferent_access_bag_equal(expected_value, bag, key)
|
447
|
+
end
|
448
|
+
end
|
392
449
|
end
|
393
450
|
end
|
@@ -10,51 +10,6 @@ module Nugrant
|
|
10
10
|
@@FORMATS = [:json, :yaml]
|
11
11
|
@@INVALID_PATH = "impossible_file_path.yamljson.impossible"
|
12
12
|
|
13
|
-
def create_parameters(format, current_filename, user_filename, system_filename, defaults = {}, options = {})
|
14
|
-
extension = case format
|
15
|
-
when :json
|
16
|
-
"json"
|
17
|
-
when :yml, :yaml
|
18
|
-
"yml"
|
19
|
-
else
|
20
|
-
raise ArgumentError, "Format [#{format}] is currently not supported"
|
21
|
-
end
|
22
|
-
|
23
|
-
resource_path = File.expand_path("#{File.dirname(__FILE__)}/../../resources/#{format}")
|
24
|
-
|
25
|
-
current_path = "#{resource_path}/#{current_filename}.#{extension}" if current_filename
|
26
|
-
user_path = "#{resource_path}/#{user_filename}.#{extension}" if user_filename
|
27
|
-
system_path = "#{resource_path}/#{system_filename}.#{extension}" if system_filename
|
28
|
-
|
29
|
-
return Nugrant::Parameters.new(defaults, {
|
30
|
-
:format => format,
|
31
|
-
:current_path => current_path,
|
32
|
-
:user_path => user_path,
|
33
|
-
:system_path => system_path,
|
34
|
-
:array_merge_strategy => options[:array_merge_strategy]
|
35
|
-
})
|
36
|
-
end
|
37
|
-
|
38
|
-
def assert_all_access_equal(expected, parameters, key)
|
39
|
-
assert_equal(expected, parameters.method_missing(key.to_sym), "parameters.#{key.to_s}")
|
40
|
-
assert_equal(expected, parameters[key.to_s], "parameters[#{key.to_s}]")
|
41
|
-
assert_equal(expected, parameters[key.to_sym], "parameters[#{key.to_sym}]")
|
42
|
-
end
|
43
|
-
|
44
|
-
def assert_level(parameters, results)
|
45
|
-
results.each do |key, value|
|
46
|
-
assert_all_access_equal(value, parameters, key)
|
47
|
-
end
|
48
|
-
|
49
|
-
assert_key_error(parameters, "0.0.0")
|
50
|
-
end
|
51
|
-
|
52
|
-
def assert_key_error(parameters, key)
|
53
|
-
assert_raises(KeyError) do
|
54
|
-
parameters[key]
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
13
|
def test_params_level_1()
|
59
14
|
formats.each do |format|
|
60
15
|
parameters = create_parameters(format, "params_current_1", "params_user_1", "params_system_1")
|
@@ -425,6 +380,53 @@ module Nugrant
|
|
425
380
|
assert_equal("value1", parameters.servers[:'1'])
|
426
381
|
end
|
427
382
|
|
383
|
+
## Helpers & Assertions
|
384
|
+
|
385
|
+
def create_parameters(format, current_filename, user_filename, system_filename, defaults = {}, options = {})
|
386
|
+
extension = case format
|
387
|
+
when :json
|
388
|
+
"json"
|
389
|
+
when :yml, :yaml
|
390
|
+
"yml"
|
391
|
+
else
|
392
|
+
raise ArgumentError, "Format [#{format}] is currently not supported"
|
393
|
+
end
|
394
|
+
|
395
|
+
resource_path = File.expand_path("#{File.dirname(__FILE__)}/../../resources/#{format}")
|
396
|
+
|
397
|
+
current_path = "#{resource_path}/#{current_filename}.#{extension}" if current_filename
|
398
|
+
user_path = "#{resource_path}/#{user_filename}.#{extension}" if user_filename
|
399
|
+
system_path = "#{resource_path}/#{system_filename}.#{extension}" if system_filename
|
400
|
+
|
401
|
+
return Nugrant::Parameters.new(defaults, {
|
402
|
+
:format => format,
|
403
|
+
:current_path => current_path,
|
404
|
+
:user_path => user_path,
|
405
|
+
:system_path => system_path,
|
406
|
+
:array_merge_strategy => options[:array_merge_strategy]
|
407
|
+
})
|
408
|
+
end
|
409
|
+
|
410
|
+
def assert_all_access_equal(expected, parameters, key)
|
411
|
+
assert_equal(expected, parameters.method_missing(key.to_sym), "parameters.#{key.to_s}")
|
412
|
+
assert_equal(expected, parameters[key.to_s], "parameters[#{key.to_s}]")
|
413
|
+
assert_equal(expected, parameters[key.to_sym], "parameters[#{key.to_sym}]")
|
414
|
+
end
|
415
|
+
|
416
|
+
def assert_level(parameters, results)
|
417
|
+
results.each do |key, value|
|
418
|
+
assert_all_access_equal(value, parameters, key)
|
419
|
+
end
|
420
|
+
|
421
|
+
assert_key_error(parameters, "0.0.0")
|
422
|
+
end
|
423
|
+
|
424
|
+
def assert_key_error(parameters, key)
|
425
|
+
assert_raises(KeyError) do
|
426
|
+
parameters[key]
|
427
|
+
end
|
428
|
+
end
|
429
|
+
|
428
430
|
def formats()
|
429
431
|
@@FORMATS
|
430
432
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Vagrant.configure("2") do |config|
|
2
|
+
config.user.defaults = {
|
3
|
+
nodes: [
|
4
|
+
{ip: '192.168.100.10'},
|
5
|
+
{ip: '192.168.100.11'}
|
6
|
+
]
|
7
|
+
}
|
8
|
+
|
9
|
+
config.user.nodes.each_with_index do |node, index|
|
10
|
+
puts "Node ##{index}, string: #{node['ip']}"
|
11
|
+
puts "Node ##{index}, symbol: #{node[:ip]}"
|
12
|
+
puts "Node ##{index}, method: #{node.ip}"
|
13
|
+
puts ""
|
14
|
+
end
|
15
|
+
end
|
@@ -2,14 +2,28 @@ Vagrant.configure("2") do |config|
|
|
2
2
|
config.user.defaults = {
|
3
3
|
'local' => {
|
4
4
|
'first' => "value1",
|
5
|
-
|
5
|
+
},
|
6
|
+
'array' => {
|
7
|
+
'level1' => [1, 2]
|
8
|
+
},
|
9
|
+
'application' => {
|
10
|
+
'users' => {
|
11
|
+
"joe" => {
|
12
|
+
:full => "Joe Plumber"
|
13
|
+
},
|
14
|
+
"jane" => {
|
15
|
+
:full => "Jane Cook"
|
16
|
+
},
|
17
|
+
}
|
6
18
|
}
|
7
19
|
}
|
8
20
|
|
9
|
-
config.user.
|
10
|
-
puts "
|
21
|
+
config.user.application.users.each do |key, data|
|
22
|
+
puts "Key #{key}: #{data}"
|
11
23
|
end
|
12
24
|
|
13
|
-
|
14
|
-
|
25
|
+
config.user.array_merge_strategy = :concat
|
26
|
+
config.user.auto_export = [:autoenv, :script]
|
27
|
+
|
28
|
+
config.vm.box = "opscode_centos-7.0_x86-64"
|
15
29
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nugrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthieu Vachon
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- test/resources/json/params_user_nil_values.json
|
105
105
|
- test/resources/json/params_windows_eol.json
|
106
106
|
- test/resources/vagrantfiles/v2.auto_export
|
107
|
+
- test/resources/vagrantfiles/v2.bag_inside_array
|
107
108
|
- test/resources/vagrantfiles/v2.defaults_mixed_string_symbols
|
108
109
|
- test/resources/vagrantfiles/v2.defaults_null_values_in_vagrantuser
|
109
110
|
- test/resources/vagrantfiles/v2.defaults_using_string
|